Slide 1

Slide 1 text

2024/06/29 開発生産性Conference 2024 Four Keysだけじゃ足りなくない? 〜俺たちだけのFour Keysを探して〜 @rinchsan

Slide 2

Slide 2 text

Four Keys 知ってる人 󰢨

Slide 3

Slide 3 text

Four Keys を会社で使ってる人 󰢨

Slide 4

Slide 4 text

Four Keys 便利だな〜と思う人 󰢨

Slide 5

Slide 5 text

Four Keysってちょっと不便と思う人 󰢨

Slide 6

Slide 6 text

目次 Four Keysとは? 1 Four Keysじゃ足りない? 2 俺たちだけのFour Keys? 3

Slide 7

Slide 7 text

CTO @SODA inc. ○ 2020年10月に入社 ○ Webエンジニア → VPoE(2022/01) → CTO(2023/10) ⇧⇧⇧ Backend Engineer @CyberAgent ○ 2019年新卒入社 バックエンドエンジニア ○ Go / AWSでサービス開発 Masaya Hayashi - @rinchsan X@rinchsan

Slide 8

Slide 8 text

Four Keysとは? 1

Slide 9

Slide 9 text

品質・スピードのバランス 組織パフォーマンスと幸福度 Four Keysはとっても便利なメトリクスです

Slide 10

Slide 10 text

Four Keysってどんな指標?

Slide 11

Slide 11 text

Four Keys 〜4つのキーメトリクス〜 ソフトウェアデリバリーに関するパフォーマンス計測指標 引用:https://dora.dev/research/

Slide 12

Slide 12 text

それぞれの指標を簡単に見ていく

Slide 13

Slide 13 text

変更のリードタイム コードがトランクにコミットされてから本番環境で稼働するまでの時間 引用:https://dora.dev/research/

Slide 14

Slide 14 text

デプロイ頻度 コードの変更を本番環境へ適用してエンドユーザへ公開する頻度 引用:https://dora.dev/research/

Slide 15

Slide 15 text

変更失敗率 すべての本番環境への変更のうち不具合発生とその修復に繋がった変更の割合 引用:https://dora.dev/research/

Slide 16

Slide 16 text

復旧時間 エンドユーザへ影響のある障害の発生から復旧までに要する時間 引用:https://dora.dev/research/

Slide 17

Slide 17 text

なぜこの4つが便利なのか?

Slide 18

Slide 18 text

品質とスピードでそれぞれ2つずつの指標 品質とスピードはどちらかだけでなくバランスよく見る 引用:https://dora.dev/research/

Slide 19

Slide 19 text

組織パフォーマンスと幸福度へ繋がる 営利/非営利指標やWell-beingとも相関関係があることが示されている 引用:https://dora.dev/research/

Slide 20

Slide 20 text

DORA Core Modelとは? DevOps Capabilities → Four Keys → 組織パフォーマンスと幸福度 引用:https://dora.dev/research/

Slide 21

Slide 21 text

Google CloudのDORAチームが毎年サーベイを実施し、集計 各企業におけるFour Keysの集計とクラスタリング 引用:https://dora.dev/publications/

Slide 22

Slide 22 text

2024年のサーベイやってます!(DORAチームが) 皆さんも回答して、科学的根拠をアップさせましょう 💪 引用:https://dora.dev/publications/

Slide 23

Slide 23 text

2023年のクラスタリング結果 皆さんの組織はどのPerformance levelに属しますか? 引用:https://dora.dev/publications/

Slide 24

Slide 24 text

ちなみに、v2も議論されている 2023年のState of DevOps Reportまでの結果を受けてv2が検討されている 引用:https://github.com/dora-team/dora.dev/discussions/582

Slide 25

Slide 25 text

ちなみに、v2も議論されている 2024年からは新しいキーメトリクスとして “信頼性” が登場? 引用:https://github.com/dora-team/dora.dev/discussions/582

Slide 26

Slide 26 text

2022 State of DevOps Report:5つ目の指標としての「信頼性」 引用:https://dora.dev/research/2022/dora-report/ デリバリーに関するFour Keys以外に、運用の視点からSLOやエラーバジェットを

Slide 27

Slide 27 text

Four Keys最強!

Slide 28

Slide 28 text

ほんとうに?

Slide 29

Slide 29 text

“この第2部では、第1部で 示した研究成果の背景にあ る科学的根拠を提示する。” 『LeanとDevOpsの科学』第2部 (2018) ※ 現在も同様の研究手法をDORAチームが使っているかは不明。

Slide 30

