平成30年度 春期 ITパスポート試験 公開問題 問54 解説 開発要員と修正コスト
一般的なウォータフォールモデルで開発を行うプロジェクトにおいて,プロジェクトの経過とともに必要となる要員の数と,変更や間違いが発生したときに訂正作業に掛かる1件当たりのコストについて図にしたもののうち,適切な組合せはどれか。
- ア ✓ 正答
- イ
- ウ
- エ
解説
この問題は、ウォータフォールモデルにおける「プロジェクトの進捗とリソース(人・金)」の関係性を理解しているかを問うものです。正解は、要員の数が図a、訂正コストが図bとなっている選択肢アです。
要員の数は、プロジェクトの開始直後と終了間際は少なく、設計から実装、テストへと進む開発のピーク時期に最も多くなるという山形の曲線(図a)を描きます。
一方、修正コストについては、プロジェクトの後ろにいくほど増大するという知識が不可欠です。開発の初期(要件定義や設計)で見つかったミスであれば書類の修正だけで済みますが、後半(テスト工程など)になってミスが見つかると、プログラムの書き直しだけでなく、すでに関係各所に伝わっている設計書の修正や、場合によっては根本的な要件の見直しが必要となり、影響範囲が広がるためです。この様子をあらわす指数関数的な増加曲線が図bとなります。
これらの概念は、ソフトウェア開発における「手戻り」の重要性を説く際によく使われます。開発現場では「上流工程でミスを潰すことが、全体のコスト抑制につながる」と言われますが、これはまさに本問で示した図bの理論に基づいています。
もし図cのように後半に行くほどコストが下がるのであれば、わざわざ上流工程で慎重に検討する必要がなくなってしまいますし、図dのように一定であれば、どのタイミングでバグを見つけても同じ損害で済むことになってしまいます。現実には、後工程であればあるほど修正の難易度が高まるため、図bのような傾向になることを押さえておきましょう。
この問題は、ウォータフォールモデルの特性や開発工程の管理に関する分野で頻出します。特にプロジェクトマネジメントの観点からは、「なぜ早期発見が重要なのか」という論理的根拠としてこのグラフの考え方が理解できているかが鍵となります。
- ソフトウェア開発工程における修正コストの概念(IBM Developer)