システム開発には色々な手法があります。今回はその中からメジャーな3種類を紹介します!
【本記事の信頼性】
この記事を書いている私は学生~社会人まででプログラミング歴9年ほど。
過去には、ITエンジニアの国家試験である「基本情報技術者試験」「応用情報技術者試験」にも合格しています。
システム開発手法の一覧
システム開発手法 | 説明 |
---|---|
ウォーターフォールモデル | 最も一般的な開発手法。要件定義~運用まで段階を踏んで開発する手法 |
プロトタイピングモデル | システム開発の早い段階で試作品を作成し、要件を確認しながら開発する手法 |
スパイラルモデル | ウォーターフォールモデルとプロトタイピングモデルを組み合わせたような開発手法 |
次に、それぞれの手法について図を使って詳しく説明します。
それぞれのシステム開発手法の詳細説明
ウォーターフォールモデル
要件定義~運用を上から下へ順番に作る最も一般的な開発手法です。
このモデルは、滝が上から下に流れ落ちるように後戻りしないことを前提として、各工程を順番に進める開発の手法です。
ウォーターフォールモデルのメリットは、スケジューリングや人員配置がやりやすいことです。
ウォーターフォールモデルのデメリットは、上位工程で誤りが発生した場合や要件に変更があった場合、手戻りが多くシステムの開発効率がとても低下することです。
プロトタイピングモデル
システム開発の早い段階で試作品を作成し、ユーザにシステムのイメージを確認した上で、開発をする手法です。
プロトタイピングモデルのメリットは、早い段階でユーザにシステムイメージを確認できるので、イメージ違いによる後戻りを少なくできるということです。
プロトタイピングモデルのデメリットは、試作品を作るのでその分開発工数が増えることと、開発会社の負担が大きいということです。
開発時間に余裕があってある程度小さいシステムの場合は有効かもしれませんが、開発時間が限られていて大きい開発には向かないモデルかもしれません。
スパイラルモデル
スパイラルモデルは、ウォーターフォールモデルとプロトタイピングモデルを組み合わせたような開発手法で、独立性の高いサブシステムや機能毎にウォーターフォールモデルで開発をし、完成したものをプロトタイプとしてユーザに確認し、ウォーターフォールモデルを反復しながら完成度を高めていく開発手法です。
スパイラルモデルのメリットは、ユーザに確認をしながら開発できるので、ユーザの要求が変わった場合も大きな手戻りが少なく、またユーザの要求にできる限り近いシステムを作ることができるということです。
スパイラルモデルのデメリットは、ユーザに確認しながら開発を進めるので、開発を開始した段階でシステムの全体像が掴みにくく、システム上の問題点が見えづらい。また、ユーザに確認しながら進めることで初期の要求に追加・変更が発生し、コスト・進捗管理がしにくくなります。
まとめ
今回は、システム開発手法として「ウォーターフォールモデル」「プロトタイピングモデル」「スパイラルモデル」の3種類についてそれぞれの特徴とメリット・デメリットを紹介しました。
実際の現場ではお客様の方針で開発手法が決まるので、こちらからどのモデルで開発するか選択することは少ないと思いますが、それぞれの開発手法の特徴を知っておくことで、プロジェクトの進め方やデメリットを理解しながら開発することができるので、是非覚えておいてください!