
ウォーターフォールモデルは、プロジェクトを要件定義から運用までの連続した工程に分ける逐次型の開発モデルです。各工程は、前の工程が成果物を引き渡してから始まります。Winston W. Royce は 1970 年の IEEE WESCON でこの流れを 7 つのステップとして示し、その純粋な形を自ら「リスクが高い」と評しました。
ウォーターフォールモデルとは
ウォーターフォールモデルとは、プロジェクトが各工程を決まった順序で一度だけ通過する直線型の開発モデルです。ある工程の成果物が次の工程の入力になります。ガントチャートでは階段状の形になり、これがモデルの名前の由来です。
ウォーターフォールモデル は次の 4 つの要素で成り立っています。
- 工程:設計やテストのように、始まりと終わりがはっきりした段階。
- 成果物:要件定義書、設計書、テスト報告書など、各工程が引き渡すもの。
- マイルストーン:各工程の終わりに、発注者やプロジェクトリーダーが成果物を承認する時点。詳しくは用語集の プロジェクト管理におけるマイルストーン を参照してください。
- 終了 - 開始の依存関係:工程 2 は工程 1 が終わった時点で始まります。
ウォーターフォールモデルの起源は
ウォーターフォールモデルはソフトウェア工学から生まれました。Winston W. Royce は 1970 年の論文 Managing the Development of Large Software Systems(Proceedings IEEE WESCON、1970 年 8 月、1 から 9 ページ)でこのモデルを示しました。図 2 には、システム要件、ソフトウェア要件、分析、プログラム設計、コーディング、テスト、運用の 7 つのステップが描かれています。
Royce は、この純粋な順序を危険だと考えていました。図のすぐ下に「I believe in this concept, but the implementation described above is risky and invites failure」(この考え方は正しいが、上で述べた実施方法はリスクが高く、失敗を招く)と書いています。理由は、最後のテストが、システムが実際に動く最初の機会だからです。そこで設計の欠陥が見つかると、プロジェクトは振り出しに戻り、Royce によればスケジュールやコストが最大 100 パーセント超過します。
対策として、Royce は 5 つの追加策を勧めました。プログラム設計を先に行う、設計を文書化する、2 回作る(まず試作として)、テストを計画して監視する、顧客を正式に関与させる、の 5 つです。Royce 自身は「ウォーターフォール」という言葉を使っていません。現在わかっている範囲では、この言葉は 1976 年、Thomas E. Bell と T. A. Thayer が第 2 回 International Conference on Software Engineering で発表した論文に初めて登場し、そこで Royce が引用されています。
ウォーターフォールモデルの工程は
ウォーターフォールモデルは、実務ではたいてい 6 つの工程で構成されます。要件定義、設計、実装、テスト、導入、保守です。Royce は 7 つのステップを区別していましたが、教科書ではシステム要件とソフトウェア要件をまとめることが多くあります。重要なのは、各工程が引き渡す成果物です。
| 工程 | 成果物 | 工程の終わりのマイルストーン |
|---|---|---|
| 1 要件定義 | 要件定義書:システムは何をすべきか | 要件定義書の承認 |
| 2 設計 | 設計書とアーキテクチャ:どう作るか | 設計の承認 |
| 3 実装 | 完全に動作するシステム | コードフリーズ |
| 4 テスト | テスト報告書、修正済みの欠陥 | 受け入れ完了 |
| 5 導入 | 導入済みのシステム、研修を受けた利用者 | 本番稼働 |
| 6 保守 | 運用中の不具合修正とアップデート | 契約終了または置き換え |
ウォーターフォール型プロジェクトの具体例
あるソフトウェア会社が、不動産デベロッパー向けに顧客ポータルを開発します。購入者はそこで内装の仕様や工事日程を確認できます。デベロッパーは固定価格で発注し、要件は契約前に確定しています。本番稼働までの期間は 18 週間です。
ウォーターフォール型で進める顧客ポータル
6 工程、5 マイルストーン、すべての工程を終了 - 開始で接続
この例の 3 つの数字から、モデルの性質がわかります。
- 遅延:デベロッパーの要件定義書の承認が 1 週間遅れると、本番稼働は第 18 週から第 19 週にずれます。すべての工程がクリティカルパス上にあるため、どの遅れも終了日を押し出します。
- 工程の比重:実装は 18 週間のうち 8 週間(44 パーセント)、テストは 3 週間(17 パーセント)にすぎません。
- 手戻り:第 15 週のテストで設計の欠陥が見つかると、チームは設計(3 週間)、実装(8 週間)、テスト(3 週間)をやり直します。合計 14 週間で、本番稼働は第 18 週から第 32 週へ、78 パーセント遅れます。これこそ Royce が警告したリスクです。
ウォーターフォール型プロジェクトのテンプレートはあるか
あります。Merlin Project には、マイルストーン付きの工程型プロジェクトを表す無料テンプレートが 2 つあります。テンプレート ソフトウェア開発 は、開発プロジェクトを評価、構想、仕様、開発、テスト、納品の各フェーズに分け、「仕様確定」のような判断のマイルストーンでフェーズを区切ります。テンプレート 戸建て住宅 は、同じ考え方を基本計画から躯体工事までの工程表に当てはめています。
Merlin Project 用ウォーターフォールテンプレート
このテンプレートには、開発プロジェクトの典型的なフェーズと、その間のマイルストーンが入っています。ファイルをダウンロードし、不要なフェーズを削除して、自分のアクティビティを追加してください。テンプレートはドイツ語、英語、スペイン語、フランス語で用意されています。
Merlin Project を使わずに始める場合は、例の構成を表として写してください。各行がアクティビティまたはマイルストーンになり、「先行」列が終了 - 開始の依存関係を表します。
| 番号 | アクティビティ | 種類 | 期間 | 先行 |
|---|---|---|---|---|
| 1 | 要件の収集 | アクティビティ | 3 週間 | なし |
| 2 | 要件定義書の承認 | マイルストーン | 0 | 1 |
| 3 | 設計と設計書の作成 | アクティビティ | 3 週間 | 2 |
| 4 | 設計の承認 | マイルストーン | 0 | 3 |
| 5 | 実装 | アクティビティ | 8 週間 | 4 |
| 6 | コードフリーズ | マイルストーン | 0 | 5 |
| 7 | システムテストと受け入れテスト | アクティビティ | 3 週間 | 6 |
| 8 | 受け入れ完了 | マイルストーン | 0 | 7 |
| 9 | 導入と研修 | アクティビティ | 1 週間 | 8 |
| 10 | 本番稼働 | マイルストーン | 0 | 9 |
| 11 | 保守 | アクティビティ | 継続 | 10 |
ウォーターフォールモデルが向いている案件、向いていない案件
ウォーターフォールモデルが向いているのは、要件が開始前に確定し、実施中にほとんど変わらない案件です。典型例は建設、行政の許認可が必要なプロジェクト、固定価格の契約です。住宅では、構造上ほかの順序がありえないため、屋根は壁の後に来ます。

