問題 No.3038
ある製造業の企業が新しい受発注システムの開発を検討している。要件定義、外部設計、内部設計、プログラミング、テストの順に開発を進めるウォータフォール開発を採用した場合において、プロジェクトの後半であるテスト工程で致命的な仕様の誤りが発見されたときの一般的な影響として、最も適切なものはどれか。
【正解の解説】
上流工程の設計書やプログラムの修正が必要となるため、プロジェクト全体のスケジュール遅延や追加コストの発生リスクが高まる。
これは家を建てた後に「やっぱり2階に風呂が欲しい」と気づくようなもので、基礎や柱をすべて作り直す必要があるため膨大な時間と費用がかかります。ウォータフォール開発は、一度流れ落ちた水が上に戻らない滝のように、後から上流工程の変更をするのが非常に難しいという特性を持っています。
スポンサーリンク
【その他の選択肢の解説】
下流工程であるテスト工程の単体テスト仕様書のみの修正で済むため、プロジェクト全体の工数やコストへの影響は最小限に抑えられる。
初学者が陥りがちな罠として「テストの不具合はそのテストのやり方を変えれば直る」という誤解がありますが、今回は仕様の誤りです。建物で例えるなら、部屋の壁紙の色ではなく構造の設計ミスなので、テスト仕様書だけを直しても根本的な解決にはなりません。
アジャイル開発のフレームワークを適用して即座に仕様変更を行えるため、スケジュールへの影響を回避して予定通りに納品できる。
ウォータフォール開発は計画通りにきっちり進めることが前提であり、途中でルールや手法をガラリと変えると開発現場が大混乱に陥ります。硬いコンクリートが固まった後に、やっぱり粘土細工のように形を変えようとするようなもので、現実的にはスケジュール遅延をさらに悪化させる悪手となります。
要件定義工程まで遡って全体を白紙撤回し最初からやり直す必要があるため、プロジェクトの継続自体が不可能になるリスクが高まる。
「最初からやり直す=プロジェクトの消滅」と思い込んでしまう初学者が多いですが、実際には顧客や経営層と交渉し、追加の予算とスケジュールを確保した上で設計書を修正して立て直すケースがほとんどです。リスクは高いものの、即座に全社断念になるわけではない点に注意が必要です。