平成21年度 秋期 ITパスポート試験 問48 解説 開発工程と修正費用
システム開発における,エラーを検出した時期とその不具合の修正にかかる対応費用の関係を最も適切に示したグラフはどれか。
- ア ✓ 正答
- イ
- ウ
- エ
解説
システム開発において、エラー(バグ)の修正にかかる費用は、開発の工程が進めば進むほど増大します。この原則に従い、横軸を時間の経過(設計から運用へ)、縦軸を対応費用としたときに、右肩上がりの曲線を描くグラフを選ぶのが正解です。したがって、選択肢アが適切です。
なぜ後工程になるほど費用が増えるのか
システム開発は、設計図を書き、プログラムを作り、テストをし、運用するという一連の流れで行われます。初期の設計段階でエラーが見つかれば、設計書を修正するだけで済みます。しかし、すでにプログラムが完成し、テストが終わり、実際にユーザーが使っている運用段階でエラーが見つかると、状況は一変します。
運用段階での修正には、以下の作業が伴うため、多大なコストがかかります。
- 影響範囲の調査:修正によって他の機能が壊れないか、広範囲を確認する必要があります。
- 設計・プログラム・テストの再実行:設計書に戻って修正し、コードを書き直し、再度テストを一からやり直す必要があります。
- リリース作業:修正したプログラムを本番環境へ反映させるための計画や、ユーザーへの周知が必要です。
- 信頼の低下:サービス停止などが発生すれば、企業の社会的信用や金銭的損失といった間接的なコストも発生します。
このように、初期段階で見つかれば数行の修正で済んだはずの問題が、後工程になればなるほど「手戻り」の範囲が芋づる式に広がり、対応費用は指数関数的に膨れ上がります。
グラフから読み解く開発の常識
今回の設問にある選択肢のグラフは、開発コストに関する基本的な考え方を示しています。
- ア(正解):初期段階では安価だが、後工程になるにつれて急激に費用が増大する。これがソフトウェア開発のコスト特性です。
- イ:開発が進むほど費用が下がるというグラフですが、現実はその逆です。
- ウ:特定の工程だけ費用が安く、他が高いというグラフですが、後工程ほど高くなるという原則に反しています。
- エ:ある一定の時期から急に費用が上がるグラフですが、実際には徐々に、かつ指数関数的に増大するため、この不自然な階段状の変化は適切ではありません。
実務における重要性
この知識は、単なる試験問題の正解としてだけでなく、IT現場で非常に重要視される考え方です。プロジェクトマネジメントにおいて、上流工程(要件定義や設計)でのレビューを徹底するのは、単に品質を上げるためだけでなく、将来的な莫大な修正コストを回避するという戦略的な意味合いが非常に強いのです。
もしあなたがエンジニアやプロジェクトリーダーになった際、設計段階で「多少時間がかかっても徹底的に議論しよう」と提案するのは、このコスト特性を理解していれば当然の判断となります。早い段階でリスクを潰しておくことこそが、最も経済的な開発手法であると言えます。