ビジネスサイドのための IT 用語集/開発手法・プロセス

ウォーターフォール開発とは

うぉーたーふぉーるかいはつ / Waterfall / ウォーターフォールモデル

要件定義、設計、実装、テストの工程を順に1回ずつ遂行し、前の工程を確定させてから次へ移行する開発の進め方です。何を開発するかを着手前に決め切れる案件向けで、途中の変更には追加の費用と期間がかかります。

ウォーターフォール開発

ウォーターフォール開発とは

システム開発を要件定義、設計、実装、テスト、リリースといった工程に分割し、上から順に1回ずつ遂行する進め方です。各工程の成果物を確定させ、発注側が承認してから次の工程に移行します。前の工程のやり直しは想定外の手戻りとみなします。

建物でいえば注文住宅の建て方に近いです。間取りと仕様を設計図で確定させてから着工し、着工後の間取り変更には追加の費用と工期がかかります。

なぜ採用されてきたか

工程を定めずに開発しながら修正していく進め方では、規模が拡大するほど、どこまでできたかと残りにいくらかかるかを把握できなくなります。複数の会社で分担すると、どこまでが誰の責任かの線も引けません。そこで開発を工程に区切り、各工程の成果物を承認してから次へ移行するようにしました。これで費用と納期を事前に見積もれ、工程ごとに成果物を受け渡せます。

国内の受託開発では今も主流の進め方です。IPA(情報処理推進機構)は、IT企業から集めた2016〜2021年度の開発プロジェクトのデータをソフトウェア開発分析データ集2022に収録しています。このデータでは進め方の回答があった約1,400件のうち97%をウォーターフォールが占めます。企業向けの受託開発に偏ったデータで、市場全体の比率は表していません。

効果

  • 着手前に範囲と費用、納期を見積もりやすく、予算の承認を得やすい
  • 工程ごとに成果物と承認者が確定し、発注側が関与する時期を予定に組み込める
  • 設計書と試験記録が保存されるため、監査への対応や、保守を別の会社へ引き継ぐときに活用できる
  • 工程の区切りで契約を分割でき、複数の会社が分担する開発でも責任の範囲を区分しやすい

コストとリスク

  • 全体を通した試験が後半に来るため、設計の誤りや性能の問題が終盤に発見されると、手戻りの費用と期間が増大する
  • 承認済みの工程のやり直しを伴う仕様変更には追加の費用と期間がかかる。変更を避けようとして、使いにくいと分かっている仕様のまま完成させることもある
  • 利用者が実際に触れるのは終盤になる。利用してみて初めて分かる不満は、リリース後の改修に回ることが多い
  • 複数の会社が階層的に分担すると、要件の解釈の違いが下流の工程まで発見されない
  • 発注側にも負担がかかる。要件定義で業務の詳細を決め切る担当者と、受入れテストで業務部門の時間を数週間単位で確保する必要がある
  • 設計書を作成し、承認し、更新し続ける手間がかかる。リリース後に設計書の更新が停滞すると、保守を引き継ぐときの価値が低下する
  • 設計書の更新と承認を改修ごとに経る運用では、小さな変更でもリリースまでに時間がかかる

判断の問い

社内ではウォーターフォールが標準。新しい案件もこのままウォーターフォールで進めてよいか?

何を開発するかが着手前に確定する案件なら、そのまま採用してかまいません。確定していない部分がある案件では、その部分だけ試作を確認しながら決定する進め方を組み合わせます。

ウォーターフォールのままでよいのは次のような案件です。

  • 既存システムの刷新で、今の機能をそのまま仕様の出発点にできる
  • 法改正や制度変更への対応で、要件が外部の条件で確定する
  • 他社や他システムとの接続仕様を事前に確定させる必要がある
  • リリース日を変更できない
  • 監査や規制のために設計書と試験記録を保管する必要がある

判断の目安は着手前に主要な画面、帳票、連携先の一覧を列挙し、業務部門がそれを承認できるかどうかです。列挙できない部分が全体の2〜3割を超える案件は、全体をウォーターフォールで確定させると、完成時に要件が業務の実態と一致しなくなっているリスクが高まります。期間が1年を超えて途中で事業の状況が変化しそうな案件も同じです。

組み合わせる場合は接続仕様や基幹の処理をウォーターフォールで確定させ、画面や操作性は試作を確認しながら反復して開発する形が珍しくありません。反復する部分では社内標準の工程ごとの承認を、区切りごとに試作を確認する場で代替します。

開発会社から一括請負のウォーターフォールで見積もりが来た。何を確認すればよいか?

要件定義が完了する前の金額は、確定額でなく幅のある概算とみなします。要件定義と開発は契約を分離し、開発の総額は要件定義の後に確定させます。IPAの情報システム・モデル取引・契約書も、工程ごとに個別の契約を結ぶ多段階契約を基本にしています。

見積もりとあわせて、次の点を確認します。

  • 見積もりの前提にした機能の一覧と、範囲外にしたもの
  • 仕様変更を誰が申し入れ、追加の費用と納期への影響を誰がいつ示し、誰が承認するかという変更の手続き
  • 各工程の完了時に発注側の誰が成果物を承認するか
  • 受入れテストに業務部門から何人を何週間投入する前提になっているか
  • 納品後に発見された不具合を無償で修正してもらえる期間と、その期間がいつ起算されるか

承認済みの工程のやり直しを伴う変更には、原則として追加の費用と期間がかかります。最初に確定した金額と納期が守られるのは、要件が着手前に確定し、途中で変更されない場合に限られます。

進捗報告は順調なのに、リリース直前に遅れが発覚しないか心配。早く見抜くにはどうすればよいか?

書類の完成度ではなく、動作するものと試験の結果で進捗を確認します。ウォーターフォールではシステム全体をつないだ試験を後半に実施するので、設計の誤りや性能の問題を終盤まで把握しにくいです。

  • 工程の完了は自己申告の進捗率でなく、承認済みの成果物で確認する。進捗率が9割前後のまま何週間も変化しなければ、遅れの兆候とみなす
  • 主要な機能を一通りつないで動作させる試作や、データ移行のリハーサルを、早期の計画に組み込んでもらう
  • 他システムとの接続試験を最後の工程に集中させず、相手側の試験環境を利用できる時期を発注側で早めに確保する

開発会社の報告会では未解決の課題の件数と、その増減を毎回確認します。課題の件数が減少しないまま工程だけが進行しているなら、問題は後半に一斉に発覚します。

公開日
2026.10.21
更新日
2026.10.21

お問合せ

事業の課題や技術的な悩みなどどんなことでもお聞かせください

お問合せ