Upgrade to Pro — share decks privately, control downloads, hide ads and more …

開発組織の生産性を可視化するState of DevOpsとFour Keysとは(増補改訂版) / Introduction to State of DevOps and Four Keys for Visualizing Productivity in Development Organizations expanded and revised edition

Isana Miyake
September 23, 2022

開発組織の生産性を可視化するState of DevOpsとFour Keysとは(増補改訂版) / Introduction to State of DevOps and Four Keys for Visualizing Productivity in Development Organizations expanded and revised edition

以下のイベントの発表資料です。

https://phpcon.php.gr.jp/2022/

想定課題
開発がスケールしたり、開発年数が経過すると、様々な要因で開発生産性の低下が起こります。
そこで現場のエンジニアは改善をしたくなるかと思いますが、大抵の場合、ステークホルダーと工数確保の合意が必要になります。
その際にこのようなことを言われがちではないでしょうか?

今動いているものを直す必要ある?
効果測定どうやんの?
費用対効果はどれくらい?
パフォーマンスチューニングの世界には「推測するな計測せよ」という言葉がありますが、開発組織における生産性についても測定してモニタリングする必要があると思います。

本セッションの目標
以上を踏まえ、本トークでは開発組織とステークホルダーの間の共通言語を獲得することを目標に以下の内容についてお話します。

State of DevOpsとは
Four Keysとは
27のケイパビリティとは

Isana Miyake

September 23, 2022
Tweet

More Decks by Isana Miyake

Other Decks in Programming

