工程を順番に進める・要件を初期に固める・後からの変更による手戻りが大きい
という3点を軸に覚えれば、アジャイルやプロトタイピングとの比較問題にも対応しやすくなります。
要件定義、設計、実装、テストなどの工程を、上流から下流へ順番に進める開発モデルです。
開発工程が上流から下流へ進んでいく様子を、上から下へ流れる滝に例えた名称です。
戻れます。
ただし後工程まで進んだ後で上流工程を変更すると、設計・コード・テストなど複数箇所へ変更が波及する可能性があります。そのため、前工程を十分に確認してから次へ進むことを重視します。
後工程で要件や設計の問題が発覚した場合、手戻りが大きくなりやすいことです。IPAも要件定義の抜けや曖昧さが後工程の手戻りコスト増加につながると説明しています。
ウォーターフォールは全体の要件や仕様を初期に整理して段階的に進める考え方です。
アジャイルは短いサイクルで開発・確認を繰り返し、機能や優先順位の変更を取り込みながら進めることを重視します。IPAも両者をこの観点から区別しています。