ウォーターフォールモデル
うぉーたーふぉーるもでる
English: Waterfall Model
意味
ウォーターフォールモデルとは、システム開発の工程を「要件定義」「設計」「実装」「テスト」「運用」といった段階に分割し、滝(Waterfall)の水が上から下へ流れるように、一つの工程が完了してから次の工程へ進む開発手法のこと。
概要
システム開発の工程を、滝の水が上から下へ落ちるように、「要件定義」→「外部設計」→「内部設計」→「実装(コーディング)」→「テスト」→「運用」と、順番に完了させていく手法。 winston W. Royceが1970年に論文で示した概念が元になっています。
特徴
- 前工程の完了: 原則として、前の工程が完全に終わってお客様の承認(検収)を得るまで、次の工程に進みません。
- ドキュメント重視: 各工程で膨大な仕様書や設計書を作成し、それを正として次工程に進みます。
メリット
- 全体のスケジュールや予算の見積もりが立てやすい。
- 進捗管理がしやすく、受発注契約(請負契約)に馴染む。
- 人材計画(いつプログラマーを何人投入するか)が立てやすい。
致命的な欠点
「最初に全ての要件を完璧に決める」ことは現実には不可能です。 開発の後半になって「やっぱり画面のここを変えてほしい」と言われても、「それは設計からやり直しになるので無理です(または追加費用数千万円です)」となり、顧客満足度が下がったり、使いにくいシステムができあがったりします(デスマーチの原因)。 この反省から、変化に強い「アジャイル開発」が生まれました。