Slide 30 text

Four Keysすごい!が分かったところで

Slide 31

Slide 31 text

Four Keysじゃ足りない? 2

Slide 32

Slide 32 text

まずはSODAのFour Keysを見てみる

Slide 33

Slide 33 text

デプロイ頻度の推移 Eliteクラスタには属すがジワジワと減少傾向(平均91回、標準偏差17.2)

Slide 34

Slide 34 text

減少傾向なのが課題では?

Slide 35

Slide 35 text

変更失敗率の推移 Highクラスタに属し、ある程度安定している(平均5.99%、標準偏差2.63)

Slide 36

Slide 36 text

Eliteクラスタを目指せばいいのでは?

Slide 37

Slide 37 text

復旧時間(MTTR=Mean Time To Recovery)の推移 Highに属することもあれば、Mediumなことも(平均55.9時間、標準偏差98.6)

Slide 38

Slide 38 text

安定して24時間以内を目指す?

Slide 39

Slide 39 text

では、Four Keysでは何が足りない? 十分に現在の課題を示していて、打ち手を考えることが出来るのではないか?

Slide 40

Slide 40 text

どんなプロダクト?どんな組織?

Slide 41

Slide 41 text

SNKRDUNKについて

Slide 42

Slide 42 text

鑑定付き 利用者数 No.1 スニーカー・トレカ フリマアプリ

Slide 43

Slide 43 text

正規品を安心して購入できるC2Cマーケットプレイス スニダンが取引の間で真贋鑑定をすることで、偽造品の心配をする ことなく取引ができる Product スニーカーダンク C2Cマーケットプレイス ブランド公式取扱アイテムやここでしか入手できない Exclusiveなアイテムを取り揃えるファッション・コレクティブ オンラインストア

Slide 44

Slide 44 text

スニーカー、トレカの新作がどこで・いつ・いくらで発売するのか を毎日発信。全情報をまとめることで、スニダンさえ見ていれば、 新作情報を漏れなく確認することができる コレクティブルなカルチャーに特化した国内最大級のSNS X(旧Twitter)やInstagramなど他SNSにはない深くニッチな情報が 飛び交っている Product スニーカーダンク コミュニティ メディア

Slide 45

Slide 45 text

Product スニーカーダンク 海外の市場環境に合わせて ローカライズしたグローバル向けのアプリを展開中 海外版アプリをリリース 北米・アジア圏を中心に16カ国で展開中

Slide 46

Slide 46 text

プロダクト開発組織について

Slide 47

Slide 47 text

Teams プロダクト開発組織 Team A Team B Team C Team D Web 🙋🙋🙋🙋🙋 | WebFE 🙋🙋 | Flutter 🙋🙋 | QAE 🙋 | Design 🙋 | PdM 🙋 EM 🙋🙋🙋🙋🙋 Web 🙋🙋🙋🙋 | WebFE 🙋🙋 | Flutter 🙋🙋🙋 | QAE 🙋 | Design 🙋 | PdM 🙋 Web 🙋🙋🙋🙋 | QAE 🙋🙋 | PdM 🙋 Web 🙋🙋🙋🙋 | WebFE 🙋🙋 | QAE 🙋 | Design 🙋 | PdM 🙋 SREs 🙋🙋🙋 Team EM Team SRE Team E Web 🙋🙋🙋🙋 | QAE 🙋 | Design 🙋 | PdM 🙋 Team G Web 🙋🙋🙋 | Flutter 🙋 | Design 🙋 | PdM 🙋 総勢60名

Slide 48

Slide 48 text

MAU ソースコード 組織規模 プロダクト・組織の成長過程

Slide 49

Slide 49 text

Active Users アクティブユーザー 600万人を突破 月間利用者数 * *2023年12月Google Analytics実績

Slide 50

Slide 50 text

Goのコード行数とファイル数 コード行数190万行、ファイル数10,000の規模まで拡大

Slide 51

Slide 51 text

Dartのコード行数とファイル数 コード行数59万行、ファイル数5,000の規模まで拡大

Slide 52

Slide 52 text

プロダクト開発組織の規模 2024/06現在では60名の組織規模に

Slide 53

Slide 53 text

システムも組織もどんどん拡大

Slide 54

Slide 54 text

歴史たっぷりのシステム 新しく入ったエンジニア多数 技術負債返済の計画不足 積み重なる大きめの課題

Slide 55

Slide 55 text

