2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Four Keysで生産性を向上する

Posted at

Four Keysとは

DevOps Research and Assessment(DORA)が提唱したソフトウェア開発チームのパフォーマンスを示す4つの指標。

  • デプロイの頻度 : 組織による正常な本番環境へのリリースの頻度
  • 変更のリードタイム : commit から本番環境稼働までの所要時間
  • 変更障害率 : デプロイが原因となり、本番環境で障害が発生する割合(%)
  • サービス復元時間 : 組織が本番環境での障害から回復するのにかかる時間

Accelerate State of DevOps 2021 で、5つ目の指標として 信頼性 が追加され、Software Delivery and Operational (SDO) Performance と呼ばれる。

Four Keysの指標については、ハイパフォーマンスであればあるほど、チームのパフォーマンス(収益性, 市場占有率など)の向上に繋がることが、明らかになっている。

Four Keysとトレードオフ

Four Keysは高スループットと安全性を追求するものなので、トレードオフはあるが、高スループットと安全性の両方を兼ね備えたプラクティスが、抜きん出てハイパフォーマンスとなることがある。

Four Keysの具体例

例えば、リファクタリングによって、以下のようにFour keysの4つの指標が向上されるので、ソフトウェアデリバリーのパフォーマンス向上につながる。

  • デプロイの頻度 : 疎結合で、小さくリリースが可能となる
  • 変更のリードタイム : 変更に強くなり、短縮する
  • 変更障害率 : 可読性が向上し、ミスが減少
  • サービス復元時間 : 可読性の向上で、原因特定が容易になる

Four Keysにおけるハイパフォーマンスとは

Four Keys を High, Midium, Low の3つのレベルで分けた調査結果は以下のようになる。

High(11%) Midium(69%) Low(20%)
デプロイの頻度 1日複数回 1週間〜1ヶ月 1ヶ月〜6ヶ月
変更のリードタイム 1日〜1週間 1週間〜1ヶ月 1ヶ月〜6ヶ月
変更障害率 0〜15% 16〜30% 46〜60%
平均復旧時間 1日以内 1日〜1週間 1週間〜6ヶ月

それぞれの改善案

デプロイ頻度

  • 変更のリードタイムを改善することで同時に改善する
  • MVP開発
  • 開発プロセスの最適化
  • CI/CDツールによる自動化の導入
  • ペアプロや勉強会等によるチームのスキルアップ
  • リリース手順の簡素化

変更のリードタイム

  • CIの高速化
  • レビュー時間の短縮化
  • 作業単位とリリース単位の短縮化
  • QA作業の軽量化
  • リリースフローの最適化

変更障害率

  • PRは小さく分割すること
  • セルフレビューを行う
  • テストの自動化
  • トランクベース開発

平均復旧時間 (MTTR)

  • 監視による障害検知
  • ログによる障害の原因特定
  • ロールバックによる復旧
  • 障害対応訓練
  • 障害対応テンプレートの整備

最後に

Four Keysにはすでに色々な測定ツールが存在しているので、使っていなければチームに導入して可視化してみよう。ただし、やり過ぎには注意(デプロイ頻度を1日1回するなど)。きちんとFour Keysを向上すると生産性が上がる理由を理解して導入する。また、Four Keysだけでなく、SPACEフレームワークなどを併用すると、より生産性向上につながってくる。

参考文献

  1. 30分でわかるFour Keysの基礎と重要性
  2. エリート DevOps チームであることを Four Keys プロジェクトで確認する
  3. GoogleCloudPlatform/fourkeys を使って Four Keys を計測する
  4. DORA
  5. デプロイ頻度・変更のリードタイムを向上させる意味とアクションーFour Keys運用
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?