ストーリー
田
田中VPoE
効果測定の基礎を学んだ。次は、継続的にモニタリングするためのKPI体系を設計する
あなた
DORAの4メトリクスをそのまま使えばいいのでは?
あ
田
田中VPoE
DORAメトリクスは重要だが、それだけでは不十分だ。組織横断の改善は技術面だけでなく、プロセスの健全性、チームの状態、ビジネスへの影響まで包括的に捉える必要がある。KPI体系は「何を見れば全体の健全性がわかるか」を設計する作業だ
田
田中VPoE
その通り。良いKPI体系は「少数の指標で全体像が見える」ものだ。ポイントは階層構造を作ること。経営層が見るKPI、改善チームが見るKPI、各チームが見るKPIを分ける
KPI体系の階層設計
3階層のKPI構造
Level 1: ビジネスKPI(経営層向け、月次報告)
├── 顧客への機能提供速度(リードタイム)
├── サービス信頼性(稼働率、障害件数)
└── 開発投資効率(改善ROI)
Level 2: プロセスKPI(改善チーム向け、週次モニタリング)
├── DORAメトリクス(デプロイ頻度、リードタイム、変更失敗率、MTTR)
├── プロセス効率(VSMのプロセス効率%)
├── テスト自動化カバレッジ
└── セキュリティスキャン通過率
Level 3: チームKPI(各チーム向け、スプリント単位)
├── スプリントベロシティ
├── PR サイクルタイム
├── コードレビュー待ち時間
├── ビルド成功率
└── 開発者満足度(eNPS)
各レベルの設計原則
| レベル | 指標数 | 更新頻度 | 報告先 | 重要なこと |
|---|
| Level 1 | 3-5個 | 月次 | 経営層 | ビジネスインパクトに直結する |
| Level 2 | 5-8個 | 週次 | 改善チーム | 改善の方向性が正しいか判断できる |
| Level 3 | 5-10個 | スプリント | 各チーム | 日々の改善活動に直結する |
ベースラインの確立
ベースラインとは
改善の効果を測定するための「起点」となる数値です。ベースラインなしに改善効果は測定できません。
| 項目 | 説明 |
|---|
| 定義 | 改善開始前の各KPIの現状値 |
| 測定期間 | 最低2-4週間のデータを収集して平均値を算出 |
| 注意点 | 異常値(障害対応中の数値等)を除外して正常時の値を使う |
ベースライン測定のプロセス
Step 1: 測定対象のKPIを決定
↓
Step 2: データ収集方法を確立
(自動収集 or 手動収集のどちらか)
↓
Step 3: 2-4週間のデータを収集
↓
Step 4: 異常値を除外し、平均値と分散を算出
↓
Step 5: ベースラインとして記録
↓
Step 6: 目標値を設定(ベースラインから何%改善するか)
DevFlow社のベースライン例
| KPI | ベースライン | 測定期間 | 目標値 | 改善率 |
|---|
| リードタイム | 43日 | 4週間平均 | 20日以下 | 53%短縮 |
| デプロイ頻度 | 月2回 | 過去3ヶ月平均 | 週2回以上 | 4倍 |
| 変更失敗率 | 22% | 過去3ヶ月平均 | 10%以下 | 55%改善 |
| MTTR | 8時間 | 過去6ヶ月平均 | 2時間以下 | 75%短縮 |
| テストカバレッジ | 30% | 現時点 | 80%以上 | 50pt改善 |
| 開発者満足度 | 4.2/10 | パルスサーベイ | 7.0以上 | 67%改善 |
KPI設計の5つの原則
1. 先行指標と遅行指標を組み合わせる
| 種類 | 説明 | 例 |
|---|
| 先行指標 | 将来の結果を予測できる指標 | テスト自動化カバレッジ、コードレビュー速度 |
| 遅行指標 | 結果として観察できる指標 | デプロイ頻度、障害件数、顧客満足度 |
「遅行指標だけを見ていると、問題に気づいたときには手遅れだ。先行指標で予兆を捉え、遅行指標で結果を確認する。この両方が必要だ」 — 田中VPoE
2. バランスを取る
| 観点 | 偏りの問題 | バランスの取り方 |
|---|
| 速度 vs 品質 | 速度だけ追うと品質が犠牲に | デプロイ頻度と変更失敗率をセットで見る |
| 効率 vs 健全性 | 効率だけ追うと燃え尽きる | 生産性指標と開発者満足度をセットで見る |
| 短期 vs 長期 | 短期成果だけ追うと技術負債が増える | 機能開発速度と技術負債削減速度をセットで見る |
3. 測定コストを考慮する
| 測定の難易度 | 例 | アプローチ |
|---|
| 自動収集可能 | デプロイ頻度、ビルド時間、PRサイクルタイム | CI/CDツールから自動取得 |
| 半自動 | テストカバレッジ、障害件数 | ツールとレポートの組み合わせ |
| 手動収集 | 開発者満足度、手戻り率 | アンケート、ヒアリング |
4. 操作可能なものを選ぶ
良いKPI: 自チームの行動で改善可能
○ PRサイクルタイム → レビュープロセスの改善で短縮可能
○ テストカバレッジ → テスト追加で改善可能
悪いKPI: 自チームでは改善不可能
× 全社売上 → 改善チームの行動だけでは直接影響できない
× 競合の動向 → コントロール不可能
5. グッドハートの法則を避ける
「尺度が目標になると、良い尺度ではなくなる」
| 問題 | 例 | 対策 |
|---|
| メトリクスのゲーミング | コミット数を増やすために1行ずつコミット | 複数の指標を組み合わせる |
| 意図しない行動の誘発 | バグ件数を減らすためにバグを報告しない | プロセス指標と結果指標の両方を見る |
| 短期的な数値操作 | 月末にまとめてデプロイ | トレンドで評価する(点ではなく線) |
KPIカードの設計
テンプレート
| 項目 | 内容 |
|---|
| KPI名 | リードタイム |
| 定義 | コミットから本番デプロイまでの経過時間 |
| 算出方法 | Jira + GitHub APIから自動算出 |
| ベースライン | 43日(2024年Q1平均) |
| 目標値 | 20日以下 |
| 更新頻度 | 週次 |
| 責任者 | 改善リーダー |
| アクショントリガー | 前週比10%以上悪化した場合、原因分析を実施 |
まとめ
| ポイント | 内容 |
|---|
| 3階層構造 | ビジネスKPI、プロセスKPI、チームKPIに分ける |
| ベースライン | 改善前の現状値を正確に記録する |
| 5つの原則 | 先行/遅行、バランス、測定コスト、操作可能性、ゲーミング防止 |
| KPIカード | 目標値、ベースライン、測定方法、更新頻度を一覧化 |
チェックリスト
次のステップへ
次は「改善のROI測定」を学びます。改善活動のROIを算出し、経営層に投資対効果を報告する方法を身につけましょう。
推定読了時間: 30分