ウォーターフォール開発 は、要件定義 → 設計 → 実装 → テスト → リリースと、工程を順番に、上から下へ進めていく 伝統的な開発手法です。水が滝(waterfall)のように流れ落ちる様子が、名前の由来です。
flowchart TD A[要件定義] --> B[設計] B --> C[実装] C --> D[テスト] D --> E[リリース]
各工程を、原則として後戻りせず、きっちり完成させてから次へ進みます。この手法には、明確な長所があります。
- 計画が立てやすい … 全体像とスケジュールを、最初に描ける。
- 進捗が分かりやすい … 「いまどの工程か」が明確。
- 文書がそろう … 各段階の成果物が、きちんと残る。
一方で、弱点もあります。
- 後からの変更に弱い … 最初に固めるため、途中の仕様変更が大きな手戻りになる。
- 動くものが出てくるのが遅い … 最後のほうまで、実物を確認できない。
そのため、要件が最初から明確で変わりにくいシステム(大規模な基幹系など)に向きます。逆に、変化が多く、素早く試したい開発では、アジャイル が選ばれる傾向にあります。どちらが優れているというより、プロジェクトの性質に応じた使い分けが大切です。