なかなかFour Keysを改善できなくなってくる・・・ 1日5回の デプロイが 限界… 変更失敗率が なかなか 下がらない… もうこのままで いいのでは… 「大きな問題は発生してないから」と現状維持バイアスに陥ることも この技術負債は いつ返せるかな…

Slide 56

Slide 56 text

それでも改善していく必要がある

Slide 57

Slide 57 text

言い訳をしている場合ではない!

Slide 58

Slide 58 text

D/D/D (Deployments/Developers/Days) を高めていかねばならない! 引用:『LeanとDevOpsの科学』 (2018) Eliteな組織は人が増えるほど開発生産性も上がっていく

Slide 59

Slide 59 text

“ディズニーランドはいつま でも未完成である” “現状維持では、後退するば かりである” Walt Disney 引用:https://www.tokyodisneyresort.jp/tdr/resort/walt.html

Slide 60

Slide 60 text

俺たちだけのFour Keys? 3

Slide 61

Slide 61 text

Four Keys改善が難しいなら別のものを

Slide 62

Slide 62 text

チームで探す トップダウンで示す 俺たちだけのFour Keysを

Slide 63

Slide 63 text

チームで探す トップダウンで示す 俺たちだけのFour Keysを

Slide 64

Slide 64 text

“これからもチーム全員で意 識的に「レビューすぐ見る チャレンジしてます」にト ライしていきます。” あるチームでの取り組み https://zenn.dev/team_soda/articles/4faec057f57e74 ※ 不思議な日本語ですね

Slide 65

Slide 65 text

どんな取り組みをしていたか?

Slide 66

Slide 66 text

背景:コードレビューが後回しになり、色々な課題が発生 リリースが 遅くなる… レビュー依頼が 溜まって大変で 確認漏れが… コレがマージ されないとアレが 進められない… 開発の品質もスピードも次第に落ちていく・・・ mainが進んでて コンフリクトが…

Slide 67

Slide 67 text

Before:2022/07〜2022/11のサイクルタイム 引用:https://zenn.dev/team_soda/articles/4faec057f57e74 レビューに関するリードタイムが大きくなっていた

Slide 68

Slide 68 text

レビュー優先の意識不足 PRの差分が大きすぎる 依頼に気付いていない なぜレビューが後回しになるか

Slide 69

Slide 69 text

アプローチ:チームで定期的にふりかえり、レビューまわりを改善していく シンプルなアプローチに尽きる レビューの アサイン受けたら 最優先で! レビュー依頼から 2−3時間経ったら リマインドしよう! このPRの差分が 大きくて 大変でした… レビューアサインに 気づいてません でした… PRを小さくできる ようにタスクを 分解しましょう!

Slide 70

Slide 70 text

After:2023/07〜2023/11のサイクルタイム 引用:https://zenn.dev/team_soda/articles/4faec057f57e74 レビューに関するリードタイムが大幅に改善!

Slide 71

Slide 71 text

なぜうまくいった?

Slide 72

Slide 72 text

やってきた取り組みの筋が良かった? それももちろんあるし、何をやるかはやはり重要ではあるけど… レビューの アサイン受けたら 最優先で! レビュー依頼から 2−3時間経ったら リマインドしよう! このPRの差分が 大きくて 大変でした… PRを小さくできる ようにタスクを 分解しましょう! レビューアサインに 気づいてません でした…

Slide 73

Slide 73 text

何が一番重要だったか?

Slide 74

Slide 74 text

チームで課題を探す チームでどう解決するか議論する チームで方針を意思決定する 強い組織文化を作ること

Slide 75

Slide 75 text

チームでの意思決定はDORA Core Modelにも 引用:https://dora.dev/research/ つまり、チームの意志決定力はFour Keysの高さにも繋がるはず

Slide 76

Slide 76 text

とはいえ、何に着目すればいい?

Slide 77

Slide 77 text

「具体と抽象の往復」で課題解決の幅を広げる デプロイ頻度 ・・・ ・・・ 知識を武器に具体と抽象を往復することで課題解決の幅も質も向上する 抽象 具体 Four Keys SLO Communication and Collaboration State of DevOps Report 5つ目の キーメトリクス SPACE 包括的なメトリクス ・・・ ・・・ 変更失敗率

Slide 78

Slide 78 text

“具体と抽象の行き来を意識 することで、間違いなく世 界が変わって見えてきま す。” 『具体と抽象』(2014)

Slide 79

Slide 79 text

開発生産性カンファレンス2023の資料もぜひご覧ください 「具体と抽象の往復」についてより詳しく話しています 引用:https://speakerdeck.com/rinchsan/huroxiao-lu-wozhong-shi-site-2nian-ban-deenzinia2ming-35ming-noji-kuo-da-zu-zhi-degao-isheng-chan-xing-woshi-xian-sitahua

