TL

変更失敗率とDORA四指標の数理

DORA四指標を「平均値」で語ると改善判断を誤ります。デプロイ頻度・リードタイム・変更失敗率・MTTRの定義と分布、平均の罠とパーセンタイル、計測の落とし穴を統計から押さえます。

応用DevOpsDORAデプロイメトリクス統計SRE最終更新: 2026-06-21
TL;DR要点だけ先に
  • 1.DORAは速度2指標(デプロイ頻度・変更リードタイム)と安定性2指標(変更失敗率・復旧時間)の組で、片方だけ最適化するとトレードオフを見落とす。
  • 2.リードタイムも復旧時間も右に裾を引く分布なので平均は無意味。中央値とp90、または『○日以内の割合』で語るのが正しい。
  • 3.変更失敗率はデプロイ数が母数の比率なので、デプロイ頻度を上げると分母が増え、同じ障害数でも率は下がる。指標は単独でなく組で読む。

DORA四指標は「速度×安定性」の2軸

DORA(DevOps Research and Assessment)の四指標は、ソフトウェアデリバリの性能を速度2つ・安定性2つの組で測ります。重要なのは、これらが独立した4つのKPIではなく、互いを牽制し合う2軸として設計されている点です。

指標定義(要旨)良い方向
デプロイ頻度 (DF)速度(スループット)本番への正常デプロイの単位時間あたり回数高い
変更リードタイム (LT)速度(レイテンシ)コミットから本番稼働までの所要時間短い
変更失敗率 (CFR)安定性本番デプロイのうち障害・ロールバックを招いた割合低い
復旧時間 (MTTR / FRT)安定性本番障害から復旧までの所要時間短い

DORAの研究が示した反直感的な発見は、速度と安定性は両立するということです。素朴には「速く出せば壊れる」と思われがちですが、実データでは速い組織ほど安定もしている。小さなバッチで頻繁に出すと、1回の変更差分が小さく、原因切り分けが速く、ロールバックも容易になるためです。つまりDFを上げる行為がLT・CFR・MTTRをも改善する正のループを作ります。

2つのレイテンシ、2つの安定性

DFは「単位時間あたり何回」のスループット指標、LTは「1変更が何時間」のレイテンシ指標で、向きが逆です。同様にCFRは「失敗の割合」、MTTRは「失敗の長さ」を測ります。4指標は 待ち行列理論 でいうスループットとレイテンシの関係に近く、片方だけ追うと他方が悪化していても気づけません。

なぜ平均値が指標を壊すのか

DORA四指標のうちLTとMTTRは時間であり、レイテンシと同じく右に長い裾を引く分布になります。下限はゼロ付近に張り付き、上限はレビュー待ち・依存待ち・難障害などでいくらでも伸びる。この非対称分布に対して算術平均を取ると、少数の極端な値に引きずられて中央値よりはるかに大きく出ます。

右に裾を引く分布では順番が固定:
  最頻値  <  中央値  <  平均
平均がメンバーの体感より悪く見えるのはこのため

たとえばLTが「ほとんど2時間だが月に1件だけ依存待ちで2週間」というチームの平均LTは、その1件に汚染されて何日にも膨れます。これを見て「遅い」と判断するのは誤りで、実態はp50=2時間、p90=4時間、まれな外れ値が1件です。パーセンタイル統計 と同じ原理で、平均は分布の形を1点に潰してしまい、最も重要な「裾」の情報を消します。

DORAのバケット分類は平均を使わない

DORAレポートがエリート/ハイ/ミディアム/ローを分けるとき、平均ではなく「○○以内に収まるか」という閾値とカテゴリで評価します。例:デプロイ頻度は「オンデマンド(1日複数回)/日〜週/週〜月/月〜半年」の4バンド。これは時間分布が歪んでいて平均が代表値にならないことを、設計レベルで織り込んでいるからです。指標を社内で集計するときも、平均ではなく中央値とp90、あるいは「2日以内にデプロイできた変更の割合」で語るべきです。

変更失敗率は「比率」であることを忘れない

変更失敗率(CFR)の定義は単純に見えて、母数の扱いで誤解を生みます。

CFR = 障害を招いたデプロイ数 ÷ 本番デプロイ総数

ここで分母がデプロイ総数である点が決定的です。デプロイ頻度を上げると分母が増えるため、障害の絶対数が同じでもCFRは下がります。逆に「失敗が怖いから月1回しか出さない」チームは、分母が小さく、1回コケただけでCFRが跳ね上がる。つまりCFRを単独で見ると、頻繁に小さく出す健全なチームほど有利に見える——これは罠ではなく、小バッチ化を正しく評価する設計です。

率は分母とセットで読む

