天の月

ソフトウェア開発をしていく上での悩み, 考えたこと, 学びを書いてきます(たまに関係ない雑記も)

「LeanとDevOpsの科学」著者 Keynote特別公開!開発生産性Conference予習会に参加してきた

developer-productivity-engineering.connpass.com

こちらのイベントに参加してきたので、会の様子と感想を書いていこうと思います。

イントロダクション〜DevOpsの役割〜

DevOpsとは仕事を持続可能かつ生産的に行っていくためのものであり、その中でも特にDORAとSPACEは生産性と幸福に対する解像度を高めるために活用できるという話がありました。

DORA

DORAに関して簡単におさらいがありました。DORAは安定的かつ高速にプロダクトがデリバリーできているのかを測る指標であり、

  • 変更のリードタイム(commitしてから本番環境で稼働開始するまでの時間)
  • デプロイ頻度(安定的な本番環境へのリリースの頻度)
  • サービス復元時間(本番障害が復旧するまでにかかる時間)
  • 変更障害率(本番環境デプロイを原因とした障害が発生する割合)

から成り立っているという話がありました。
DORAはこれら4つの指標を総合的に評価することで、組織が安定的にハイパフォーマンスを発揮できるようにサポートをしていますが、評価のベンチマークとしての利用をするのではなく、あくまでも組織の成果を改善するために使用するものであり、自分たちがどのようなケイパビリティを持っていてどのような能力を改善していく必要があるのかの根拠として機能するものであるということでした。

具体的に言うと、DORAは組織のデリバリー能力などを改善するべきだというシグナルを提供するため、そのシグナルをもとに「どのようなケイパビリティを上げていくのがよいのか?」といった改善点の特定をバリューストリームマッピングなどのプラクティスを用いて行っていくという流れで活用するということです。

なお、簡単にDORAメトリクを算出することもdora.devでできるため、興味がある人はまずこちらを活用してほしいということでした。

SPACE

次に、SPACEのおさらいがありました。

SPACEは、生産性や複雑で創造性を必要とする仕事がうまくできているのかを考える際に役立つフレームワークであり、DORAとは相互補完関係にあるということです。*1
また、SPACEは、セールスチームなどにも適用することができるということでした。

SPACEは、

  • S(satisfaction and well-being) : 幸福度と満足度
  • P(Performance) : チームが実行したプロセスの成果
  • A(Activity) : 仕事をしていく中で取った行動やアウトプット数
  • C(Communication and collaboration) : メンバーやチームのコミュニケーション方法
  • E(Efficiency and flow) : 中断や遅延を最低限に抑えて作業を進めることで作業を完了する能力

で成り立っており、メトリクスの例としては、

  • S -> SREのIMプロセスに対する満足度、エスカレーション+ルーティング、オンコールローテーションなどバーンアウトに繋がりやすい指標
  • P -> システムの信頼性、MTTR
  • A -> 監査システムが検知した問題の数、発生したインシデント数、解決されたインシデント数と重大度の分布
  • C -> インシデントの解決に関与した人々、インシデントの解決に関与したチーム数、インシデント発生時に取るコミュニケーション、インシデントの解決に関与するステップの概要
  • E -> インシデントの割当にかかるホップ数(何回割当を繰り返すとインシデントを解決することができる適切なチームにインシデントが割当されるか?)

があるということでした。

開発者は「良い一日」をどうしたら過ごせるのか?

具体的な事例として、開発者のWell-beingを高められないかをSPACEフレームワークを活用して実験したプロジェクトの話がありました。

このPJでは、

  • 今日の仕事はどうだったか?
  • 他のメンバーと一緒に働いたか?
  • どれくらい仕事が中断されたか?
  • 何回ミーティングをしたか?
  • 今日最も生産性が高いと感じたのはいつか?
  • 今日最も生産性が低いと感じたのはいつか?

といった質問をしたそうですが、仕事が中断されたかどうかで70%以上も満足度が変わったということでした。*2
ただし、こういった指標はあくまでも示唆を与えるものであり、状況を改善させるような効果があるわけではないとことでした。

文化に影響する働き方とテクノロジー

続いて、働き方の変化やテクノロジーの活用は文化の醸成に関わるという話がありました。具体的な事例として、

  • NUMMIの再建プロジェクトで、トヨタトヨタ生産方式を導入した改善を行った結果、顧客視点でのプロダクト開発が文化として浸透した
  • 心理的安全性の構築がプロジェクトの生産性に影響するというGoogle re:Workの実験結果
  • Amazonで、Gregが上級副社長の行動を無視して自身のアイデアの仮説検証を行った結果、メトリクスに基づいてGregの仮説が正しいことを判断することができた。*3

の3つが紹介されました。

最新(2023年)の研究事例

2023年時点でNicoleさんが興味深いと考えている事例の共有がありました。

arxiv.org

最初に、こちらの事例の共有がありました。
プログラマーが生成AIをどのように使いこなすことで生産性が上がるのか?という点で非常に興味深い内容だったということです。

www.microsoft.com

次に、こちらの事例の共有がありました。

最も生産性が高いチームは職位や業界経験年数やドメイン領域などに関係なく、フルリモートワークチームだという結論が出ている論文だそうですが、リモートワークで起きがちな課題に対してもどのように対処するかが記されており、非常に興味深い内容だということです。

全体を通した感想

前半のDORAやSPACEの部分は本や著名な論文のおさらいが中心で自分自身知っている内容も多くありましたが、後半の研究事例や論文の紹介は初めて聞く論文もあり、ぜひ読んでみようと思いました。

このあたりの研究が1年を経てどのように変化しているのか?というのも気になるところで、2024年版の講演が近々聞けることも非常に楽しみです。

*1:上述したようにDORAでまず改善が必要なケイパビリティを特定することができた後は、SPACEフレームワークを使うことでそれを具体的にどのようにして測定したいのかを決めることができる。また、DORAの重点分野の5次元の内、少なくとも3つの次元にSPACEメトリクスを持つようにしておく

*2:https://github.blog/2021-05-25-octoverse-spotlight-good-day-project/

*3:心理的安全性があった、安全に実験できるための技術力があった、仮説を検証することが可能なメトリクスがあった