Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

PHP Conf 2022 by @isanasan_ 2

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

自己紹介 PHP Conf 2022 by @isanasan_ 4

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

ゴール PHP Conf 2022 by @isanasan_ 6

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

課題 PHP Conf 2022 by @isanasan_ 8

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

説得失敗 PHP Conf 2022 by @isanasan_ 15

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

PHP Conf 2022 State of DevOps by @isanasan_ 18

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

調査結果 PHP Conf 2022 by @isanasan_ 21

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

さらに PHP Conf 2022 by @isanasan_ 23

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

書籍 PHP Conf 2022 by @isanasan_ 26

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

PHP Conf 2022 Four Keys by @isanasan_ 29

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

(1) PHP Conf 2022 by @isanasan_ 31

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

(2) PHP Conf 2022 by @isanasan_ 34

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

(3) PHP Conf 2022 by @isanasan_ 38

Slide 39

Slide 39 text

MTTR PHP Conf 2022 by @isanasan_ 39

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

(4) PHP Conf 2022 by @isanasan_ 41

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

現場から遠い立場の人が現状を理解する助けになる 組織に合わせて指標の定義を拡張できる 指標をハックすることが難しい PHP Conf 2022 Four Keysの有用性 https://tech.andpad.co.jp/entry/2022/03/08/110000 47

Slide 48

Slide 48 text

ところで PHP Conf 2022 by @isanasan_ 48

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

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

Slide 51

Slide 51 text

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

Slide 52

Slide 52 text

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

Slide 53

Slide 53 text

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

Slide 54

Slide 54 text

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

Slide 55

Slide 55 text

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

Slide 56

Slide 56 text

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

Slide 57

Slide 57 text

ダッシュボードで 可視化 APIからデータを インポート GCP BigQuery AWS PHP Conf 2022 システムを自前で構築する by @isanasan_ 57

Slide 58

Slide 58 text

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

Slide 59

Slide 59 text

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

Slide 60

Slide 60 text

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

Slide 61

Slide 61 text

デプロイ頻度 × 変更失敗率 × MTTR = 変更起因障害の予想時間 PHP Conf 2022 SREの指標と関連付けて運用する SREで開発を加速させる class SRE implements DevOps (WEB+DB PRESS Vol.129 株式会社技術評論社) 61

Slide 62

Slide 62 text

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

Slide 63

Slide 63 text

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

Slide 64

Slide 64 text

財務諸表 PHP Conf 2022 by @isanasan_ 64

Slide 65

Slide 65 text

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

Slide 66

Slide 66 text

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

Slide 67

Slide 67 text

デプロイ頻度 人的資本の効率 デプロイ頻度を上げると資本を調達している訳ではないが資本効率が向上する リードタイム 広義でみれば人権費や機会創出の指標 MTTR 売上そのものに関連する指標 変更失敗率 無価値なデプロイ = 人的資本の無駄使い PHP Conf 2022 財務諸表と関連付けて運用する texta.fm #6. 1on1 in Public 67

Slide 68

Slide 68 text

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

Slide 69

Slide 69 text

目標設定する(デプロイ頻度昨年度比2倍) 経営層が参加するMTGで進捗報告 PHP Conf 2022 経営層を巻き込む by @isanasan_ 69

Slide 70

Slide 70 text

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

Slide 71

Slide 71 text

はい PHP Conf 2022 by @isanasan_ 71

Slide 72

Slide 72 text

計測方法 PHP Conf 2022 by @isanasan_ 72

Slide 73

Slide 73 text

わかった PHP Conf 2022 by @isanasan_ 73

Slide 74

Slide 74 text

運用方法 PHP Conf 2022 by @isanasan_ 74

Slide 75

Slide 75 text

わかった PHP Conf 2022 by @isanasan_ 75

Slide 76

Slide 76 text

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

Slide 77

Slide 77 text

PHP Conf 2022 DevOps Capabilities by @isanasan_ 77

Slide 78

Slide 78 text

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

Slide 79

Slide 79 text

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

Slide 80

Slide 80 text

PHP Conf 2022 DevOps Capabilitiesとは by @isanasan_ 80

Slide 81

Slide 81 text

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

Slide 82

Slide 82 text

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

Slide 83

Slide 83 text

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

Slide 84

Slide 84 text

勉強会を開催して啓蒙する チームで自立して実践できる項目はいくつかある Value Streem Mapping Trunk Base開発 PHP Conf 2022 ボトムアップでできることは現場に任せる by @isanasan_ 84

Slide 85

Slide 85 text

まとめ PHP Conf 2022 by @isanasan_ 85

Slide 86

Slide 86 text

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

Slide 87

Slide 87 text

最後に PHP Conf 2022 by @isanasan_ 87

Slide 88

Slide 88 text

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

Slide 89

Slide 89 text

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

Slide 90

Slide 90 text

エリート 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