CFR 5% という数字だけでは何もわからない。月1デプロイで5%なら「20か月に1回失敗」、1日10デプロイ(月200回)で5%なら「月に10回失敗」です。後者は絶対数では大事故ですが、率では同じ。CFRはデプロイ頻度(分母)と必ず組で読み、できれば「単位時間あたりの失敗デプロイ数」も併記します。

二項試行としてのCFRには統計的な揺らぎもあります。月20デプロイで失敗1件なら観測CFRは5%ですが、これは真の失敗率の点推定にすぎません。試行数 n が小さいと信頼区間が広く、CFRが10%→5%に「改善」して見えても、母数20件では偶然の範囲内ということが起こります。小さなチームのCFRの月次変動を過剰に解釈しないことが肝心です。

デプロイ頻度と分布の数え方

デプロイ頻度(DF)は一見シンプルですが、いつのトラフィックで割るかで値が変わります。チーム全体で均すと「1日3回」でも、内訳は「営業日に集中・週末ゼロ」かもしれない。平均レートはバースト性を隠します。

DF を素朴に平均すると:
  30日で90デプロイ → 3.0/日
だが実際は 22営業日に集中 → 4.1/営業日、週末は0

DORAが頻度を「平均回数」ではなく「オンデマンド/週次/月次」という順序カテゴリで測るのも、デプロイ間隔の分布が指数分布的に偏るためです。間隔の中央値(連続デプロイの間が何時間空くか)を見るほうが、平均レートより実態に近いことが多い。デプロイ戦略 でカナリアや段階リリースを採ると、1つの変更が複数の「デプロイイベント」に分割され、数え方の定義次第でDFが数倍ぶれる点にも注意が要ります。

計測の落とし穴と相関の誤読

四指標を正しく集計するうえで、統計的な落とし穴がいくつもあります。

落とし穴何が起きるか対処
時間指標を平均で集計外れ値1件で代表値が崩壊中央値・p90、または閾値内割合で報告
CFRを頻度と切り離す小バッチの健全さを誤判定分母(DF)と失敗の絶対数を併記
サブチームのp90を平均パーセンタイルは加算・平均不可生データかヒストグラムを統合してから算出
短期の変動を傾向と誤認n が小さく信頼区間が広い移動中央値・十分な観測期間を取る
相関を因果と誤読DF↑とCFR↓は共通原因(小バッチ)由来介入は1指標でなく4指標同時に観察

とりわけ「サブチームごとのp90を平均して全体のp90とする」のは典型的な誤りです。パーセンタイル統計 で見たように、パーセンタイルは順序統計量であり加算も算術平均もできません。全体のp90が必要なら、各チームの生データかヒストグラムをマージしてからパーセンタイルを引き直す必要があります。

試験・面接での頻出ポイント

「DFを上げたらCFRが下がった。DFを上げればCFRは下がると言えるか」。答え:直ちには言えない。両者は小バッチ化という共通原因で同時に動く相関であり、DF単独の操作がCFRを下げる因果とは限らない。さらにCFRは分母にDFを含む比率なので、定義上も連動する。四指標は1つだけ動かすのではなく、トレードオフを見るため4つ同時に観察するのが原則です。

まとめ

  • DORA四指標は速度(DF・LT)と安定性(CFR・MTTR)の2軸。小バッチ化により両立し、正のループを作る。
  • LT・MTTRは右に裾を引く時間分布。平均は外れ値で崩れるので、中央値・p90か「閾値内割合」で語る。
  • CFRは分母にデプロイ総数を含む比率。頻度と切り離して単独で読むと、健全な小バッチチームを誤評価する。
  • パーセンタイルは加算・平均不可。サブチームを束ねるときは分布を統合してから算出する。
  • 指標間の連動は多くが共通原因(小バッチ)由来の相関。介入の評価は4指標を同時に観察して行う。

DevOps/インフラ Article

変更失敗率とDORA四指標の数理を実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

DevOps

比較で見る軸

難易度: advanced / カテゴリ: DevOps/インフラ / タグ数: 6

導入後に効く点

リードタイムも復旧時間も右に裾を引く分布なので平均は無意味。中央値とp90、または『○日以内の割合』で語るのが正しい。

先に潰すリスク

用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。

数字・仕様の読み方
難易度
advanced
カテゴリ
DevOps/インフラ
タグ数
6

判断チェックリスト

  • 自社の用途が「DevOps / DORA」に近いか確認する。
  • 強みである「DORAは速度2指標(デプロイ頻度・変更リードタイム)と安定性2指標(変更失敗率・復旧時間)の組で、片方だけ最適化するとトレードオフを見落とす。」が本当に評価軸になるか確認する。
  • 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

DevOpsDORAデプロイメトリクス統計DevOpsDORAデプロイ
参考: 公式情報