State of DevOps Report 2023のざっくりサマリ

[Google Cloud Champion Innovators Advent Calendar 2023](https://adventar.org/calendars/9217) の14日目の記事です。

Advent Calendarももうすぐ半ばですね！
今日はDevOpsに関する様々な要素が組織やチームのパフォーマンス、従業員のウェルビーイングへ与える影響を研究しているDORAの、最新のレポートであるState of DevOps Report 2023のサマリを紹介したいと思います！

## TL; DR

- State of DevOps Reportは世界最大のDevOpsに関する研究
- 文化は全ての効果の前提になっているため、すごい重要
- 全ての要素の効果を底上げする要素:
  - 文化
  - 質の高いドキュメンテーション
- 特に組織のパフォーマンスを向上させる要素:
  - 創造的な組織であること
  - ユーザ志向であること
  - パブリッククラウドのインフラの柔軟性を活用していること
- ソフトウェアデリバリのパフォーマンスを向上させる要素:
  - コードレビューを迅速に行っていること

## DORAは世界中のエンジニアへのサーベイをもとにDevOpsを研究している

DORAはDevOps Research and Assessmentの略で、全世界のエンジニアへサーベイを行い、それを基にDevOpsの研究分析を行っています。
2014年から研究結果のレポートを公開していて、今年の10月に公開されたレポートではこれまでに36,000人が携わっていたとされています。
エンジニアの実態を反映しているDORAのサーベイですが、**日本の回答率は全世界と比べると低く3%にとどまっています**。
ぜひみなさんもサーベイに回答して日本の実態も分析結果に反映してもらえるようにしたいところです！

なぜGoogle CloudでDORA?という疑問があると思いますが、DORAは2018年にGoogle Cloudが買収しています。
買収後も変わらずサーベイを行い、レポート結果を公開しています。
様々な知見や洞察が得られるため、活用することで組織のパフォーマンスやウェルビーイング向上にみんなが取り組んでもらえると良いなと思います。

DORAはコミュニティも非常に活発です。
参加資格はガイドラインに従うことのみなので、ぜひ https://dora.community/ からサインアップして世界のDevOpsエンジニアと議論するチャンスを増やしましょう！

## 2023レポートのエグゼクサマリ

DORAのレポートは過去の研究結果を基に次のレポートの分析対象やサーベイ内容を変えることで、不明瞭な点を深掘りしたり、時代の変化に合わせて変更したりしています。
2023年のレポートでは以下の3つを成果として、どのような要素がそれらに良い(あるいは悪い)影響を及ぼすかを調査しています。
- 組織のパフォーマンス
- チームのパフォーマンス
- 従業員のウェルビーイング

また、これまで同様にソフトウェア開発のパフォーマンスについても研究がされています。
これらは良く最終目的として利用されますが、前述の3つの成果に効果を及ぼす要素とされています。
- ソフトウェアデリバリのパフォーマンス
- 運用のパフォーマンス

注目の2023年のレポート結果ですが、重要な発見として以下の7つが挙げられています。
昨年までと類似した内容もありつつ、ユーザ志向であることや従業員のウェルビーイングの重要性が増しているようです。

- 健全な文化の確立: 文化は技術や組織のパフォーマンスの前提です。創造的な文化を持つチームは組織のパフォーマンスが **30%** 高くなります。
- ユーザの考慮: ユーザ志向であることは技術やプロセス、文化に好影響を与えます。ユーザを意識しているチームは組織のパフォーマンスが **40%** 高くなります。
- 迅速なコードレビュー: コードレビューが早いチームはソフトウェアデリバリのパフォーマンスが **50%** 高くなります。
- 品質の高いドキュメンテーション: 品質の高いドキュメンテーションは技術的なケイパビリティの効果を増幅します。例えばドキュメントの品質が高いと、組織のパフォーマンスに対するトランクベース開発の効果が **12.8倍** になります。
- クラウドの活用: パブリッククラウドを利用するとインフラの柔軟性が22%向上しますが、そのメリットを活用することで組織のパフォーマンスが **30%** 高くなります。後述しますが柔軟性を活用しない場合は逆に悪影響を与えるため注意が必要です。
- デリバリの速度、運用のパフォーマンス、ユーザ志向のバランスをとる: ソフトウェアデリバリ及び運用のパフォーマンスは組織のパフォーマンスを最大限に発揮するのに必要であり、**ユーザ志向が加わることでさらに組織のパフォーマンスや従業員のウェルビーイングを向上**できます。
- 仕事を公平に分ける: 繰り返し作業はバーンアウトに繋がります。マイノリティは繰り返し作業を行うことが29%多く、結果バーンアウトする確率が **24%** 高くなるため、仕事を公平に分けることによる改善が提案されています。

締めくくりとして、自分達の置かれているコンテキストに合わせてDORAの研究結果を適用することが重要とされています。
去年までのレポート同様、継続的な改善のマインドセットを適用したり実践したりしているチームは利益を最大限享受していることは変わっていません。
他の組織や業界、アプリケーションと比較するのではなく、同一のアプリケーションを継続的に改善することが一番重要とされています。
チームは学習の量に比例して改善する量が決まるため、ケイパビリティ向上や学習に投資することが結果的に成功に繋がるとされています。

## DORAで定義している成果と要素は主に3つ

DORAでは組織が求める成果に対して、どのような要素が影響を及ぼしているかを研究しています。
成果と要素それぞれについて以下を調査しています。
(レポートにはサーベイの平均やメディアン、IQRが乗っていますが、数値自体はあまり本質じゃないのでここでは割愛)
- 成果: 組織やチーム、ソフトウェアデリバリ、運用のパフォーマンスや信頼性の目標、ウェルビーイング(バーンアウト、生産性、働きがいの複合)
- 要素
  - プロセスと技術的なケイパビリティ: AI、疎結合なアーキテクチャ、CI/CD、コードレビューの速度、ドキュ年テーション、信頼性のプラクティス、トランクベース開発、インフラの柔軟性、
  - 文化の観点: 仕事の分担、柔軟性、ジョブセキュリティ、組織の安定性、ナレッジの共有、ユーザ視点、Westrumの組織文化

## どのようにレポートを活用すべきか？

エグゼクサマリで述べられていた通り、**比較は必ず自分達の個別のアプリケーション自身**と行います。
まずはアプリケーションの現状を計測することでベースラインを作り、時間の経過とともにそれらのメトリクスがどう変わったかを把握できるようにします。

計測のポイントは2つです。
- メトリクスの改善のみを目的とはしません: メトリクスはあくまでも指標のため、メトリクスを目標としたらそれは良いメトリクスはではなくなる、というGoodheartの法則。
- チームに時間と余力を作る: 調整、実験、再検討をする時間が必要です。これらを繰り返すことで継続的な改善ができるマインドセットとプラクティスを得られます。

注意点もたくさんあります！
せっかく取り組むのであればこれらの落とし穴にはまらないようにしましょう:)
- アプリケーションごとのコンテキストを考慮して計測する。盲目的にひとまとめに計測しない。
- メトリクスを目標にしない。前述の計測のポイント通り。
- 複雑なアプリケーションは一つのメトリクスでは表現できない。必要に応じて複数のメトリクスで表現する。
- 簡単に取れるメトリクスに頼らず、何が最も効果があるかを考慮する。
- 改善をしない理由に、"業界"を持ち出さない。

