Hotfixは無料ではない — QAの量・質・コストをどう考えるか
ソフトウェア開発の現場では、Hotfixはよくある出来事です。
しかし多くの組織で、次のような認識が存在します。
「Hotfixは開発の一部」
「素早く直せるなら問題ない」
それだけで大丈夫でしょうか?
この記事では、HotfixとQA(品質活動)の関係を コストと構造の視点から整理してみます。
Hotfixは「無料」ではない
Hotfixは次の作業を伴います。
- 障害調査
- 修正実装
- 再ビルド・リリース
- 影響確認
- 関係者連絡
仮に以下の工数だとします。
| 作業 | 人日 |
|---|---|
| 原因調査 | 1 |
| 修正 | 1 |
| テスト | 0.5 |
| リリース | 0.5 |
合計 3人日。
エンジニアの社内コストを
1日2〜3万円とすると、
Hotfix1件 ≒ 6〜9万円
さらに
- 作業中断
- CS対応
- チームのコンテキストスイッチ
などを含めると、実際には 10〜20万円程度になるケースも珍しくありません。
QAのコストは「量」だけでは決まらない
QAコストを考えるとき、多くの議論は次の形になります。
QAコスト = テスト工数
しかし実際には
QAコスト = 量 × 質
です。
量の問題
テストケース数、テスト時間。
質の問題
テスト設計が「どのリスクを捕まえるか」。
もしテストの質が低いと、
- 大量のテストをしている
- でもHotfixは減らない
という状態になります。
Hotfixが多いシステムの特徴
例として、実務で見る組み合わせをあげます。
状態遷移
×
フラグ
×
日付・期限
この3つが組み合わさると、条件数は爆発します。
例えば
- 状態 6種類
- フラグ 10個
- 日付条件 3種類
だけでも
6 × 2^10 × 3
という巨大な組み合わせになります。
この構造では、単純な手数テストでは追いつきません。
QAの役割は「バグを探すこと」ではない
QAの価値は本来ここにあります。
事故が起きる構造を特定する
例えば
- 状態遷移の境界
- フラグの組み合わせ
- 日付切替タイミング
などです。
この場合、QAの役割は
テスト量を増やすこと
ではなく
リスク構造を可視化すること
などになります。
QA ROIをどう考えるか
品質活動のROIは、次の式で考えられます。
ROI = (Hotfix削減コスト − QAコスト) / QAコスト
もし
- 月Hotfix 5件
- 1件10万円
なら
月50万円
年600万円
Hotfix削減効果がこれを上回るなら、QA投資は成立します。
最後に
Hotfixは開発の現実です。
しかし
Hotfix = 仕方ない
と考えるか
Hotfix = 改善可能な構造
と考えるかで、組織の品質は大きく変わります。
QAの本当の価値は
- テスト量
- テスト自動化
だけではなく
「事故の構造を説明できること」
にあります。