開発手法

ウォーターフォール開発 うぉーたーふぉーるかいはつ

ウォーターフォール工程管理要件定義設計フェーズシステム開発
ウォーターフォール開発について教えて

簡単に言うとこんな感じ!

水が上から下へ流れるように、「要件定義→設計→開発→テスト→リリース」を順番に進める開発手法だよ。前の工程が完全に終わってから次へ進むのが特徴で、建物を建てるのと同じイメージ。設計図が決まったら工事開始、完成したら引き渡し、って感じなんだ!


ウォーターフォール開発とは

ウォーターフォール開発(Waterfall Development) とは、プロジェクトを「要件定義 → 基本設計詳細設計 → 開発・実装 → テスト → リリース・移行」という固定した工程順に進める開発手法です。各工程の成果物を確認・承認してから次の工程に進むため、前工程への手戻りが少ない ことを前提としています。

ウォーターフォールの最大の特徴は、スコープ・コスト・スケジュールをプロジェクト開始前に固定できる ことです。これにより請負契約が結びやすく、「〇〇万円・〇月完成」という形で発注できます。発注者がシステム要件を明確に定義できる場合に向いています。

一方で「要件変更への対応が難しい」という弱点があります。テスト工程で問題が発覚すると、設計・実装まで遡る手戻りが発生し、コスト・納期への影響が大きくなります。発注者としては、要件定義フェーズに十分な時間とリソースを投入する ことが成功の鍵です。


各工程の概要

工程主な成果物発注者の関与
要件定義要件定義書・業務フロー図最重要。業務要件を詳細に伝える
基本設計(外部設計)画面設計書・DB設計書画面・帳票イメージのレビューが必要
詳細設計(内部設計)プログラム設計書開発者寄りの作業。確認はサマリーで可
開発・実装ソースコード進捗確認と変更要求の管理
テスト(結合・システム)テスト仕様書・テスト結果報告主要バグの確認と対応優先度の決定
ユーザー受入テスト(UAT)受入テスト仕様書・議事録発注者が実施。合否判定の責任あり
リリース・移行移行計画書・操作マニュアル本番切替タイミングと周知の調整

歴史と背景

  • 1956年: ハーバート・ベニントンがソフトウェア開発の工程分離を論文で発表(ウォーターフォールの原型)
  • 1970年: ウィンストン・ロイスが論文「Managing the Development of Large Software Systems」でウォーターフォールモデルを記述。ただし論文内では「欠陥のあるモデル」として批判的に言及
  • 1970〜80年代: 米国国防総省の開発標準(DOD-STD-2167)に採用され、大規模プロジェクトで主流に
  • 1990年代: ウォーターフォールの限界(要件変更への弱さ)が顕在化し、アジャイルへの関心が高まる
  • 2001年: アジャイルマニフェスト発表により、ウォーターフォールの代替として注目される
  • 現在: 要件が明確な公共系・金融系システムや、ベンダー間での請負契約ではウォーターフォールが依然主流

ウォーターフォールとアジャイルの使い分け

ウォーターフォール向き vs アジャイル向き ウォーターフォール向き ✔ 要件が最初から明確・固定されている ✔ 規制・法令に準拠が必要(公共・金融) ✔ 大規模で複数ベンダーが関与する ✔ 請負(固定価格)で契約したい ✔ 発注者がプロジェクトに深く関われない ✔ 移行・統合が一度だけ発生する 例:基幹系刷新・ERPパッケージ導入・ 官公庁システム・製造ラインシステム アジャイル向き ✔ 要件が変わりやすく・探索的である ✔ ユーザーの反応を見ながら開発したい ✔ 市場投入スピードが競争力に直結する ✔ 準委任・ラボ型で継続発注できる ✔ 発注者が毎スプリント参加できる ✔ 小さく始めてPDCAを回したい 例:新規Webサービス・スマホアプリ・ 社内DXツール・データ分析基盤

関連する規格・RFC

規格・番号内容
DOD-STD-2167A(1988)米国国防総省のソフトウェア開発標準。ウォーターフォールを採用
ISO/IEC/IEEE 12207ソフトウェアライフサイクルプロセスの国際標準
PMBOK 第7版(PMI)ウォーターフォール(予測型)とアジャイル(適応型)の両者を包含

関連用語