ウォーターフォールモデルとは、システム開発を複数の工程へ分割し、上流から下流へ順番に進めていくソフトウェア開発モデルです。
たとえるなら、設計図を完成させてから家を建てる方法に近い考え方です。
家を建てながら、
「やっぱり3階建てにしたい」
「玄関を反対側にしたい」
「柱の位置を全部変えたい」
と変更すると、大きな工事になります。
システム開発でも同じです。
要件定義で決めるべき内容が曖昧なまま実装やテストまで進むと、プログラムだけではなく設計書、データベース、テスト仕様などにも変更が広がる可能性があります。
IPAも、要件定義に抜け・漏れ・曖昧さがある場合、後の設計・開発工程で手戻りコストが大きくなると説明しています。
代表的な流れを単純化すると、次のようになります。