IPAのDX SQUAREでも、企画・要件定義・基本設計を上流工程として説明しています。
ウォーターフォールモデルでは、後工程が前工程の成果物を前提として進みます。
たとえば次のような要件を考えます。
「利用者はメールアドレスでログインできる」この要件から設計すると、
要件定義
「メールアドレスでログインする」
↓
設計
Userテーブルにメールアドレスを持たせる
↓
実装
認証処理を作る
↓
テスト
メールアドレスでログインできるか確認するという流れになります。
ところがテスト段階で、
「やっぱり社員番号でログインしたい」となるとどうでしょうか。
要件修正
↑
設計修正
↑
DB設計修正
↑
認証処理修正
↑
テスト仕様修正複数の成果物へ影響が広がります。
これが手戻りです。
上流工程の問題ほど後工程への影響範囲が大きくなりやすいため、要件定義や設計段階でレビューすることが重要になります。IPAも、要件定義の抜け・漏れ・曖昧さが後工程の手戻りコストを増加させると説明しています。
最初に要件や工程を整理するため、
などを比較的整理しやすくなります。
たとえば、