LESSON 25分

品質コストの考え方

ストーリー

「品質って大事なのはわかりますけど、テストとかチェックとか、時間かかりますよね...」

「そう感じるよね。でも、品質にかけるコストと、品質を怠ったときのコスト、どっちが大きいと思う?」

「うーん、品質を怠ったとき...ですか?」

「正解。これを『1:10:100の法則』って言うんだ」


1:10:100の法則

バグの発見タイミングによって、修正コストは劇的に変わります。

設計段階で発見    →  コスト:  1
テスト段階で発見  →  コスト:  10
リリース後に発見  →  コスト:  100

なぜこんなに差が出るのか?

発見タイミング修正にかかるもの
設計段階コードを書く前なので、仕様を直すだけ
テスト段階コード修正 + 再テスト + レビューやり直し
リリース後緊急対応 + 原因調査 + 修正 + テスト + 再リリース + お客様対応

実例で考えてみよう

例: ユーザー登録画面で、メールアドレスのバリデーションが抜けている

段階対応内容所要時間の目安
設計段階「バリデーション追加しよう」と仕様に書く5分
テスト段階コード修正 → テストやり直し → レビュー2時間
リリース後不正データの調査 → 修正 → テスト → 緊急リリース → 影響範囲の確認 → 顧客への連絡2日以上

品質コストの3つの分類

品質に関するコストは 3種類 あります。

1. 予防コスト(Prevention Cost)

問題が起きないようにする ための投資です。

活動内容
チェックリスト作成ミスを防ぐための確認リスト
コーディング規約チーム全員が同じルールでコードを書く
設計レビュー作る前に設計を確認する
教育・トレーニングチームのスキルを上げる

2. 発見コスト(Appraisal Cost)

問題を見つける ための活動コストです。

活動内容
テスト実行動作確認をする
コードレビュー他の人にコードを見てもらう
静的解析ツールでコードの問題を検出する
セキュリティ診断脆弱性がないか確認する

3. 修正コスト(Failure Cost)

問題が起きてしまった後 の対応コストです。

活動内容
バグ修正問題のあるコードを修正する
再テスト修正後にもう一度テストする
障害対応本番環境の問題に緊急対応する
信頼回復顧客への説明・謝罪

コスト配分の理想と現実

理想的な配分

予防コスト:  50%  ████████████████████
発見コスト:  40%  ████████████████
修正コスト:  10%  ████

よくある現実

予防コスト:  10%  ████
発見コスト:  20%  ████████
修正コスト:  70%  ████████████████████████████

「予防に時間をかけるのがもったいない」と思うかもしれません。 しかし、予防に1時間かけることで、修正の10時間を節約できるのです。


新人ができる「予防」

大規模な予防策は経験が必要ですが、新人でもできることがあります。

予防策具体的な行動
セルフチェックコミット前に自分でコードを見直す
チェックリスト活用確認項目をリスト化して毎回チェック
テスト実行変更後に必ずテストを回す
仕様の確認不明点は作業前に質問する
メモを取る過去のミスを記録して同じミスを繰り返さない

まとめ

ポイント内容
1:10:100の法則バグは後から見つかるほど修正コストが高い
予防コスト問題を防ぐための投資(最もコスパが良い)
発見コスト問題を見つけるための活動費用
修正コスト問題発生後の対応費用(最も高くつく)

チェックリスト

  • 1:10:100の法則を説明できる
  • 予防・発見・修正コストの違いを理解した
  • 新人でもできる予防策を3つ以上挙げられる

次のステップへ

品質コストの考え方が理解できましたか?

次のセクションでは、品質管理でよく使われる基本用語を学びます。 チームで品質について会話するときに必要な言葉を覚えましょう。


推定読了時間: 25分