ITパスポート | テクノロジ系・開発手法

ウォーターフォールモデルとは?

滝のように上から下へ、工程を順番に進める開発手法。
一度下りたら上には戻れない——それが特徴であり、弱点でもある。

こんなシーンを想像
新しい業務システムの開発プロジェクト。プロジェクトマネージャーが「要件定義が終わったら設計、設計が終わったら実装、と順番に進めていきます」と説明している。
…この進め方、何モデルって呼ぶの?
ウォーターフォールモデルの工程 ① 要件定義 何を作るか・システムへの要求をまとめる ② 基本設計(外部設計) 画面・帳票など「外から見える設計」 ③ 詳細設計(内部設計) プログラム内部の処理を詳細に設計 ④ 実装(プログラミング) 設計書に基づきコードを書く ⑤ テスト 単体→結合→システム→受け入れテスト 原則 戻れない
ウォーターフォール vs アジャイル

ウォーターフォール

  • 工程を順番に進める
  • 要件が最初から確定
  • 計画通りに進めやすい
  • 途中変更が難しい
  • 大規模・要件明確なシステムに向く

アジャイル

  • 短い期間で繰り返し開発
  • 要件は変更を前提
  • 柔軟に変更できる
  • 計画が立てにくい
  • 要件が不明確・変化しやすい場合に向く
ひっかけ注意ポイント
「前工程に戻れる」は誤り
ウォーターフォールの最大の特徴は「原則として前工程に戻らない(戻りが困難)」こと。途中で仕様変更が発生すると大きなコスト・遅延になる。
スパイラルモデル・プロトタイプモデルとの混同
スパイラルは「リスク分析を繰り返しながら段階的に開発」。プロトタイプは「試作品を作って確認してから本番開発」。どちらも「戻る・繰り返す」要素がある点でウォーターフォールとは違う。
「要件変更が多い場合に向く」は誤り
ウォーターフォールは要件が最初から固まっている場合に向く。途中での変更対応が苦手なのが弱点。変更が多い場合はアジャイルが適切。
覚え方(無理やりゴロ)
「滝は登れない」 = ウォーターフォール!
ウォーター(水・滝)+フォール(落ちる)→ 上から順に落ちていく、戻れない

アジャイルは「ぐるぐる」(螺旋・繰り返し)
ウォーターフォールは「まっすぐ落ちる滝」
→ 一方向に進む = ウォーターフォール
ITパスポート 詳細解説 / HTML+SVG(文字はすべてテキスト)