「この案件は、ウォーターフォールで進めます」
この説明を聞いた頃の私は、正直かなり曖昧に受け取っていました。
「名前は聞いたことありますが、要するに古いやり方ってことですか?」
すると先輩が言いました。
「古い新しいより、向いている案件が違うんだよ。最初に仕様を固めて、工程を順番に進めたいときは今でも強い」
この一言で、ウォーターフォールは時代遅れの言葉ではなく、進め方の型だと分かりました。
結論からいうと、ウォーターフォールは、工程を順番に固めながら、前の工程が終わってから次へ進む開発の進め方です。
ウォーターフォールとは? 一言でいうと「設計図どおりに建てる工事の進め方」
建物の工事をイメージすると分かりやすいです。
- 要件定義: どんな建物を作るか決める工程です。
- 設計: 設計図を書く工程です。
- 開発: 実際に形にする工程です。
- テスト: 予定どおり動くか確認する工程です。
基礎工事が終わってから柱を立て、柱が立ってから内装へ進むように、工程を上から順番に進めます。
途中で大きく仕様を変えると、前の工程に戻るコストが重くなります。その代わり、最初に合意した内容で進めやすいので、予算や納期を見積もりやすいのが強みです。
ビジネスシーンでの超リアルな使い方・例文
1. 「要件が固まっている案件なので、ウォーターフォールで進めましょう」
意味: 途中で大きく変わりにくい前提なので、最初に全体計画を作って順番に進めるということです。
裏にある本当の意味・意図: 変更前提で走るより、最初の合意どおりに管理しやすくしたいということです。
2. 「この段階での仕様変更は、ウォーターフォールだと影響が大きいです」
意味: すでに後ろの工程へ進んでいるので、前提を変えると手戻りが多いということです。
裏にある本当の意味・意図: 気軽な変更では済まないことを共有して、追加コストや再見積もりを避けて通れないと伝えたいということです。
3. 「進捗報告は、工程ごとの完了率で管理します」
意味: 今どの工程まで終わっているかを、段階ごとに見える化するということです。
裏にある本当の意味・意図: 曖昧な感覚ではなく、工程ベースで納期を管理したいということです。
絶対に覚えておくべき!「アジャイル」との違い
| 比較ポイント | ウォーターフォール | アジャイル |
|---|---|---|
| 進め方 | 最初に大きく決めて順番に進める | 小さく作って見直しながら進める |
| 変更への強さ | 低め | 高い |
| 例え話 | 設計図どおりに進める建物工事 | 試食しながら直す新メニュー開発 |
| 向いている案件 | 要件を固めやすい大規模案件 | 変化が多いWebサービスや新規機能 |
| 現場での見分け方 | 要件確定、工程表、承認フローの話が出る | スプリント、レビュー、優先順位変更の話が出る |
初心者向けには、ウォーターフォールは決めてから進む、アジャイルは作りながら学ぶと覚えると分かりやすいです。
よくある誤解
ウォーターフォールは古いから使わないほうがよいですか?
そうではありません。変更に弱い一方で、合意形成や予算管理を重視する案件には今でも向いています。
途中でまったく変更できないのですか?
変更はできます。ただし、進んだ工程を戻す分だけ影響とコストが大きくなりやすいです。
まとめ:明日からできる第一歩!
- ウォーターフォールは、工程を順番に固めながら、前の工程が終わってから次へ進む開発の進め方です。
- 要件が固まりやすい案件では、予算や納期を見通しやすい強みがあります。
- アジャイルとの違いは、変更前提かどうかにあります。
明日からできる第一歩は、プロジェクトの会話で「最初に仕様を固める前提か、途中で見直す前提か」を意識することです。進め方の違いがかなり見えやすくなります。
次に読むなら、アジャイルとは?、スクラムとは?、DevOpsとは? を続けて読むと、開発の進め方の違いが整理しやすくなります。