Four Keysとは
Four Keysとは、GoogleのDevOps Research and Assessmentチームが提唱する、ソフトウェア開発チームのパフォーマンスを示す4つの指標のことで以下の通りです。
- デプロイの頻度 - 組織による正常な本番環境へのリリースの頻度
- 変更のリードタイム - commit から本番環境稼働までの所要時間
- 変更障害率 - デプロイが原因で本番環境で障害が発生する割合(%)
- サービス復元時間 - 組織が本番環境での障害から回復するのにかかる時間
上記を測ろうと思うとGitでのcommitやデプロイツールでのデプロイタイミングなどの情報を取得していくのだろうと思います。
ただ、私の仕事の場合、DevOpsだけでなくJiraSoftwareで課題管理をしている関係で、より広い視野で指標を再定義した方がいいと感じました。
そのため、JiraSoftwareに記録した情報をもとに以下の4つの指標を取ることにしました。
- リリース頻度 - 月ごとのJira上の課題完了件数
- 対応のリードタイム - 月ごとのJira上の課題ごとの対応時間の合計
- 障害率 - 月ごとのJira上のバグ課題の件数
- サービス復元時間 - 月ごとのJira上のバグ課題の対応時間の合計
Jira softwareに項目を追加する
上記の4つを測るためにJiraの課題上で以下の情報を取得する必要があります。
- 課題対応開始日、終了日("Actual Start","Actual End"を利用)
- 課題がバグ対応かそれ以外か("課題タイプ"を利用)
- 実際に対応にかかった時間("時間管理"を利用)
- 課題対応が完了しているかどうか("ワークフロー"を利用)
Actual Start,Actual End、時間管理の項目はデフォルトでは表示されないので、項目追加の設定を行う必要があります。
ワークフローが進んだ際に自動で日付を記録する
Jira Automationを利用することで、ワークフローが進んだ際にActual Start、Actual Endに日付を記録するように設定します。
マニュアルはわかりにくいですが、実際に設定してみると画面UIは使いやすいのであまり迷わず設定できると思います。
#Jira Softwareの課題一覧から必要な情報だけを抜き出す
Jira Softwareの「フィルタ」機能を使うと課題データから必要な項目だけを抜き出して一覧にすることができます。
作った一覧は「別名保存」で保存しておいてください。
課題一覧をGoogleSpreadSheetに流し込む
Jira Cloud for Sheetsというアプリが公開されています。
これをGoogleSpreadSheetに入れると、先ほど作成した課題一覧をGoogleSpreadSheetに流し込むことができます。結構便利です👍
GoogleSpreadSheetのデータをLookerStudioでよみこんでレポート化する
あとはLookerStudioでGoogleSpreadSheetのデータをよみこんでレポート化するだけです。
無事、4つの指標をグラフ化できました🙌