【うぉーたーふぉーるもでる】
ウォーターフォールモデル とは?
公開:
💡 滝のように上から下へ、一方通行で進む開発スタイル
要件定義→設計→実装→テスト→運用の各工程を順番に進めるソフトウェア開発手法。後戻りしにくい代わりに計画が立てやすい。
📌 このページのポイント
- 各工程を順番に完了させてから次に進む直線的な開発手法
- 計画やスケジュールが立てやすく、大規模プロジェクトや受託開発で多用される
- 後工程で問題が見つかると手戻りコストが大きいのが弱点
- アジャイル開発と対比されることが多いが、プロジェクトの性質に応じて使い分けが重要
ウォーターフォールって、滝のこと?開発と何の関係があるの?
いい質問だね。滝の水が上から下に流れ落ちるように、要件定義→設計→実装→テスト→運用と各工程を順番に進めていく開発手法のことだよ。一つの工程が終わってから次に進むのがポイントだね
順番に進めるって普通じゃないの?他にやり方があるの?
アジャイル開発は小さな単位で「設計→実装→テスト」を何度も繰り返すんだ。ウォーターフォールは最初に全体を計画して一気に作るイメージ。家を建てるときに設計図を完成させてから工事する感じだよ
じゃあウォーターフォールのほうがちゃんとしてそうだけど、なんで最近はアジャイルが人気なの?
ウォーターフォールは途中で「やっぱりこの機能変えたい」となったとき、もう完了した工程に戻るのが大変なんだ。変化が激しいWebサービスには向きにくい。でも要件がカッチリ決まっている組み込みシステムや官公庁の案件ではまだまだ現役だよ
使い分けが大事なんだね!
そのとおり。実は純粋なウォーターフォールだけ・アジャイルだけという現場は少なくて、両方を組み合わせた「ハイブリッド型」を採用する企業も増えているよ。手法はあくまで道具だから、プロジェクトに合ったものを選ぶのが一番大事だね
まとめ:ざっくりこれだけ覚えればOK!
「ウォーターフォール」って出てきたら「順番に一歩ずつ進む開発のやり方」と思えればだいたいOK!
📖 おまけ:英語の意味
「Waterfall Model」 = 滝型モデル
💬 工程が滝の水のように上から下へ一方向に流れていく様子からこの名前がついたんだよ