システム開発とは?工程、仕事、収入、人気ランキングまで解説!

「今期は、基幹システムを全面リニューアルしたい。そこで、そのプロジェクトを君に任せたい」。ある日上司の方からそんな言葉をかけられたら、どうすればいいのでしょうか?

まずはRFP(提案依頼書)を作成して数社のシステム会社に声をかけ、プレゼンしてもらいます。そしてその時の議事録を作成し社内で検討し、依頼業者を決定、価格交渉に入り、価格が決まったら発注します。そしていよいよ、そこから構築を開始します。

今やあらゆる業種、あらゆる職種に横断する形で、ITが浸透しています。特に競争力の高いサービスの立ち上げに、システム開発は欠かせません。つまり、システム開発に関する知見は、今やビジネスマンにとって必須の状況なのです。

そういった背景を踏まえて、本記事ではビジネスマン、経営者からコンサルティング企業やIT企業を志望する大学生まで、幅広い方々に理解してもらえるように解説しました。ご活用頂ければ、幸いです。

 

【目次】
1. システム開発とは
2. システム開発の4つのスタイル
2.1. ウォ―ターフォール型開発
2.2. アジャイル開発
2.3. プロトタイピング開発
2.4. スパイラルモデル
3.システム開発の流れ
3.1. 要件分析/要件定義
3.2. 外部設計(基本設計)
3.3. 内部設計(詳細設計)
3.4. プログラミング
3.5. テスト(単体テスト、総合テスト、運用テスト)
3.6. リリース
3.7. 運用・サポート
4.各職種と必要スキルと年収
4.1. セールスエンジニア
4.2. プロジェクトマネジャー(PM)
4.3. システムエンジニア(SE)
4.4. プログラマー(PG)
5.まとめ

 

1. システム開発とは

システム開発の“システム”とは、「いろんな要素が関係し合って、それらが一体化し、機能する系統」のことを指します。

実際には、ハードウェアとソフトウェアの組み合わせを指すことが多く、人事管理システム、顧客管理システム、物流管理システムなど様々なシステムの形態があります。システム開発に関わる職種としては、プロジェクトマネジャー(PM)、システムエンジニア(SE)、プログラマー(PG)などがあります。

 

2. システム開発の4つのスタイル

システム開発には、大きく4つのスタイルがあります。それぞれメリットとデメリットがあるので、ここではそれらを整理します。

2.1. ウォ―ターフォール型開発
ウォ―ターフォール型開発は、一番メジャーな開発手法です。「要件定義」から始まり、「リリース」まで時系列で作業を進めていきます。各工程が完了し承認されないと、次の工程には進みません。各工程ごとに成果物を残していく手法が、ウォーターフォール型開発です。

【メリット】
・メジャーな手法のため、プロジェクトに関わる人間に一から説明する必要がない
・この手法を経験している人材が多く、プロジェクトマーネジャーを確保しやすい
・各工程ごとに区切り、承認後に次の工程に進むため、工程ごとの成果物が確実に残り、進捗管理しやすい

【デメリット】
・想定外のニーズにより手戻りが発生した場合、予算超過や納期ずれにつながりやすい

 

2.2. アジャイル型開発
優先順位の高い部分からシステム開発できるのが、アジャイル型開発です。「アジャイル(Agile)」という言葉には、もともと「素早い」「頭の回転が速い」といった意味があり、そういったところから従来と比較して短期間で開発できるこの手法をアジャイル型開発と呼んでいるのです。

【メリット】
・顧客の優先順位の高い部分、もしくは要件が決まった順に開発に着手できる
・構築するシステムの全体像が決定していない状態でも、開発できる
・短期での納品が可能

【デメリット】
・計画性に欠けているため、大規模の開発には向いていない

 

2.3. プロトタイプ型開発
“プロトタイプ”とは、そもそもデモンストレーション用に問題点洗い出しのために設計された原型という意味です。そこからプロトタイプ型開発とは、将来修正することを想定した上でスピーディにシステムを完成させる開発手法です。システムの完成形が明確に決まっていない場合、まずは動作するシステムを構築し、随時修正していくプロトタイプ型開発は便利な手法です。

