エンジニアリングメトリクス

英語名 Engineering Metrics
読み方 エンジニアリング メトリクス
難易度
所要時間 30分〜1時間
提唱者 DevOps Research and Assessment (DORA)
目次

ひとことで言うと
#

DORA Metricsを軸に、品質・プロセス・開発者体験の指標を組み合わせて開発組織の健全性を多角的に測定するフレームワーク。

押さえておきたい用語
#

押さえておきたい用語
DORA Metrics
Deployment Frequency・Lead Time・Change Failure Rate・MTTRの4つのデリバリー指標を指す。
Lead Time for Changes
コードをコミットしてから本番にデプロイされるまでの所要時間を指す。
Change Failure Rate(変更失敗率)
デプロイのうちインシデントやロールバックを引き起こした割合。品質の代理指標として使われる。
MTTR(Mean Time to Recover)
障害発生から復旧までの平均時間。レジリエンスの指標である。
Goodhart’s Law(グッドハートの法則)
「指標が目標になると、良い指標ではなくなる」という測定の罠。メトリクスのゲーミングが起きる原因。

エンジニアリングメトリクスの全体像
#

エンジニアリングメトリクス:DORA+品質+体験の3層構成
DORA Metrics(デリバリー)デプロイ頻度リードタイム変更失敗率MTTR「どれだけ速く安全にデリバリーしているか」品質メトリクステストカバレッジバグ密度・インシデント頻度「品質は保たれているか」開発者体験メトリクス開発者満足度・eNPSフロー状態の時間・認知負荷「持続可能な働き方か」Goodhart's Law に注意指標を目標にすると数字のゲーミングが起きる。複数指標の組み合わせで判断する3層を同時に計測し、トレードオフを見逃さない
エンジニアリングメトリクス導入の進め方フロー
1
DORA指標の計測
デリバリーパフォーマンスのベースラインを取得する
2
補助指標の追加
品質と開発者体験の指標を組み合わせる
3
ダッシュボード構築
チームが日常的に確認できる形で可視化する
改善サイクル
月次で指標を確認し改善アクションを実行する

こんな悩みに効く
#

  • 「開発チームの生産性はどうか」と聞かれても定量的に答えられない
  • DORA指標を入れたが数字が良くなっても障害が減っていない
  • メトリクスを導入したら開発者が数字を良くするためだけの行動を取り始めた

基本の使い方
#

DORA 4指標でデリバリーのベースラインを取る
まずデプロイ頻度・リードタイム・変更失敗率・MTTRを計測する。CI/CDツールやGitHubのデータから自動取得できるものが多い。チーム単位で計測し、組織全体の平均は参考程度にとどめる。
品質・体験の補助指標を追加する
DORA指標だけだとスピードに偏る。テストカバレッジ、バグ密度、インシデント頻度で品質を、開発者サーベイ(四半期)でeNPSやフロー状態の時間を計測する。3層で見ることでトレードオフを検知できる。
チームが使えるダッシュボードを作る
Grafana・Looker・Notionなどで指標を一箇所に集約する。マネージャーだけが見るのではなく、チーム全員がスプリント振り返りで確認する形にする。指標の見方と背景をチームに丁寧に説明することが定着の鍵。

具体例
#

例1:SaaS企業がDORA指標でEliteチームを目指す

エンジニア50名のBtoB SaaS。DORA指標を計測したところ、4指標すべてが「Medium」に分類された。

指標計測値Elite基準
デプロイ頻度週1回オンデマンド(日複数回)
リードタイム5日1日未満
変更失敗率18%5%未満
MTTR6時間1時間未満

ボトルネック分析でリードタイムの大半がPRレビュー待ち(平均2.8日)と判明。ペアプロ + レビューSLAの導入で、6ヶ月後にリードタイムが 5日 → 1.2日 に短縮。連動してデプロイ頻度も 週1回 → 日1回 に改善した。

例2:EC企業がメトリクスのゲーミングを防ぐ

エンジニア200名の大手EC。デプロイ頻度をKPIに設定したところ、チームが小さな変更を大量にデプロイする「粒度ハック」が発生。デプロイ頻度は 週3回 → 日5回 に改善したが、変更失敗率が 8% → 22% に悪化した。

Goodhart’s Lawの典型例と認識し、単一指標KPIを廃止。DORA 4指標 + バグ密度 + 開発者満足度のスコアカードに切り替え、指標間のバランスで評価する形に変更した。結果、デプロイ頻度は日3回に落ち着いたが変更失敗率が 22% → 7% に改善。バランスのとれた状態に収束した。

例3:受託開発会社がクライアント報告にメトリクスを活用する

エンジニア35名の受託開発会社。「開発が遅い」というクライアントからのクレームが四半期に 4件 あったが、感覚的な反論しかできていなかった。

DORA指標とバグ密度のダッシュボードをクライアントと共有。リードタイムが1.8日、変更失敗率が**3%**と業界水準を大幅に上回っていることを可視化した。

問題は開発速度ではなく要件定義フェーズの長さだと数字で示せたことで、クレームがゼロに。さらに「メトリクスベースの品質保証」を差別化ポイントとして提案に含められるようになり、受注率が 40% → 55% に向上した。

やりがちな失敗パターン
#

  1. 個人単位でメトリクスを比較する — 「Aさんのコミット数はBさんの半分」のような使い方をすると信頼関係が壊れる。チーム単位で計測し、個人評価には使わない
  2. 指標を一度に大量に導入する — 20個の指標を同時に追い始めても見きれない。DORA 4指標から始め、四半期ごとに1〜2個追加する
  3. ダッシュボードを作って満足する — 数字を見るだけでは改善しない。月次レビューで「この指標が悪化している原因は何か」を議論し、具体的なアクションに落とす
  4. コンテキストを無視して組織横断で比較する — 新規開発チームとレガシー保守チームではメトリクスの水準が当然異なる。同じ基準で比較してランキングを作らない

まとめ
#

エンジニアリングメトリクスはDORA指標を起点に品質・開発者体験を加えた3層で開発組織の健全性を測定する。単一指標への過度な依存はGoodhart’s Lawによるゲーミングを招くため、複数指標のバランスで判断する。チーム単位で計測しダッシュボードで可視化したうえで、月次の改善サイクルを回すことが継続的な改善につながる。