ITパスポート 2009年 秋期 問48
問題文
システム開発における、エラーを検出した時期とその不具合の修正にかかる対応費用の関係を最も適切に示したグラフはどれか。

選択肢
ア:(正解)
イ:
ウ:
エ:
🔒 解説は解答すると表示されます
システム開発におけるエラー検出時期と修正費用の関係(グラフ判定)【ITパスポート 解説】
正解の理由
理由を一言で言うと、ソフトウェアやシステムの不具合(エラー)は「見つかる時期が遅くなるほど、直すための費用や手間が急速に増える」からです。選択肢アのグラフは、設計や製造の段階では低い費用で済むが、運用(リリース後)に近づくほど修正費用が急増する形(右側で急速に上がる凸形)を示しており、この常識的な関係を最も適切に表しています。
用語の補足:
- 工程:設計(仕様を決める段階)、製造(プログラムを書く段階)、テスト(動作確認の段階)、運用(実際にユーザが使う段階)
- エラー検出時期:不具合がいつ見つかるか
- 修正対応費用:不具合を直すための時間・人件費・追加作業・顧客対応などを含む総費用
多くの現場での経験則として、例えば設計段階で見つかれば1単位のコストで済んでも、運用後だと倍〜倍になることがあるため、グラフは右側で急増する形が妥当です。
解法ステップ
- 軸を確認する:横軸が工程(設計→製造→テスト→運用)、縦軸が対応費用であることを確認する。
- 問題の原理を思い出す:「不具合を後工程で見つけるほど直すのに時間や費用が増える」ことを確認する。
- 各選択肢の形状を原理に当てはめる:
- 費用が右へ行くほど急増する形=正解候補
- 右へ行くほど減る、谷形、段差などは原理に合わない
- 最も一致するのが「右で急激に上がる凸形(ア)」であるため選ぶ。
選択肢別の誤答解説
-
ア(正解)
右側(運用)で急激に費用が増える。設計段階での検出は安く、運用後の修正は費用が高くなるという一般原則に合致。 -
イ(誤り)
費用が右へ行くほど下がっている。これだと「運用で見つけるほど安くなる」ことになり、現実と逆です。ありえません。 -
ウ(誤り)
V字(中央が最小)で、設計・運用が高くテストで最低となる形。設計で高くなるというのは違和感があります。一般に、設計段階で見つける修正は比較的安価です。したがって不適切。 -
エ(誤り)
ステップ状で運用直前に一段だけ上がる形。運用後に段階的に高くなるとは考えにくく、運用での費用増を滑らかに表現できていません。実務感覚では「徐々に、そして急激に」増えることが多く、単一の段差で表すのは不自然です。
よくある誤解
-
「テストで見つければ十分でしょ?」
→ テストで見つかるのは望ましいですが、テスト段階でも修正による手戻り(仕様変更、結合影響調査、再テスト)が発生し、運用後よりは安いものの費用は増えます。早期発見(設計レビューなど)がもっと安いです。 -
「グラフは単なるイメージだから気にしなくて良い」
→ イメージでも傾向把握に重要です。プロジェクト管理や品質対策の優先順位を決める根拠になります。傾向を無視すると後で大きなコストを招きます。
補足コラム
- よく使われる簡単な目安として「1 : 10 : 100」の関係を挙げることがあります。つまり、設計段階で直す費用を1とすると、テストで見つけると約10倍、運用(リリース後)では約100倍になるといったイメージです。実際の倍率はプロジェクトや業界によって異なりますが、傾向は同じです。
- 対策として「シフトレフト(shift left)」という考え方があります。これはテストや品質確認を開発のより左側(早い段階)に移すことで、後工程でのコスト増加を防ぐ手法です。手段としてコードレビュー、自動テスト、要件の明確化、プロトタイプ作成などがあります。
FAQ
Q1. なぜ運用後の修正は高くなるのですか?
A1. 運用後はすでに多くの作業(公開、ユーザ利用、データ蓄積、契約)が完了しており、修正は緊急対応、顧客対応、データ移行、再検証など多くの追加作業やリスクを伴うためです。
A1. 運用後はすでに多くの作業(公開、ユーザ利用、データ蓄積、契約)が完了しており、修正は緊急対応、顧客対応、データ移行、再検証など多くの追加作業やリスクを伴うためです。
Q2. すべて設計段階で見つければ費用は最小になりますか?
A2. 理想はそうですが、設計だけで全ての問題を完全に見つけることは難しいです。設計レビューと並行して実装・テストでの検証も必要です。重要なのは早期発見を増やすことです。
A2. 理想はそうですが、設計だけで全ての問題を完全に見つけることは難しいです。設計レビューと並行して実装・テストでの検証も必要です。重要なのは早期発見を増やすことです。
Q3. この考えはどの開発手法でも同じですか?
A3. 傾向は共通しますが、アジャイル開発のように短いイテレーションで頻繁にリリースとフィードバックを行う手法では、問題発見が早くなり、運用後の大きなコストを減らせることがあります。
A3. 傾向は共通しますが、アジャイル開発のように短いイテレーションで頻繁にリリースとフィードバックを行う手法では、問題発見が早くなり、運用後の大きなコストを減らせることがあります。
関連キーワード: 開発工程、バグ修正コスト、品質保証、シフトレフト、レビュー、テスト工程、ソフトウェア保守、リスク管理

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