Slide 80

Slide 80 text

チームで探せば万事解決!

Slide 81

Slide 81 text

ここで、冒頭の課題を思い出してみる

Slide 82

Slide 82 text

Goのコード行数とファイル数 コード行数190万行、ファイル数10,000の規模まで拡大

Slide 83

Slide 83 text

Dartのコード行数とファイル数 コード行数59万行、ファイル数5,000の規模まで拡大

Slide 84

Slide 84 text

プロダクト開発組織の規模 2024/06現在では60名の組織規模に

Slide 85

Slide 85 text

歴史たっぷりのシステム 新しく入ったエンジニア多数 技術負債返済の計画不足 積み重なる大きめの課題

Slide 86

Slide 86 text

なかなかFour Keysを改善できなくなってくる・・・ 1日5回の デプロイが 限界… 変更失敗率が なかなか 下がらない… もうこのままで いいのでは… 「大きな問題は発生してないから」と現状維持バイアスに陥ることも この技術負債は いつ返せるかな…

Slide 87

Slide 87 text

チームだけで進める限界も

Slide 88

Slide 88 text

チームで探す トップダウンで示す 俺たちだけのFour Keysを

Slide 89

Slide 89 text

変更失敗率の急増 技術負債返済の計画不足によって、過去発生した障害と同じ原因で…

Slide 90

Slide 90 text

CTOが技術戦略としてロードマップを走らせる 中長期的な取り組みは経営陣とも合意を取るなどして腰を据えて進める

Slide 91

Slide 91 text

重要な考え方

Slide 92

Slide 92 text

“戦略のカーネルは、診断、 基本方針、行動の三つの要 素で構成される。” 『良い戦略、悪い戦略』(2012)

Slide 93

Slide 93 text

戦略のカーネルに沿って整理する 診断、基本方針、行動 変更失敗率の 急増 リソースを 確保する 再発防止の 不足 改善の ロードマップ

Slide 94

Slide 94 text

もう1つ重要な考え方

Slide 95

Slide 95 text

“コンセンサスというのは、 参加者が最終決定を理解 し、採択された行動方針の 遂行に全力を尽くすことを 誓い、その計画が全員のも のであるとの意識を持ち、 その実行活動において進ん で他の人たちと協力しよう という意思を持つことであ る。” コンセンサス ≠ みんなが同意すること

Slide 96

Slide 96 text

1分まとめ

Slide 97

Slide 97 text

Four Keysとは?

Slide 98

Slide 98 text

品質・スピードのバランス 組織パフォーマンスと幸福度 Four Keysはとっても便利なメトリクスです

Slide 99

Slide 99 text

Four Keysだけじゃ足りない?

Slide 100

Slide 100 text

Four Keys改善が難しくなることも 規模によっては

Slide 101

Slide 101 text

Four Keys改善が難しいなら別のものを

Slide 102

Slide 102 text

チームで課題を探す チームでどう解決するか議論する チームで方針を意思決定する チームで探せる環境を作る

Slide 103

Slide 103 text

とはいえ、探すの難しくない?

Slide 104

Slide 104 text

「具体と抽象の往復」で課題解決の幅を広げる デプロイ頻度 ・・・ ・・・ 知識を武器に具体と抽象を往復することで課題解決の幅も質も向上する 抽象 具体 Four Keys SLO Communication and Collaboration State of DevOps Report 5つ目の キーメトリクス SPACE 包括的なメトリクス ・・・ ・・・ 変更失敗率

Slide 105

Slide 105 text

チームだけで進める限界も

Slide 106

Slide 106 text

中長期的に腰を据えて進める CTOが経営陣とも合意を取る トップダウンで進めるべき取り組みも

Slide 107

Slide 107 text

結局、Four Keysだけじゃ足りないの?

Slide 108

Slide 108 text

結局は組織文化をどう作るか ボトムアップ AND トップダウン 具体と抽象の往復 だいたい足りる

Slide 109

Slide 109 text

2024/06/29 開発生産性Conference 2024 Four Keysだけじゃ足りなくない? 〜俺たちだけのFour Keysを探して〜 @rinchsan

Slide 110

Slide 110 text

2024/06/29 開発生産性Conference 2024 Four Keysだけじゃ足りなくない? でもまぁ全然足りる 〜俺たちだけのFour Keysを探して足りなくても強い組織文化があれば大丈夫〜 @rinchsan