「今回のプロジェクトは、ウォーターフォール(Waterfall)型で進めましょう」
契約前の打ち合わせで、PM(プロジェクトマネージャー)が真剣な顔で言いました。私は「ウォーターフォール……? 滝……? 滝修行でもするのかな? 精神論の話?」と、水しぶきを浴びる自分を想像していました。
とりあえず 「はい、滝のように激しく頑張ります!」 と気合を入れてみましたが、相手からは「……あ、開発の手順の話ですよ」と苦笑いされ、またしても用語の直訳で恥をかくことに……。
実は「ウォーターフォール」は、日本のシステム開発で最も古くから使われている、王道の「進め方」のことです。今回は、 「巨大なビルの建設現場」 に例えて、その正体をやさしく解説します!
ウォーターフォールとは? 一言でいうと「上から下へ一方向に進む『一発勝負の開発』」
結論から言うと、ウォーターフォール開発とは、「システム開発の工程をいくつかの段階に分け、前の工程が完全に終わってから次の工程へ進む、後戻りしない手法」 のことです。
高いところから水が落ちる 「滝」 に例えてみましょう。
- 要件定義:どんな滝(システム)にするか決める。
- 設計:滝の設計図を書く。
- 開発:実際に滝(プログラム)を作る。
- テスト:水がちゃんと流れるか確認する。
水が一度上から下に落ちたら、下から上へは戻れませんよね? ウォーターフォールも同じです。「開発」まで進んだ後に、「やっぱり設計図から変えたい!」と思っても、戻るのが非常に大変(コストがかかる)なのが特徴です。
その代わり、最初にゴールや予算をカッチリ決めて進めるため、「いつまでに、いくらで完成するか」が見えやすいというメリットがあります。
ビジネスの現場でウォーターフォールという言葉が出る場面
予算の確定や、大規模な基幹システムの構築シーンで必ず登場します。
1. 「金融系のシステムだから、確実なウォーターフォールで進めよう」
意味:
「1円のミスも許されない大事なシステムだから、途中で『やっぱりこうしよう』なんて適当なことをせず、最初の設計図通りに慎重に一歩ずつ進めようね」ということです。
2. 「ウォーターフォールだから、途中の仕様変更は追加費用がかかるよ」
意味:
「すでに滝の水が落ち始めている(開発が進んでいる)から、今さら上流に戻って設計を変えるなら、ものすごい手間と人手が必要になるから、その分のお金は払ってね」ということです。
3. 「このスケジュールなら、ウォーターフォールの方が進捗管理しやすいね」
意味:
「『今は設計の何パーセント終わった』とはっきり言える進め方だから、期日に間に合うかどうかを数字で管理しやすくて助かるよ」ということです。
ウォーターフォールとアジャイルの違い
今の時代、よく比較される「アジャイル」との違いを整理しました。
| 比較ポイント | ウォーターフォール | アジャイル |
|---|---|---|
| 進め方 | 最初に全部決める | 作りながら考える |
| 柔軟性 | 低い(戻れない) | 高い(いつでも直せる) |
| 期間 | 数ヶ月〜数年(長い) | 数週間(短い)を繰り返す |
| たとえ話 | 巨大なビルの建設 | 屋台の新メニュー開発 |
「失敗が許されない巨大なもの」を作るならウォーターフォール、「早く出して改善し続けたい」ならアジャイル、という使い分けがなされます。
まとめ
この記事のポイントは次のとおりです。
- ウォーターフォールは、工程を順番に一つずつ終わらせる進め方
- 「滝」のように上から下へ流れるため、後戻りは苦手
- 予算や納期がはっきりしやすく、大規模開発に向いている
今すぐできる確認方法
あなたの職場のプロジェクトが、どちらのスタイルか探ってみましょう。
- 分厚い設計書 が最初に用意されて、印鑑を押して進めていたら、それはウォーターフォールです。
- 開発が始まってから 「あ、やっぱりここ変えて」 と言ったときに、周りの空気が凍りついたら、それはウォーターフォールです。
- 逆に、毎週のように新しい画面が出来上がってきて、どんどん直していたら、それはアジャイルかもしれません。
「ウォーターフォール」という言葉を知るだけで、IT業界の「仕事の文化」が少しだけ理解できるようになりますよ。