ウォーターフォールが向いている場合
- 発注者とチームが、開始前に要件を文書で確定できる
- 行政、監査、契約が、決まった時点での承認を求める
- 固定価格または固定の期日が合意されている
- 物理的な依存関係が順序を決める(基礎の後に壁)
ウォーターフォールが向いていない場合
- 要件が利用者のフィードバックから生まれる
- チームが早い段階で動く途中版を見せる必要がある
- プロジェクト中に市場や技術が変わる
- 上の例のように、遅いテストが高くつく手戻りにつながる
ウォーターフォール、アジャイル、ハイブリッドの違いは
ウォーターフォールはプロジェクト全体を前もって計画し、最後に納品します。Scrum などのアジャイル手法は短いサイクルで計画し、サイクルごとに使える成果を届けます。ハイブリッド型プロジェクト管理は両方を組み合わせ、工程とマイルストーンを枠組みにして、工程の中ではアジャイルに作業します。
| 観点 | ウォーターフォール | アジャイル(Scrum など) | ハイブリッド |
|---|---|---|---|
| 計画 | 開始前にプロジェクト全体 | スプリントごと、最長 1 か月 | 工程は事前、タスクは工程ごと |
| 変更 | 正式な変更要求で対応 | バックログでいつでも | 工程の範囲内で |
| 顧客の関与 | マイルストーンで | スプリントレビューごとに | マイルストーンとレビューで |
| 納品 | 最後に 1 回 | スプリントごと | 工程またはリリースごと |
| 代表的な表示 | ガントチャート | かんばんボード | ガントとかんばんを連動 |
チームがこの組み合わせをどう作るかは、ハイブリッド型プロジェクト管理 の記事で解説しています。
Merlin Project でウォーターフォール型プロジェクトを計画する
Merlin Project は、ウォーターフォールの構造を作業分割の表示で扱います。左がアウトライン、右が ガントチャート です。例を再現する手順は次のとおりです。
- 表示 > 作業分割 > エントリー を開き、各工程をグループとして作成します。Ctrl+Cmd+→ でアクティビティを工程の下にインデントします。
- 挿入 > マイルストーン(Cmd+Alt+M)で、各工程の終わりにマイルストーンを置きます。ガントチャートではひし形で表示されます。
- 工程とマイルストーンを順番どおりに選択し、構造 > リンク > 終了 - 開始(Ctrl+Cmd+L)を選びます。Merlin Project は選択した項目を順に結びます。
- 表示 > クリティカルパスを表示 で、本番稼働日を決める連鎖を強調します。
- 承認した日に、その日付をプロジェクト設定の 基準日 フィールドに入力します。以後、予定と実際の比較 (時間) の表示が、このベースプランとのずれをすべて示します。
作業分割の工程とマイルストーン
Merlin のドキュメントの例は、3 つの工程で進めるオフィス移転です。各グループの後にマイルストーンがあり、ガントチャートの矢印が終了 - 開始の依存関係を示しています。
追加の手順なしでベースプラン
Merlin Project は、プロジェクトの履歴をすべて書類の中に保存します。そのため、ベースプランを手作業で保存する必要はありません。基準日フィールドに日付を入れるだけで、グレイの参照バーがその時点で予定していた期間を示します。詳しくは 予定と実際の比較 のレッスンを参照してください。
実装の工程では、ハイブリッドのやり方が役立ちます。F2 で詳細表示を開き、そこでかんばんボードを選びます。上で工程を選択すると、下のボードにはその工程のアクティビティだけが表示されます。カードを「バックログ」から「完了」へドラッグすると、Merlin Project はアクティビティの進捗を 100 パーセントにし、ガントチャートのバーにもすぐ反映されます。
このブログ記事についてご質問やご意見がございましたら、ぜひフォーラムへのご投稿をお待ちしております。
よくある質問
ウォーターフォールモデルの具体例は?
要件が固まった顧客ポータルの開発です。要件定義(3 週間)、設計(3 週間)、実装(8 週間)、テスト(3 週間)、導入(1 週間)が順番に続きます。各工程は「要件定義書の承認」のようなマイルストーンで終わり、本番稼働は 18 週間後です。戸建て住宅の建設も同じ考え方で進みます。
ウォーターフォールモデルの工程は?
実務では多くの場合 6 つです。要件定義、設計、実装、テスト、導入、保守です。Winston W. Royce は 1970 年にシステム要件とソフトウェア要件を分けたため、7 つのステップを挙げました。各工程は要件定義書やテスト報告書のような検証可能な成果物を引き渡します。
ウォーターフォール型プロジェクトの無料テンプレートはありますか?
あります。Merlin Project 用テンプレート「ソフトウェア開発」には判断のマイルストーン付きのフェーズが、「戸建て住宅」には工程ごとの工程表が入っています。どちらもテンプレートのページから無料でダウンロードできます。Merlin Project は 30 日間無料で試せます。
ウォーターフォールモデルを考えたのは誰ですか?
この流れは Winston W. Royce にさかのぼります。Royce は 1970 年の論文「Managing the Development of Large Software Systems」で説明し、純粋な形はリスクが高いとして、フィードバックと試作を勧めました。「ウォーターフォール」という名前は、1976 年に Thomas E. Bell と T. A. Thayer が初めて使いました。
ウォーターフォールとアジャイルの違いは?
ウォーターフォールは開始前にプロジェクト全体を計画し、最後に 1 回納品します。Scrum などのアジャイル手法は最長 1 か月のスプリント(スクラムガイド 2020)で計画し、スプリントごとに納品します。ハイブリッド型は、ウォーターフォールの工程を枠組みにして、工程の中ではアジャイルに作業します。