Slide 1

Slide 1 text

© Link and Motivation Group 開発者と協働できる メトリクスダッシュボードを作ろう! SRE ユニット 川津雄介 & 岸本直樹 株式会社リンクアンドモチベーション

Slide 2

Slide 2 text

© Link and Motivation Group 2 自己紹介 & 会社説明

Slide 3

Slide 3 text

3 © Link and Motivation Group 自己紹介 川津 雄介 株式会社リンクアンドモチベーション SRE ● 前職は某複写機メーカーでエンジニアしてた ● OSレイヤーからWeb/モバイルまで何でもやる ● 中途の採用活動もします ● リンクアンドモチベーションではSREとして開発 室全体の生産性向上に注力! https://github.com/megmogmog1965 https://qiita.com/megmogmog1965

Slide 4

Slide 4 text

4 © Link and Motivation Group 自己紹介 岸本 直樹 株式会社リンクアンドモチベーション SRE ● モチベーションクラウドの開発でバックエンドエ ンジニアとして1年間経験 ● その後、SRE チームの立ち上げメンバーとして開 発組織の生産性向上と保守運用に従事 ● 最近では Four Keys の開発メトリクスの向上プ ロジェクトに参加しております

Slide 5

Slide 5 text

5 © Link and Motivation Group リンクアンドモチベーショングループについて 個人から選ばれる組織 (モチベーションカンパニー) 創りを支援 組織開発Division コンサル・クラウド事業 IR支援事業 個人開発Division 組織から選ばれる個人 (アイカンパニー) 創りを支援 キャリアスクール事業 学習塾事業 マッチングDivision 組織と個人をつなぐ機会を提供 人材紹介事業 ALT配置事業 創業 | 2000年4月7日 上場市場 | 東京証券取引所 プライム市場(証券コード:2170) 売上高 | 326億円(2021年12月時点) 社員数 | 約1,500名(2021年12月時点) グループ会社 | 全12社 ミッション | モチベーションエンジニアリングによって 組織と個人に変革の機会を提供し、 意味のあふれる社会を実現する

Slide 6

Slide 6 text

6 © Link and Motivation Group プロダクト紹介 働きがい あふれる社会へ

Slide 7

Slide 7 text

7 © Link and Motivation Group モチベーションクラウド 診断 変革 ※ 2021年度 実績 8,740 社 237 万人

Slide 8

Slide 8 text

