教科書で学ぶ古典的なソフトウェア開発モデル
定義ウォーターフォールモデルは、開発を複数の工程に区切り、前の工程を終えて確認してから次の工程へ移る形で、一方向に進める開発モデルである。
解説要件定義のように開発の初めに近い工程を上流工程、プログラミングやテストのように後の工程を下流工程と呼び、後の工程は前の工程の成果物(文書)を基に作業する。区切りが明確なため計画や進み具合を管理しやすいが、前の工程へ戻らないことを前提にしているので、途中の仕様変更には対応しにくい。上流の誤りが後で見つかり、前の工程へ戻ってやり直すことを手戻りという。
たとえ家を基礎、柱、屋根の順に建てるようなもの。屋根まで載せてから基礎の誤りに気付くと、やり直しが大がかりになる。
記憶フック英語の waterfall は「滝」。工程を階段状に並べて描くと、水が段々に落ちていく形に見える。