LeanとDevopeの科学
概要
LeanとDevOpsの科学[Accelerate]
開発チームの生産性を上げることで会社全体の生産性を上げたいということを目的とした研究報告書
結論、開発チームの生産性を測る指標として4Keysを提案し
その4Keysを伸ばすためのケイパビリティを提案している。
学術論文の側面が強いため生産性の指標として4keysが妥当か、そのケイパビリティが本当に4Keys(生産性)に影響しているのかの検証などに重きが置かれていた。
各ケイパビリティがどのようにして組織パフォーマンスに影響を与えているか可視化された図

4Keys
前提条件
組織横断で同じ目線をもって協力していける
生産量ではなく成果量を重視
従来の開発チームの評価指標は「処理量の多い開発者と安定性向上に寄与した運用担当者を報奨する」というもの
これが運用と開発の壁を生んでいた。
開発:質の悪いコードでとにかく機能開発し運用に丸投げする
運用:修正を拒むため手間のかかる変更管理プロセスを打ち立てる
具体的尺度
◆デリバリーリードタイム
以下2種類の定義が存在し、不確定要素の少なさ、計測のしやすさから実際に指標として使われるのは後者になる
顧客のリクエストからリリースまで
commitから本番環境稼働までの所要時間
◆デプロイ頻度
本番環境へのリリース頻度。小さな機能を頻度高くリリースした方が良いとされる。アジャイルやCICDの考え方と類似。
以下2つは開発ばかり注視せず、提供プロダクトやサービスとしての質を担保するための指標。
◆サービス復旧時間
障害発生から復旧までの時間。
◆変更失敗率
定義はいろいろある。本番環境で障害が起きた回数。障害が起きずともコードの修正が発生した回数。
Googleの4Keys定義例
https://cloud.google.com/blog/ja/products/gcp/using-the-four-keys-to-measure-your-devops-performance
ケイパビリティ一覧
Googleのページが解説までついており分かりやすいです。