【メリット】
・システムの完成形が決まっていなくても、早くシステムを構築できる
・システムを作りながら、随時修正を加えることができる

【デメリット】
・そもそも最終形が決まっていないので、計画性に欠ける
・大規模なシステム構築には向いていない

 

2.4. スパイラルモデル
スパイラルモデルは、大規模なシステムの開発においてよく活用される手法です。

【メリット】
・修正ごとに、随時アップデートできる
・顧客の要望を随時取り入れていきながら開発できるので、顧客の満足度が高くなる

【デメリット】
・修正ごとに開発対応を実施するため、コストが膨れるリスクがある

 

3. システム開発の流れ

システム開発の流れは、以下になります。

3.1. 要件分析/要件定義
「顧客がどんなシステムを望んでいるのか」をヒアリングや資料収集を通じて、正確に把握します(要件分析)。顧客の現状とニーズを分析し、課題を設定した上で、課題を解決するためのシステムの全体像(ソフトウェア機能やハードウェア)を設計するのが要件定義です。

3.2. 外部設計(基本設計)
要件定義を文書化した要件定義書を顧客と共有し、開発するシステムの機能を決定します。ここで一番重要なのは、顧客企業のターゲットユーザーの満足度を追求するスタンスです。いくら高機能のシステムを構築しても、ユーザーに使ってもらえなければ、それは無用の長物です。ユーザー目線で、インターフェースデザインや機能の優先順位を設計することが、とても重要なのです。

3.3. 内部設計(詳細設計)
外部設計(基本設計)をベースに、SE(システムエンジニア)がシステム仕様書を作成します。この仕様書はいわば、「外部設計(基本設計)で要求されている動作を実現するために、どのパートはどのようなソースコードで書くべきか」というプログラマーへの指示書的な側面があります。ここでは、開発するシステムの機能実現に必要な構成力とプログラマーが気持ち良くプログラミングできる適切な指示の表現力が求められます。

3.4. プログラミング
SE(システムエンジニア)作成したシステム仕様書に沿って、プログラマーがプログラミングを行います。システム設計書で求められる動作を実現するために、どのようなソースコードを書けば良いのか、そこにプログラマーの腕が問われます。ちなみにクオリティの高いコードの特徴としては、「正確に動作する」「素早く、効率的に動作する」「保守性が高い」「無駄がなく、シンプルである」という点があります。

3.5. テスト(単体テスト、総合テスト、運用テスト)
プログラミングが完成すると、書かれたソースコードが正確に作動するかどうか、SE(システムエンジニア)がテストを実施します。不具合が完全になくなるまで、何回もテストを行い、システムを完成させます。

3.6. リリース
新たに開発したシステムに切り替える作業のことを、リリースといいます。リリースには2種類のスタイルがあり、一気に切り替える一斉移行と順次切り替える順次移行があります。

3.7. 運用・サポート
システム開発は、システム納品後も不具合の修正対応や機能追加対応をする必要があり、それが運用・サポートサービスになります。

 

4. システム開発に関わる職種と必要スキルと年収

システム開発には、様々な職種の人が関わります。それぞれが重要な役割を担当し、スムーズな連携とチームワークが質の高いシステムを構築する背景になります。システム開発にはどんな職種の人が関わるのか、その職種にはどんなスキルが求められるのか、年収はどれぐらいのレベルなのか、詳しく見ていきましょう。

4.1. セールスエンジニア
営業が受注し、顧客企業と最初にコミュニケーションを取るエンジニアが、セールスエンジニアです。営業職と技術職の交わる領域であり、一人二役的な職種ですので非常にヤリガイがあります。高い専門性が要求されるため、エンジニア出身の方が多いです。