## ユーザ志向は組織のパフォーマンスに良い影響を与える

2023年のレポートでは、これまでの以下の2つに加え、エンドユーザ志向が調査されています。
- ソフトウェアデリバリのパフォーマンス: デプロイ頻度、変更のリードタイム、変更の失敗率、サービス復旧の速さ
- 運用のパフォーマンス: エンドユーザからの信頼性に関する不満のレポート頻度、利用不可能・想定よりも処理が遅い・誤った処理をする頻度

エンドユーザ中心であることは、エンドユーザが何を実現したいか明確に理解していること、チームの成功が提供した価値で評価されていること、ユーザのシグナルに基づいた継続的な仕様の見直しと優先順位付けがされていること、と定義されています。

上記の3つのメトリクスを基に以下の4つのクラスタに分類されており、クラスタごとに3つのメトリクスのスコアの分布が異なっています。

|名前|説明|特徴|改善案|
|---|---|---|---|
| User-centric | エンドユーザに主眼をおいたチーム | ソフトウェアデリバリと運用のパフォーマンスが高いが、バーンアウトの可能性が若干高い | ソフトウェアデリバリや運用のパフォーマンスを向上させる |
| Feature-driven | 機能をリリースすることに主眼をおいたチーム | 運用のパフォーマンスとエンドユーザ志向が低い。4つのクラスタの中で一番バーンアウトが高く、働きがいやチーム、運用のパフォーマンスが一番低い | ユーザのニーズを確認し、提供している機能の価値を振り返る |
| Developing | product-marketフィットを模索しているチームで、小規模な組織が多い | ソフトウェアデリバリと運用のパフォーマンスが低く、バーンアウトが多い | 重厚長大なプロセスやトイルを自動化する |
| Balanced | バランスを取ってサステナブルに稼働する | 運用やチームのパフォーマンス、働きがいが高く、バーンアウトし辛い | ユーザ中心に重きを置く |

