ウォーターフォール開発かアジャイル開発か、手法の違いを理解しよう

ウォーターフォール開発は大規模開発向き

大規模開発向きのウォーターフォール開発

大規模開発向きのウォーターフォール開発

ウォーターフォール開発とは

要件定義、基本設計、詳細設計、システム実装、テストというのが基本的な開発工程になります。ウォーターフォール開発は、この工程をひとつひとつ順番に進めていきます。日本語で水が落ちるという意味のウォーターフォール開発ですが、開発を段階ごとにおこなうため前工程には戻れません。また、各工程ごとにレビューをしていくのもウォーターフォール開発の特徴です。しかし、要件定義がきちんとおこなわれていないと開発したかったものと違うものになる可能性があります。1970年頃にウォーターフォール開発が誕生しましたが、今もさまざまな現場で使われています。
ウォーターフォール開発はV字モデルと深い関わりがあります。開発工程とテスト工程をリンクさせたものがV字モデルです。V字の左が開発工程、右がテスト工程となり、工程ごとにテストをおこなうウォーターフォール開発との相性がよいです。V字モデルはウォーターフォール開発の上位互換ともいわれています。
大規模案件の場合は、アサインできる人員が限られるためスケジュール管理が難しくなります。開発の期間も長くなるので少しのズレが最終的には大きなズレになってしまいます。そのため仕様変更がないように入念に要件定義をしなければなりません。プロジェクトを要件定義通りに進めることができればリソース管理もやりやすくなります。こうした理由もあって大規模案件ではウォーターフォール開発が多用されています。また、高い品質を求められるプロジェクトにも向いています。

ウォーターフォール開発の手順

開発手順がシンプルでわかりやすいのがウォーターフォール開発の特徴です。システム開発にはたくさんの工程がありますが、上から順番に処理していくのがウォーターフォール開発となります。ウォーターフォール開発では最初に細かな仕様を決めてから開発をスタートさせます。ひとつひとつの工程を完了させながら次の工程に進み、前工程には戻らないことを前提にしています。こうして全ての工程がおわったら晴れてリリースされるのです。

ウォーターフォール開発を成功させるには

ウォーターフォール開発にはデメリットもあります。ウォーターフォール開発は仕様を決めてから開発をスタートさせるので、作りたいものがあらかじめ明確に決まっている必要があります。また、仕様変更は前提としていません。最初に全仕様を確定させるので問題が発生すると手戻りの負担が大きいです。よって、開発を開始する時点で要求が確定していなければなりません。

ウォーターフォール開発についてさらに理解を深めたい人は次の本がおすすめです。

おすすめ書籍【PMプロジェクトマネジメント】

よく読まれている記事一覧

  • アジャイル開発手法の種類と特徴 アジャイル開発手法の種類と特徴

    アジャイル開発には、複数の開発手法があります。プロジェクトの進捗やスケジュールの流れをスムーズにすることに重点を置くもの、開発サイクルを繰り返す中で計画を決めて、仕様変更時のコスト削減を重視するものなど、それぞれが特性を有しています。アジャイル開発を使いこなしたいのなら、まずこうした開発手法の種類と特徴を知ることが欠かせません。ここでは代表的な開発手法を取り上げているので、ぜひ確認してみてください。

  • ウォーターフォール開発とアジャイル開発の案件はある? ウォーターフォール開発とアジャイル開発の案件はある?

    フリーランスエンジニアの案件には、ウォーターフォール開発とアジャイル開発、どちらもあります。ウォーターフォール開発案件に多いのは、金融機関のATMや携帯キャリアのシステムなど、品質担保が重視される大規模プロジェクトです。このようなプロジェクトには大人数のエンジニアが必要です。一方、アプリケーション開発などの案件はアジャイル開発が増えています。今後はアジャイル開発経験のあるエンジニア需要も増えていくといわれています。

  • 大規模開発向きのウォーターフォール開発 大規模開発向きのウォーターフォール開発

    要件定義からテストまでの開発工程においてひとつずつ段階を踏んで進めていくシンプルな開発手法がウォーターフォール開発です。ひとつの工程を完了させて次の工程へ進むため、前の工程へ戻ることは想定していません。開発途中の仕様変更や機能追加には対応できず、軌道修正には大幅なスケジュール変更が必要になってしまいます。しかし、全体のスケジュールやリソース確保がしやすく、確実に開発を進めることができるため、仕様変更を前提としない大規模開発に適しています。