8 © Link and Motivation Group 導入企業様 ※2023年1月時点実績(https://www.motivation-cloud.com/)

Slide 9

Slide 9 text

9 © Link and Motivation Group 今日は主にメトリクス・ダッシュボード周りの話をします!

Slide 10

Slide 10 text

© Link and Motivation Group 10 リンクアンドモチベーションの SRE と開発組織

Slide 11

Slide 11 text

11 © Link and Motivation Group 弊社開発組織の歴史 2016 2018 2019 2022 2022 モチベーションクラウド のリリース 開発組織内製化のスタート (Four Keys = Low レベル) コミュニケーションクラウド のリリース ストレッチクラウド のリリース Four Keys メトリクス High レベルに到達 2020 SRE チームの誕生 弊社の開発組織は誕生して5年目です!

Slide 12

Slide 12 text

12 © Link and Motivation Group SRE チームの遷移 (Team Topologies 風に言うと...) 4つのチームタイプ ※ 出典:「チームトポロジー 価値あるソフトウェアをすばやく届ける適応型組織設計」より

Slide 13

Slide 13 text

13 © Link and Motivation Group SRE チームの遷移 (Team Topologies 風に言うと...) インタラクションモード (チーム間の関わり方を示す) ※ 出典:「チームトポロジー 価値あるソフトウェアをすばやく届ける適応型組織設計」より

Slide 14

Slide 14 text

14 © Link and Motivation Group 1年前 → Medium レベル インフラや CI/CD (仕組み) を一方的に提供していた。

Slide 15

Slide 15 text

15 © Link and Motivation Group 現在 → High レベル 開発者と協働し、課題解決に取り組む。

Slide 16

Slide 16 text

© Link and Motivation Group 16 開発者と SRE の協働

Slide 17

Slide 17 text

17 © Link and Motivation Group SRE で課題解決し一方的に押し付けてきた デプロイの自動化 コンテナ化 IaC (Terraform) Four Keys : Low 〜 Medium 時代

Slide 18

Slide 18 text

18 © Link and Motivation Group 遠い (苦手) 近い (得意) インフラの仕組みだけで解決できる限界 SRE アプリ開発者 インフラ CI / CD ブランチング モデル テストコード E2E テスト アプリコード メトリクス SRE (インフラエンジニア発) は、どうしてもインフラ側から改善しがち。

Slide 19

Slide 19 text

19 © Link and Motivation Group … 開発者間の「協働」

Slide 20

Slide 20 text

20 © Link and Motivation Group SRE と開発者が協働して進めるには? 1 2 3 開発生産性・メトリクスの基準を統一する 改善活動をみんなの目標にする 数値を上げる意味・目的を共有する

Slide 21

Slide 21 text

21 © Link and Motivation Group SRE と開発者が協働して進めるには? 1 2 3 開発生産性・メトリクスの基準を統一する 改善活動をみんなの目標にする 数値を上げる意味・目的を共有する 今日のトピックはここ

Slide 22

Slide 22 text

22 © Link and Motivation Group SRE と開発者が協働して進めるには? 1 2 3 開発生産性・メトリクスの基準を統一する 改善活動をみんなの目標にする 数値を上げる意味・目的を共有する デブサミで話します

Slide 23

Slide 23 text

© Link and Motivation Group 23 開発生産性・メトリクスの基準を統一する

Slide 24

Slide 24 text

24 © Link and Motivation Group 生産性の議論を始める為に SRE 開発者 共通の指標 コミュニケーション 議論をする為の共通のネタ「指標」が必要。

Slide 25

Slide 25 text

25 © Link and Motivation Group SRE が手動でメトリクス集計をしてました 長らく、SRE が手動でメトリクス集計&可視化をしていました。 SRE 週に1度だけ 更新する! あ、先週更新するの 忘れてた...

Slide 26

Slide 26 text

26 © Link and Motivation Group SRE が手動でメトリクス集計をしてました 長らく、SRE が手動でメトリクス集計&可視化をしていました。 SRE 週に1度だけ 更新する! あ、先週更新するの 忘れてた... 改善に繋がらない!

Slide 27

Slide 27 text

27 © Link and Motivation Group 生産性課題を特定する為に必要な情報 量・頻度・正確さ の掛け算。 量 頻度 正確さ 課題の分析をする為に、様々 な面の情報が取得できている 事 最新の情報が毎日更新・記録 できている事 情報が正確で信頼できる事

Slide 28

Slide 28 text

28 © Link and Motivation Group ① 情報の量 今月の PR は 100 件でした 25 th% は「0〜3日」 XXX さんの PR は7日超えが多い 今月のリードタイムは「7日」 もっと細かく・視点を変えて見ると...

Slide 29

Slide 29 text

29 © Link and Motivation Group ② 情報の更新頻度 振り返りの期間は多種多様。 (相対・絶対 / 日・週・月) 11月 第2週 12月 第3週 第4週 今日 過去2週間 (相対) 1週目 2週目 月で振り返りたい

Slide 30

Slide 30 text

30 © Link and Motivation Group ② 情報の更新頻度 振り返りの期間は多種多様。 (相対・絶対 / 日・週・月) 11月 第2週 12月 第3週 第4週 今日 過去2週間 (相対) 1週目 2週目 月で振り返りたい 毎日メトリクス集計できているとベスト

Slide 31

Slide 31 text

31 © Link and Motivation Group ③ 情報の正確さ 情報 (ミス 0%) 機械 人間 情報 (ミス 20%) 開発者 (頻度低くても) ミスの可能性があると 見る気を無くす 自動 手作業 ❌

Slide 32

Slide 32 text

32 © Link and Motivation Group 自動化が必要

Slide 33

Slide 33 text

33 © Link and Motivation Group メトリクス・ダッシュボード自動化に求められる要件 全自動 リアルタイム性 変更容易性 ダッシュボード要件 見たい時に見たい情報が得ら れないと、開発者は見る気を 無くす メトリクスを計測する事自体 が SRE の負担 (トイル) にな ってはならない メトリクスの具体的な計測方 法は、利用しているツールだ けでなく、開発組織の状況に よって常に変わる

Slide 34

Slide 34 text

34 © Link and Motivation Group 変更に強いメトリクス集計 ツールだけでなく、開発組織や事業のフェーズによって、集計方法は都度変わる。 ブランチングモデル が変わったり... インシデント対応 プロセスが変わる等

Slide 35

Slide 35 text

© Link and Motivation Group 35 メトリクスダッシュボードの作成方法

Slide 36

Slide 36 text

36 © Link and Motivation Group 最近はメトリクス集計をする外部サービスもあるよね SRE 始めたての若い組織は、実績が足りないので 外部サービス (※お金掛かる) をうまく活用できるか、判断がつかない。 初めはタダで出来る範囲で 経験値を積んでからかなぁ...

Slide 37

Slide 37 text

37 © Link and Motivation Group 使用するサービス

Slide 38

Slide 38 text

38 © Link and Motivation Group 全体アーキテクチャ

Slide 39

Slide 39 text

39 © Link and Motivation Group 全体アーキテクチャ 直感的に 作成可能 変更が簡単 無料の範囲 で使用可能 自動で 集計可能

Slide 40

Slide 40 text

40 © Link and Motivation Group 全体アーキテクチャ

Slide 41

Slide 41 text

41 © Link and Motivation Group サンプルで作成するダッシュボード dailyのリードタイム中央値 (統計値) マージされた日付 (期間) リードタイム = マージされた日付 - ファーストコミットされた日付

Slide 42

Slide 42 text

42 © Link and Motivation Group 全体アーキテクチャ

Slide 43

Slide 43 text

43 © Link and Motivation Group データの収集について 変数値 詳細 title PRのタイトル author PRの作成者 url PRのURL Base PRの向け先ブランチ名 created_at PR作成された日付 merged_at PRマージされた日付 first_commited_at ファーストコミットの日付 Github Actionsでリードタイム計測に必要なPR情報を抽出 上記の情報をPRマージ時に自動でスプレッドシートに書き込むよう設定

Slide 44

Slide 44 text

44 © Link and Motivation Group データの収集について Githubから抽出した情報を受け取るテーブルを用意

Slide 45

Slide 45 text

45 © Link and Motivation Group データの収集について Githubから抽出した情報を受け取るテーブルを用意 Githubから自動で情報が送信されてくる

Slide 46

Slide 46 text

46 © Link and Motivation Group 全体アーキテクチャ

Slide 47

Slide 47 text

47 © Link and Motivation Group データの整形について 収集したSpread SheetとLooker Studioを接続する

Slide 48

Slide 48 text

48 © Link and Motivation Group データの整形について ディメンション スプレッドシートのカラム 指標 スプレッドシートから自動で計算される統計データ (SUM,AVE,MED,etc) 収集したSpread SheetとLooker Studioを接続する 1行 (1レコード) グラフの縦軸

Slide 49

Slide 49 text

49 © Link and Motivation Group データの整形について ディメンション スプレッドシートのカラム 指標 スプレッドシートから自動で計算される統計データ (SUM,AVE,MED,etc) 収集したSpread SheetとLooker Studioを接続する 閲覧したい情報のデータの整形ができる!!

Slide 50

Slide 50 text

50 © Link and Motivation Group データの整形について 収集したデータからLooker関数を使ってリードタイムのカラムを作成する レコード タイプ 内容 リードタイム(日) ディメンション スプレッドシートのカラムの merged_atとfirst_commited_atの差分 リードタイム中央値(日) 指標 上記レコードの中央値

Slide 51

Slide 51 text

51 © Link and Motivation Group データの閲覧について Looker Studioで設定したデータを使ってグラフを作成

Slide 52

Slide 52 text

52 © Link and Motivation Group 実際に作成したダッシュボード

Slide 53

Slide 53 text

53 © Link and Motivation Group アウトカム 信頼性の高いダッシュボードができたことで、開発者が生産性向上するための指標となった。 Before After 現状もわからないし、 SREからの依頼で 週1、月1しか改善がされない 現状がわかり、 自分たちで 日々PDCAを回して改善ができる 開発者 開発者

Slide 54

Slide 54 text

© Link and Motivation Group 54 まとめ

Slide 55

Slide 55 text

55 © Link and Motivation Group まとめ ➢ 開発者と生産性向上の活動を協働して、メトリクス目標の達成を成し遂げる為に、 ダッシュボード化 (メトリクスを最新に保ち信頼できる状態に)する 事が大事 ➢ ダッシュボード化、思ってるより簡単にできますよ!

Slide 56

Slide 56 text

THANKS 私達、株式会社 Link & Motivation は 一緒に働く新しい仲間を募集しています! 応募ページはこちら!