2023年の新しい発見として、 **エンドユーザのニーズにフォーカスしたチームは正しいものを作り、かつものを正しく作っている(build the right thing & build the thing right)** ことが分かっています。
ユーザ志向の重要性はエグゼクサマリでも述べられており、後述する個別の章では、最新の技術やマネジメント手法を活用することよりも、ユーザ中心のアプローチの方が組織のパフォーマンスと相関があることが述べられています。
この新しい研究結果では、ユーザ中心であることは組織やチームのパフォーマンスの他、それらにつながる全ての項目について良い影響があることが示唆されています。
このことから、DevOps黎明期はDevとOpsの隔たりをなくすことでパフォーマンスを向上させてきましたが、特に高いパフォーマンスを示している組織ではその範囲を広げ、全てのチームが組織の目標に向けて一丸となっているとしています。

## 技術的なケイパビリティはパフォーマンスやウェルビーイングに好影響

技術力は様々なパフォーマンスと従業員のウェルビーイングを向上します。
ODRAでは過去から継続して技術力の影響を調査してきており、2023年では以下の5つの技術について深掘りしています。
- AI
- トランクベース開発
- 疎結合なアーキテクチャ
- CI
- 迅速なコードレビュー

今回研究された5つの技術について、**総じてパフォーマンスにもウェルビーイングにも良い影響**を与えますが、影響の平均を見るとマイナスになることが分かったのは以下でした。
影響が直接なのか、間接的にその結果に繋がっているか等は今後の研究に期待です！

- AI: ソフトウェアデリバリと運用のパフォーマンスが下がります。特に運用のパフォーマンスが下がることから、AI/MLの運用の難しさが伺えます。
- トランクベース開発: ウェルビーイングが下がります。特にバーンアウトがしやすくなりますが、チームの規模やユーザ志向等の条件で変わるようです。


## 品質の高いドキュメンテーションは良い効果を増幅する

2021のレポートから継続して重要度が深掘りされていたドキュメンテーションですが、**品質の高いドキュメンテーションは様々な技術力の効果を向上し、組織のパフォーマンスに良いインパクトを与える**ことが分かっています。
エグゼクサマリにあったトランクベース開発との併用で良い効果が12.8倍になるという数字のほか、CI、CD、疎結合なアーキテクチャでそれぞれ2.4、2.7、1.2倍向上することが分かっています。

また、ドキュメンテーションの品質が高いことは基本的にはウェルビーイングにも良い影響を与えます。
例外としてマイノリティ(ただし性別は関係ない)はドキュメンテーションの品質が上がれば上がるほどバーンアウトしやすくなります。
実は同様の傾向が創造的な文化やチームの安定性でも発見されていますが、2023年のレポートでは原因の特定には至っていないため、来年以降の研究で解き明かされることに期待です！

## 信頼性への取り組みは、すぐに良い効果が期待できる

以前のレポートの結果と同様、信頼性は組織のパフォーマンスを向上させるものの、かけた労力と効果の関係性はリニアではないとされています。
信頼性の改善を継続しても組織のパフォーマンスに大きな変化が現れなくなる期間がありますが、継続的に改善することで良い成果につながるので、結果が見えなくなってもすぐに諦めずに継続することが大事です！

![devops-reliability .png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/375413/00767df2-5ab4-2922-7323-6524d129d05f.png)