◆必要スキル
・顧客のニーズをヒアリングし、システムに落とし込む力
・システムや技術、ソフトウェアについて、顧客にわかりやすく説明する力
・役立つ資格/ITパスポート、基本情報技術者
◆年収
・平均年収650万円前後

 

4.2. プロジェクトマネージャー(PM)
システム開発案件が実際に動き出すと、その統括はプロジェクトマネージャー(PM)が担当します。プロジェクトマネージャーは、プロジェクトの目標達成を意識しながら、“ヒト、モノ、カネ”といわれる人員、設備、予算、スケジュールを管理します。大規模なプロジェクトになると、システムエンジニア(SE)、プログラマー、インフラエンジニア、データベースエンジニア、ネットワークエンジニア、アプリケーションエンジニア、ミドルウェアエンジニアなど、関わるメンバー全員をマネジメントします。

◆必要スキル
・プロジェクトを管理し、スムーズに推進する力
・一緒に働くメンバーと円滑にコミュニケーションできる力
・システム設計書を作成する力
・各種プログラミング言語に関する知識
◆年収
・平均年収670万円前後

 

4.3. システムエンジニア(SE)
システムエンジニア(SE)は、システム開発の上流工程を担当します。具体的には、「要求分析・要件定義」「外部設計(基本設計)」「内部設計(詳細設計)」「テスト」を担当します。システムエンジニアは、システム開発のディレクターを担う重要な仕事です。

◆必要スキル
・顧客の課題をわかりやすく説明でき、またメンバーを上手くまとめるコミュニケーションする力
・システム開発に必要なプログラミング知識
・スケジュール管理等のマネジメント力
◆年収
・平均年収440万円前後

 

4.4. プログラマー(PG)
プログラマーは、システムエンジニア(SE)が作成した仕様書に沿ってコードを書きます。バグがなく、正確に動作するわかりやすいソースコードを書くことが求められます。プログラマーという仕事はITエンジニアの入り口的な存在で、システム開発の実践力を身に付けるには重要なポジションです。

◆必要スキル
・プログラミング言語に関する知識
→フロントエンド開発で使用するプログラミング言語/JavaScript
→iPhoneアプリ開発で使用するプログラミング言語/Swift、Objective-C
→Unityで使用するプログラミング言語/C#
→人工知能・機械学習で使用するプログラミング言語/Python
→ブロックチェーン・仮想通貨で使用するプログラミング言語/Solidity
・わかりやすいプログラミングのコードを書く力
◆年収
・平均年収385万円前後

ちなみに、ITエンジニアの各職種の35歳平均年収は以下になります。

 

5. まとめ

システム開発に関する知識は、今後ますます重要性が増すと思われます。人生を豊かに生きるためには、IT知識は欠かせません。そのためには、まず全体像を正確に把握し、自分と関わりのある分野はどこか、またそれは他のどの分野と連携しどのような機能を果たしているのかを理解する必要があります。

ITは一旦興味を持って勉強し始めると、非常に奥深い分野です。インターネットが発達した現在では様々なジャンルのナレッジサイトが充実しているので、独学でも知識とスキルをマスターできる環境が整っています。本サイトでも、わかりやすく理解できるコンテンツを拡充していく予定ですので、活用頂ければ幸いです。

 

※参考コンテンツ
【システム開発とは】
システム開発とは?業務内容・年収・スキル・仕事に就く方法まで解説
システム開発とは|業務管理を最適化するトータルサービス7選
【初心者向け】システム開発とは?業務内容~効果的な進め方まで徹底解説

【組み込みシステムとは】
組み込みシステム―Wikipedia
入門向け!組み込み開発のことをわかりやすく解説―FSI Embedded
組み込みシステムとは?|転職Q&A|20代・第二新卒・既卒向け転職エージェントのマイナビジョブ20’s

【ファンクションポイント法とは】
ファンクションポイント法(ふぁんくしょんぽいんとほう)
ファンクションポイント法|IT用語辞典|大塚商会
ファンクションポイント法―Wikipedia

カテゴリー
企画書用語集
おすすめ記事一覧