change failure rateとは何か?解説
change failure rate(CFR)とは、サービスの劣化を招く、または修復を要するdeploymentの割合であり、4つのDORA指標の1つです。
速く出荷することは、変更が持ちこたえてこそ価値があります。change failure rateはデリバリーの品質面を測定します。deployするすべての変更のうち、いくつが問題を起こすか?これは本番環境の結果を測る指標であり、CI pipeline自体がどれだけレッドになるかとは異なります。
CFRの定義
CFRは、修復(rollback、hotfix、patch、またはroll-forward)を要する失敗を引き起こすdeploymentの割合です。deployment頻度、lead time、mean time to recoveryと並ぶ4つのDORA指標の1つであり、リリースするものの安定性を捉えます。
CFR vs pipeline失敗率
pipeline失敗率はリリース前にCI実行がどれだけ失敗するかを測定し、change failure rateはリリースされた変更が本番環境でどれだけ失敗するかを測定します。レッドのpipelineは理想的には出荷前に問題を捕捉し、CFRを下げます。両者は関連していますが、異なる問いに答えます。リリース前の信頼性か、リリース後の品質かです。
良いCFRとはどのようなものか
DORAの調査における高パフォーマンスのチームは、change failure rateを低く、1桁台から低い2桁台のパーセンテージのオーダーに保っています。正確な数字よりも傾向と文脈のほうが重要です。求めるのは、上昇しておらず、低くて安定した率です。
信頼できるCIが役立つ理由
deploy前に欠陥を確実に捕捉する信頼できるpipelineは、CFRを直接動かすレバーです。flakyで一時的な失敗がCIへの信頼を蝕むと、チームはレッドのビルドを無視して出荷し、より多くの欠陥が本番環境に到達します。安定していて信頼できるCIは、悪い変更が本番環境のインシデントになるのを防ぎます。
Latchkeyの視点
Latchkeyの自己修復マネージドrunnerは、環境ノイズを取り除くことで信頼できるゲートを支えます。一時的および機械的な失敗を検出して自動でリトライし、一度きりの瞬断でビルドが失敗しないようにすることで、チームがレッドのビルドを無視して出荷するのではなく、それを信頼できるようになります。
重要なポイント
- CFRは、失敗して修復を要するdeploymentの割合である。
- これは4つのDORAデリバリー性能指標の1つである。
- pipeline失敗率とは異なり、本番環境の結果を測定する。
- 信頼できるCIは、出荷前に欠陥を捕捉することでCFRを下げる。