信頼性への取り組みが運用パフォーマンスへ与える影響について、2019-2022年までは初め効果が見られた後にパフォーマンスが下がり、その後ぐっと上がるJの形になると考えられていました。
一方で2023年では2018年のレポートで仮説立てられていた、パフォーマンスは低下せずに平坦になる、バスタブ曲線のCDFのような形になることが示唆されています。
これは特にSREを始めとするプラクティスをまだ実践していない組織にとって朗報で、**取り組んだ直後に高いRoIが得られる**ことでマネジメント層の支援を得やすいことを意味しています。

また、旧来のリアクティブな運用と対比する形でトイルの削減やブレイムレスポストモーテム、チームの自律性といったSREのプラクティスを評価しています。
これらの対比により、SREのプラクティスを実践する組織では、生産性と働きがいが高く、バーンアウトする可能性が低くなることが分かっています。
今年の発見をもとにさらに多くの組織でSREに取り組み、幸せな環境が築かれるのを楽しみにしています！

## パブリッククラウドそのものよりも、インフラの柔軟性を活用することが重要

インフラの柔軟性は様々なパフォーマンスを向上させますが、実際に多くの組織がパブリッククラウドを活用することでこれを享受しています。
2023年の新しい発見として、クラウドを利用するだけでは良い効果は得られず、どのように利用するかで差が生まれることが分かっています。
逆に、パブリッククラウドを利用していてもインフラの柔軟性を活用していないと、ソフトウェアデリバリと運用のパフォーマンスが下がることが分かっており、**盲目的なリフト&シフトは多くの組織で問題を引き起こしている**とされています。
リフト&シフト自体が悪いわけではなく、適したアプリケーションを移行することが重要で、移行後も継続して改善することでパフォーマンスが向上できることが示唆されています。

## これまでの全ては文化が伴っていなければ効果がない(!!)

ここまで読んでいただきありがとうございます！
色々と効果がある条件や要素を書きましたが、なんとここに来てこれまでの全ての前提が出てきました。
**"文化"** です。
文化は技術的なケイパビリティと相互に良い影響を与え合うと考えられています。
文化の重要性に対する理解が色褪せたことはないと思いますが、レポートの結果を参考に今一度組織文化への取り組みを振り返りたいところです。

2023年のレポートではこれまで同様、[Westrumの定義した組織文化](https://dora.dev/devops-capabilities/cultural/generative-organizational-culture/)を利用しています。
エグゼクサマリにも挙げられている通り、創造的な組織は組織のパフォーマンスが30%高いことが分かっています。
同様に、組織の文化として、ユーザ志向であることやいつ・どこで・どのように働くかの自由度が高いこと、情報が流通しやすい文化を持つ組織は総じてパフォーマンスが高いとされています。
一方で、要素によっては良い効果と悪い効果両方を及ぼすものがあることも分かっています。
例えば、仕事を公正に割り振ると組織のパフォーマンスは上がるもののソフトウェアデリバリのパフォーマンスが下がったり、組織の安定性が高い組織ではソフトウェアデリバリのパフォーマンスが下がったりします。

## マイノリティであるとバーンアウトしやすい

2022年のレポートで明らかになった、マイノリティであるとバーンアウトしやすいという発見を深掘りしています。
その結果、マイノリティである事自体が直接バーンアウトに繋がっているわけではない、と考えられています。
2023年のレポートではマイノリティであると以下のようなタスクが多くなるため、間接的にバーンアウトがしやすくなっているとされています。
- 繰り返しのトイル
- 計画外のタスク
- 同僚に見えづらいタスク
- 自分のスキルセットにあっていないタスク
- 上記のようなタスクを断ると評価に悪影響を及ぼす、あるいはそう感じる

前述の通り仕事を公正に割り振ることでこの関係を小さくできることが分かっていますが、その反面ソフトウェアデリバリのパフォーマンスが下がることも分かっています。
トレードオフがあり悩ましいトピックですが、まずは組織内でそのような実態があるかを調べることが大事です。

## まとめ

DORAレポートの一番重要な学びは、**継続的な改善のマインドセットを持ち、かつ実践しているチームが最高の成果を実現していること**です。
様々なケイパビリティとその効果について分析されていますが、自分たちの組織やチーム、サービスのコンテキストに合わせて探索することが重要です。
良くソフトウェアの世界で言われる(そして嫌われる:p)"It depends"です。
ぜひ、みんなでレポートの研究結果や体験を基に組織やチームを改善してみんなが幸せになれるようにしましょう:)