ウォータフォールモデルは、古くから利用されているシステム開発モデルで、ほとんどの開発プロジェクトでこのモデルが使用されるほど広く普及していました。 
このモデルは、ソフトウェアの各開発工程を上流から下流まで段階的に区切りながら、流れ落ちる滝のように見立てています。

ウォータフォールモデルは、原則的に手前の工程に遡ることができないので、以下のような特徴をもっております。

  • 開発工程を明確に区切って、各工程毎に厳密な確認と検証を行う
  • 各工程の成果物を文書にきちんと纏めて、そのアウトプットを次の工程のインプットにする

ウォータフォールモデルの利点は、管理と工数見積もりがやりやすいところです。

  • 開発管理がやりやすく、特に大規模なソフトウェア開発に適している
  • 工数見積もりがやりやすい、特に人月ベースの契約受注プロジェクトに適している
  • 業務コンサルタント、システムエンジニア、プログラマ、テスタによる分業体制が確立しているため、 参加者が担う役割は固定的で考える事が少ない
  • 要員の調達が比較的に容易に行えるため、特に労働集約型ビジネスモデルに適している

ウォータフォールモデルの欠点は、コストが高く品質管理がしにくいところです。

  • ソフトウェアの実物を見られるようになるまでの時間が長い
  • 設計と設計の成果物の検証とも机上レベルでしかできず、品質が担保しにくい
  • 問題の早期発見が難しく、遅れるほど解決のコストが大きくなる
  • 価値が少ないドキュメント作成にもやたら工数がかかる

このためウォータフォールモデルを採用するほとんどの開発プロジェクトでは、前工程の完了要件(要件定義局面であれば、要件定義書などの成果物の完成)を徹底して品質を高め、後戻りの発生率を可能な限り低下させるとともに、後戻りが発生する場合は変更管理によって公式に決定し、後戻りや横展開を確実にフォローするように工夫しております。