2023/07/13 開発生産性Conference 2023 https://dev-productivity-con.findy-code.io
The Metrics KeyConnecting Product, System, Team1Masato IshigakiJuly 13, 2023
View Slide
2About me石垣 雅人合同会社 DMM.comプラットフォーム事業本部 部長 / VPoE室 / アルファ室・領域 : 事業戦略・予算管理・PdM・PM・EM・著 : 『DMMを支えるデータ駆動戦略』(マイナビ出版,2020)・連載 : 『スモールチームが武器になる時代へ』(ProductZine)・連載 : 『群知能から紐解く、スケールする“組織“の作り方』(NewsPicks)@i35_267@i35_267@i35_267
6- 開発現場の現状- 可観測性と再現性- 4階層のMetricsOutline
7- 開発現場の現状- 可観測性と再現性- 4階層のMetricsOutline
引用 : 企業IT動向調査報告書 図表 7-3-1 プロジェクト規模別・年度別 システム開発の工期遵守状況(https://juas.or.jp/cms/media/2022/04/JUAS_IT2022.pdf) 8開発現場の現状「工期」「予算」「品質」の3つのカテゴリーで分け、プロジェクト規模を「100人月未満」「100〜500 人月未満」「500人月以上」で分類したデータ工数 : 34.4% 予算 : 37.0% 品質 : 23.0%3つの割合の平均 = 31%前後になります。何かしらの原因で満足いかない可能性が約69%さらに、工数・予算・品質のすべてが予定通りに終わる確率は、工期( 34.4%)× 予算(37.0%)× 品質(23.0%)で約3%
9引用 : 企業IT動向調査報告書 図表 7-3-4 予定どおりにならなかった要因(複数回答)(https://juas.or.jp/cms/media/2022/04/JUAS_IT2022.pdf)[仮説推論]計測と学習が足りていない何度も、同じ失敗をしている原因は、計画・仕様・システムの不確実性
10“ 「不確実性が高い」という言葉を計画, 計測, 学習を適切に行っていない言い訳にしない”
11じゃあ、どうやって戦っていくか=「可観測性」と「再現性」を作っていく
12- 開発現場の現状- 可観測性と再現性- 4階層のMetricsOutline
- “ DX ” の効用は可観測性が上がり、対象物が観測可能になること- すべての活動がデジタルによると「データ」として出力される- サービスの振る舞いがデータとして記録され、ログデータとしてプロットできる- つまり、観測ができるようになる- 事業数値から、プロダクトの振る舞い、システムの稼働率、チームの戦闘力まで観測可能にしていく13“ 可観測性 “を上げる入力input出力outputフィードバックfeedback事業モデル構造補足 : サイバネティクスの「開放システム」一般システム理論
- 予測を作り、実行し、観測し、学習する。再現性を作る。- データとして出力されると観測と分析ができる- 観測がデータできると傾向が見えるので、予測モデルが作れるようになる- 開発プロジェクトごとに学習ができる- 学習ができると、再現性が作れる14“ 再現性 “を上げる予測実行観測学習
Metrics4. チームの戦闘力(生産性)2. プロダクトの戦闘力(魅力)1. 事業の戦闘力(価値)3. システムの戦闘力(装置)総工数(Ex.120人月)- 有効稼働率- リードタイム- ,etc…価値- 売上(P/L)- 競争優位性(シェア率)- KGI / KPIモノとしての魅力- UIの心地よさ(離脱率)- UXの体験の良さ- 機能の優位性- VOCデータ- ,etc..システム- SLO / SLI(稼働率)- レイテンシー- Crash Free Rate- ,etc…同期と連動Log15
16- 開発現場の現状- 可観測性と再現性- 4階層のMetricsOutline
Metrics4. チームの戦闘力(生産性)2. プロダクトの戦闘力(魅力)1. 事業の戦闘力(価値)3. システムの戦闘力(装置)総工数(Ex.120人月)- 有効稼働率- リードタイム- ,etc…価値- 売上(P/L)- 競争優位性(シェア率)- KGI / KPIモノとしての魅力- UIの心地よさ(離脱率)- UXの体験の良さ- 機能の優位性- VOCデータ- ,etc..システム- SLO / SLI(稼働率)- レイテンシー- Crash Free Rate- ,etc…17Log
開発チームから見た開発生産性経営層から見た開発生産性・コストマネジメント└ エンジニア組織への投資額└ 給与水準の高騰と採用└ 事業PLの人件費率,etc..・どれだけ早くリリースするか└ 自動化└ デプロイ回数└ トランクベース開発の導入 ,etc..Metrics
19チームの戦闘力1. コードベースでの開発リードタイム2. 開発 / 非開発を区分した有効稼働率レポート3. 工数・費用を考慮した、工数・ソフトウェア仮勘定レポート
20チームの戦闘力1. コードベースでの開発リードタイムコードを書く → レビュー → Approve → CI → マージ1. ソースコードのホスティングサービスベースでの可視化2. 機能開発だけにフォーカスした数値GitHub → Findy Team+
21チームの戦闘力2. 開発 / 非開発を区分した有効稼働率レポート・勤怠管理ツールと連動して、プロジェクトコードベースでの工数管理・新規開発・保守運用・非開発の比率を表したレポート勤怠管理 → BigQuery → Looker
22チームの戦闘力3. 工数・費用を考慮した、工数・ソフトウェア仮勘定レポート・部署ごとの工数・工期・費用のレポート・対象部署がどういった成果物をどのくらいの金額感で出したか・プロジェクトの規模感、属性によっての差分がログとして残る・過去プロジェクトのログから工数見積もりや注意点回避BPM → BigQuery → LookerプロジェクトA
23チームの戦闘力レポート データ加工 → ビジュアライズ 誰向け開発リードタイム GitHub → Findy Team + 現場有効稼働率レポート勤怠管理ツール → BigQuery →Looker現場・マネージャー工数・ソフトウェア仮勘定レポートBPMシステム→ BigQuery → Looker 管理監督者
24- チームや組織ごとにサイロ化せずに中央集権型にしてログに残す- チーム横断で学習と予測に使うチームの戦闘力
Metrics4. チームの戦闘力(生産性)2. プロダクトの戦闘力(魅力)1. 事業の戦闘力(価値)3. システムの戦闘力(装置)総工数(Ex.120人月)- 有効稼働率- リードタイム- ,etc…価値- 売上(P/L)- 競争優位性(シェア率)- KGI / KPIモノとしての魅力- UIの心地よさ(離脱率)- UXの体験の良さ- 機能の優位性- VOCデータ- ,etc..システム- SLO / SLI(稼働率)- レイテンシー- Crash Free Rate- ,etc…25Log
26システムの戦闘力アプリケーションなどのログベース
27プロダクトの戦闘力プロダクトのトラッキングベースでのログデータ・ユーザー声( VOC)からユーザー体験をプロット
28どんな戦略・戦術で攻めていくか損益計算書(PL)ブレークダウン事業の戦闘力KPIマネジメント売上コスト利益PL → KPIマネジメントまで分解し、向かう方向性を作る
Metrics 4. チームの戦闘力(生産性)2. プロダクトの戦闘力(魅力)1. 事業の戦闘力(価値)3. システムの戦闘力(装置)総工数(Ex.120人月)- 有効稼働率- リードタイム- ,etc…価値- 売上(P/L)- 競争優位性(シェア率)- KGI / KPIモノとしての魅力- UIの心地よさ(離脱率)- UXの体験の良さ- 機能の優位性- VOCデータ- ,etc..システム- SLO / SLI(稼働率)- レイテンシー- Crash Free Rate- ,etc…同期と連動Log / Metrics / Trace29
30- 開発現場の現状- 計測と学習を行っていないがために失敗するケースが多い- 可観測性と再現性- 観測可能にすること。そこから予測を作ることが再現性を作る- 4階層のMetrics- チーム戦闘力→システム→プロダクト→事業の戦闘力を全て繋げるOutline