Transcript

  1. 開発組織の生産性を可視化する State of DevOpsとFour Keysとは (増補改訂版) PHP Conf 2022 by

    @isanasan_ 1
  2. PHP Conf 2022 by @isanasan_ 2

  3. PHP Conf 2022 PHP要素はまったく無いです by @isanasan_ 3

  4. 自己紹介 PHP Conf 2022 by @isanasan_ 4

  5. Lancersプロダクト開発部QAチーム CakePHPのバージョンアップを担当 DevOpsに興味関心がある @isanasan_ @isanasan @isana PHP Conf 2022 いさな

    by @isanasan_ 5
  6. ゴール PHP Conf 2022 by @isanasan_ 6

  7. 開発組織とステークホルダー間の 共通言語を獲得する PHP Conf 2022 ゴール by @isanasan_ 7

  8. 課題 PHP Conf 2022 by @isanasan_ 8

  9. PHP Conf 2022 とあるサービス by @isanasan_ 9

  10. PHP Conf 2022 疲弊した現場 by @isanasan_ 10

  11. 荒みきったコード PHP Conf 2022 by @isanasan_ 11

  12. PHP Conf 2022 爆弾処理のようなリリース by @isanasan_ 12

  13. PHP Conf 2022 改善したい!!!!!!! by @isanasan_ 13

  14. PHP Conf 2022 今動いているものを直す必要ある? 効果測定どうやんの? 費用対効果はどれくらい? by @isanasan_ 14

  15. 説得失敗 PHP Conf 2022 by @isanasan_ 15

  16. PHP Conf 2022 推測するな計測せよ by @isanasan_ 16

  17. PHP Conf 2022 そうだ、計測しよう by @isanasan_ 17

  18. PHP Conf 2022 State of DevOps by @isanasan_ 18

  19. DevOps Research and Assessmentによる調査 デリバリの速度がビジネスに与える影響 開発とデリバリを高速化する方法 PHP Conf 2022 Stete

    of DevOpsとは by @isanasan_ 19
  20. レポートはGoogle Cloudのサイトから参照できる PHP Conf 2022 Stete of DevOpsとは https://www.devops-research.com/research.html 20

  21. 調査結果 PHP Conf 2022 by @isanasan_ 21

  22. デリバリーの尺度を定義し定量化 = Four Keys デリバリを向上させる方法を特定 = Capabilities デリバリと組織のパフォーマンスの因果関係を立証 PHP Conf

    2022 調査結果 by @isanasan_ 22
  23. さらに PHP Conf 2022 by @isanasan_ 23

  24. デリバリのパフォーマンスと 品質の間に トレードオフは無いことを つきとめた PHP Conf 2022 by @isanasan_ 24

  25. 技術の正しいことの実践っていうのが、 最終的な経営的な成果に繋がっているっていうのを示した <texta.fm #5 by やさいち> PHP Conf 2022 PIXTAのCTOやさいちさんのコメント

    by @isanasan_ 25
  26. 書籍 PHP Conf 2022 by @isanasan_ 26

  27. 上述の調査結果に加えて 調査・研究手法を紹介、解説した書籍。 PHP Conf 2022 書籍 : LeanとDevOpsの科学 by @isanasan_

    27
  28. 心から推薦できるITデリバリの測定手法の解説本 -ひと握りの分析者のバラバラの体験談に基づいた本より遥かに優れた本- が誕生したのである。 <本書によせて by Martin Fowler> PHP Conf 2022

    Martin Fowlerのコメント by @isanasan_ 28
  29. PHP Conf 2022 Four Keys by @isanasan_ 29

  30. デリバリのパフォーマンスを測定する 4つの尺度 PHP Conf 2022 Four Keysとは by @isanasan_ 30

  31. (1) PHP Conf 2022 by @isanasan_ 31

  32. PHP Conf 2022 デプロイ頻度 by @isanasan_ 32

  33. コードの変更を 本番環境に適応して 稼動させる頻度 PHP Conf 2022 by @isanasan_ 33

  34. (2) PHP Conf 2022 by @isanasan_ 34

  35. PHP Conf 2022 リードタイム by @isanasan_ 35

  36. コードのコミットから 本番稼動までの 所要時間 PHP Conf 2022 by @isanasan_ 36

  37. 開発ブランチのfirst commitから デプロイされるまでの時間ではない PHP Conf 2022 by @isanasan_ 37

  38. (3) PHP Conf 2022 by @isanasan_ 38

  39. MTTR PHP Conf 2022 by @isanasan_ 39

  40. インシデント発生から 復旧にかかる平均時間 PHP Conf 2022 by @isanasan_ 40

  41. (4) PHP Conf 2022 by @isanasan_ 41

  42. PHP Conf 2022 変更失敗率 by @isanasan_ 42

  43. デプロイ起因で 本番障害が発生する割合 PHP Conf 2022 by @isanasan_ 43

  44. スピードのメトリクス デプロイ頻度 リードタイム 品質のメトリクス MTTR 変更失敗率 PHP Conf 2022 Four

    Keys by @isanasan_ 44
  45. ハイパフォーマーは4つすべての尺度で計測結果が抜きん出ていた p27 "調査結果から見えてきたもの" より PHP Conf 2022 品質とスピードにトレードオフは無い by @isanasan_

    45
  46. metric elite high middle low デプロイ頻度 オンデマンドに1日数回 1週間から月に1回 1ヶ月から6ヶ月に1回 6ヶ月に1回未満

    リードタイム 1時間以内 1日から1週間 1ヶ月から6ヶ月 6ヶ月以上 MTTR 1時間以内 1日以内 1日から1週間 6ヶ月以上 変更失敗率 0~15% 16%-30% 16%-30% 16%-30% PHP Conf 2022 by @isanasan_ 46
  47. 現場から遠い立場の人が現状を理解する助けになる 組織に合わせて指標の定義を拡張できる 指標をハックすることが難しい PHP Conf 2022 Four Keysの有用性 https://tech.andpad.co.jp/entry/2022/03/08/110000 47

  48. ところで PHP Conf 2022 by @isanasan_ 48

  49. State of DevOpsは あくまでも学術的な研究と その結果にすぎない PHP Conf 2022 by @isanasan_

    49
  50. この知識を利用して 自分たちの利益に繋げていきたい PHP Conf 2022 by @isanasan_ 50

  51. PHP Conf 2022 実際どうやんの? by @isanasan_ 51

  52. SaaSを使う ツールを使う システムを自前で構築する PHP Conf 2022 Four Keysの計測って実際どうやんの? by @isanasan_

    52
  53. Findy Teams LinearB PHP Conf 2022 SaaSを使う by @isanasan_ 53

  54. PHP Conf 2022 Findy Teams https://findy-teams.com/ 54

  55. PHP Conf 2022 LinearB https://linearb.io/ 55

  56. hmiyado/four-keys Trendyol/four-key GoogleCloudPlatform/fourkeys shibayu36/merged-pr-stat isanasan/dmps PHP Conf 2022 ツールを使う by

    @isanasan_ 56
  57. ダッシュボードで 可視化 APIからデータを インポート GCP BigQuery AWS PHP Conf 2022

    システムを自前で構築する by @isanasan_ 57
  58. PHP Conf 2022 システムを自前で構築する https://developer.hatenastaff.com/entry/2021/03/04/093000 58

  59. PHP Conf 2022 システムを自前で構築する https://github.com/isanasan/pull-request-analysis-sample 59

  60. SREの指標と関連付けて運用する 財務諸表と関連付けて運用する 経営層を巻き込む PHP Conf 2022 Four Keysはどうやって運用したらよいのか by @isanasan_

    60
  61. デプロイ頻度 × 変更失敗率 × MTTR = 変更起因障害の予想時間 PHP Conf 2022

    SREの指標と関連付けて運用する SREで開発を加速させる class SRE implements DevOps (WEB+DB PRESS Vol.129 株式会社技術評論社) 61
  62. エラーバジェット × ウィンドウサイズ × 変更起因障害の割合 = 変更起因障害の許容時間 PHP Conf 2022

    SREの指標と関連付けて運用する SREで開発を加速させる class SRE implements DevOps (WEB+DB PRESS Vol.129 株式会社技術評論社) 62
  63. 許容時間と予想時間を比較すれば改善のための議論ができる PHP Conf 2022 SREの指標と関連付けて運用する SREで開発を加速させる class SRE implements DevOps

    (WEB+DB PRESS Vol.129 株式会社技術評論社) 63
  64. 財務諸表 PHP Conf 2022 by @isanasan_ 64

  65. PHP Conf 2022 財務諸表と関連付けて運用する https://twitter.com/yamotty3/status/1342258793644617730?s=20&t=fHD6r1cAhRzfJf9De3-8jA 65

  66. PL(損益計算書) 企業の損失と利益を計算する表 BS(賃借対照表) 財産や残高、借入金などの一覧表 PHP Conf 2022 財務諸表と関連付けて運用する texta.fm #6.

    1on1 in Public 66
  67. デプロイ頻度 人的資本の効率 デプロイ頻度を上げると資本を調達している訳ではないが資本効率が向上する リードタイム 広義でみれば人権費や機会創出の指標 MTTR 売上そのものに関連する指標 変更失敗率 無価値なデプロイ =

    人的資本の無駄使い PHP Conf 2022 財務諸表と関連付けて運用する texta.fm #6. 1on1 in Public 67
  68. 財務諸表 メトリクス PL(損益計算書) リードタイム, MTTR BS(貸借対照表) デプロイ頻度, 変更失敗率 PHP Conf

    2022 財務諸表と関連付けて運用する texta.fm #6. 1on1 in Public 68
  69. 目標設定する(デプロイ頻度昨年度比2倍) 経営層が参加するMTGで進捗報告 PHP Conf 2022 経営層を巻き込む by @isanasan_ 69

  70. PHP Conf 2022 経営層を巻き込む 「LeanとDevOpsの科学」を実践して LancersのDevOps的取り組みとこれから 70

  71. はい PHP Conf 2022 by @isanasan_ 71

  72. 計測方法 PHP Conf 2022 by @isanasan_ 72

  73. わかった PHP Conf 2022 by @isanasan_ 73

  74. 運用方法 PHP Conf 2022 by @isanasan_ 74

  75. わかった PHP Conf 2022 by @isanasan_ 75

  76. Four Keysの改善って 実際どうやんの? PHP Conf 2022 by @isanasan_ 76

  77. PHP Conf 2022 DevOps Capabilities by @isanasan_ 77

  78. Four Keysの改善効果が高いことが 特定されている組織の能力 PHP Conf 2022 DevOps Capabilitiesとは by @isanasan_

    78
  79. 4つのカテゴリーに分類されている。 Google Cloudに詳しいドキュメントがある 継続的に更新されている(現在は27個) PHP Conf 2022 DevOps Capabilitiesとは by

    @isanasan_ 79
  80. PHP Conf 2022 DevOps Capabilitiesとは by @isanasan_ 80

  81. どのようなアウトカムを得たいのかから逆算する ケイパビリティについても現状を可視化する ボトムアップでできることは現場に任せる PHP Conf 2022 DevOps Capabilities を実装していく by

    @isanasan_ 81
  82. PHP Conf 2022 どのようなアウトカムを得たいのかから逆算する https://www.devops-research.com/research.html 82

  83. ケイパビリティは定量的だったり定性的だったりする サーベイを実施することでケイパビリティを可視化する PHP Conf 2022 ケイパビリティについても現状を可視化し実装する ファクトから始める改善アプローチ 〜「LeanとDevOpsの科学」を実践して〜 83

  84. 勉強会を開催して啓蒙する チームで自立して実践できる項目はいくつかある Value Streem Mapping Trunk Base開発 PHP Conf 2022

    ボトムアップでできることは現場に任せる by @isanasan_ 84
  85. まとめ PHP Conf 2022 by @isanasan_ 85

  86. Four Keysを計測して開発組織の生産性を可視化しよう いろんな観点からFour Keysを運用しよう DevOps Capabilitiesを実装して改善しよう PHP Conf 2022 まとめ

    by @isanasan_ 86
  87. 最後に PHP Conf 2022 by @isanasan_ 87

  88. 組織を変えようと思ったら上からも下からも変えなきゃいけない。 <名無しさんのポッドキャスト #9 by ryuzee> PHP Conf 2022 最後に by

    @isanasan_ 88
  89. PHP Conf 2022 トップダウンとボトムアップ 両方から改善していこう by @isanasan_ 89

  90. エリート DevOps チームであることを Four Keys プロジェクトで確認する DevOpsの能力 Findy Teamsの指標を使ってチームの生産性を改善しよう エンジニアの活動情報からFour

    Keysを集計、可視化した話 SREで開発を加速させる class SRE implements DevOps (WEB+DB PRESS Vol.129 株式会社技術評論社) Mackerel開発チームのリードSREが考える働き方と組織作り ファクトから始める改善アプローチ 〜「LeanとDevOpsの科学」を実践して〜 texta.fm #5. Accelerate texta.fm #6. 1on1 in Public PHP Conf 2022 参考文献 by @isanasan_ 90