Share
SPI原点回帰論:事業課題とFour Keysの結節点を見出す実践的ソフトウェアプロセス改善 / DevOpsDays Tokyo 2024
2024年4月16日より開催された「DevOpsDays Tokyo 2024」の登壇資料です。
https://www.devopsdaystokyo.org/
▼関連資料
テストだけで品質は上がらない?! エセ自己組織化した品質組織からの脱却
https://speakerdeck.com/visional_engineering_and_design/jasst24-tokyo
開発者体験を見える化し「計器飛行」の実現を目指すSODA構想 〜事業の成長とプロダクト組織能力の相関関係を見いだすには〜
https://speakerdeck.com/visional_engineering_and_design/developer-experience-day-2023
ファクトから始める改善アプローチ 〜「LeanとDevOpsの科学」を実践して〜
https://speakerdeck.com/takabow/devopsdays-tokyo2022-huakutokarashi-merugai-shan-apuroti-leantodevopsfalseke-xue-woshi-jian-site
ファクトから始める改善アプローチ EP2 〜 Four Keys の先にある アウトカムに向き合ってみた 〜
https://speakerdeck.com/visional_engineering_and_design/devopsdaystokyo-2023
「エセ自己組織化」症候群から脱却し、約束を守るプロフェッショナルなアジャイルチームになるには -アジャイル時代のマネジメント進化論-
https://speakerdeck.com/visional_engineering_and_design/number-rsgt2023
ユーザー数100万人規模の事業成長を止めずに、レガシーコードと戦う
https://speakerdeck.com/visional_engineering_and_design/jjug-ccc-2022-fall
-----
Visionalのエンジニアリングに関する最新情報はTwitter、ブログで発信しています!📣
▼Visional Engineering Blog
https://engineering.visional.inc/blog/
▼VISIONAL ENGINEERING Twitter
https://twitter.com/VISIONAL_ENG
Visional Engineering & Design
Transcript
153 slides
-
SPI原点回帰論: 事業課題とFour Keysの結節点を⾒出す 実践的ソフトウェアプロセス改善 DevOpsDays Tokyo: Day1, 2024/4/16 Visionalグループ 株式会社ビズリーチ
リクルーティングプロダクト本部 PMO室 SODA推進グループ ⾼橋裕之 内藤靖⼦ -
2 本コンテンツの⽬的 本⽇お伝えしたいこと Learning Outcome エビデンスデータを元に改善する⽅法 • ビズリーチ版SODA構想の実装 • Four
Keysと統計的相関のある27のケイパビリティ • ケイパビリティ(パフォーマンス)向上を⽬指すSPI活動 1. ⾃⼰紹介 2. 会社概要 3. ボス、ロードマップに⼾惑う 4. SPIへの原点回帰 5. ソフトウェアプロセス改善について 6. SPIはDevOps時代に合っているのか? 7. 改善事例 8. まとめ アジェンダ ソフトウェアプロセス改善(SPI)の基本 • SPIとは • SPIに必要なスキル • SPIのアプローチ • SPI活動の事例紹介 -
3 ⾃⼰紹介 数々の受託プロジェクトを経験し、フリーランスを経て、1996年に⽇⽴通信システム株式会社 (現・⽇⽴情報通信エンジニアリング)に⼊社。同社で交換機やIP機器の開発に携わった。2002 年にソニーデジタルネットワークアプリケーションズ株式会社に⼊社し、コンシューマ向けカメラ 開発や全社プロセス改善に取り組む。2013年にウイングアーク1st株式会社に⼊社。2018年か ら品質管理部部⻑、製品品質管理責任者、およびOSS管理責任者を兼任。2021年7⽉に株式会社ビ ズリーチに⼊社しSPI(ソフトウェアプロセス改善)に従事、SODA構想を⽴案・推進。 Certified ScrumMaster®
Advanced Certified ScrumMaster® Certified Scrum Product Owner® Certified Scrum Professional® - ScrumMaster Certified Scrum Professional® - Product Owner Certified Agile Leadership Essentials® Certified Agile Leadership for Organizations® Mobius Outcome Delivery Certified Practitioner PRINCE2® Foundation Certificate in Project Management ⾼橋 裕之(Hiroyuki TAKAHASHI) 趣味 ⼭、海、⼩説、漫画、映画、ランニング 経歴 -
4 ⾃⼰紹介 2000年、キヤノンソフトウェア株式会社(現・キヤノンITソリューションズ株式会社)に⼊社。プリ ンタドライバ開発に従事。2008年、ソニーデジタルネットワークアプリケーションズ株式会社に ⼊社。コンシューマ向けハンディカム開発や携帯型⾳楽プレイヤー開発、ソフトウェアプロセス改 善に携わる。2015年、ウイングアーク1st株式会社に⼊社、2021年8⽉、株式会社ビズリーチに ⼊社し、ソフトウェアプロセス改善に従事。SODA構想の推進に取り組んでいる。 Certified ScrumMaster® Advanced
Certified ScrumMaster® Certified Scrum Product Owner® Certified Agile Leadership Essentials® Certified Agile Leadership for Organizations® Mobius Outcome Delivery Certified Practitioner PRINCE2® Foundation Certificate in Project Management 内藤 靖⼦(Yasuko NAITO) 趣味 コストコ、ねこ、ラジオ体操、昼寝 経歴 -
会社概要 株式会社ビズリーチ / BizReach, Inc. 創業 :2009年4⽉ 代表者 :株式会社ビズリーチ 代表取締役ボス
酒井 哲也 グループ従業員数:2,149名(2023年7⽉末時点) 拠点 :東京、⼤阪、名古屋、福岡、静岡、広島 資本⾦ :1億3,000万円 事業内容:HR Techのプラットフォーム・SaaS事業 -
12 「こっそり変わるよね」 FYxx 8⽉ FYxx 9⽉ FYxx 10⽉ FYxx 11⽉
FYxx 12⽉ FYxx 1⽉ 1Q 2Q エビデンスデータを 経営の意思決定に利 ⽤できるよう可視化 し提供する プロダクトのロードマップ、予定、進捗、進捗理 由のデータを収集する 1プロダクト分、ワンパスのデータ表⽰の仕組みが出来てい る ⾼品質で、アウトカ ムが最⼤化されるプ ロダクトを顧客に届 け続ける開発組織に なる 品質とプロダクト・ マネジメント強化 エンジニア・デザイ ナーが困ったときに ⽀援する仕組み作り Evidence-Based Management に基づた「アウトカム」 指標を使って仮説検証 品質保証制度のグランド デザインの作成が完了する PdM研修 Four Keys 計測仕込みと改 善提案(#RP1) Four Keys 計測仕込みと改 善提案(#RP2) Four Keys 計測仕込みと改 善提案(#RP3) Four Keys 計測仕込みと改 善提案(#RP4) インナーブランディ ング計画 テックブロ グ テックブロ グ テックブロ グ Playbook 1st 作成 Playbook 2nd 作成 Playbook 3rd 作成 BIツールでケイパビリティ をグラフ化する PdM現状調査 ケイパビリティ調査改善 ケイパビリティ調査2 回⽬(HRMOS) 企画・計画 BIツールのフィジビリティスタディを⾏い選定する ペーパープロトタイプ 開発チームとの連携を開始 実績 計画 PdM研修企画 Playbook 構築サイト選定 JIRA/Confluence申請・ 問い合わせフロー構築 導⼊する品質施策の設計とロードマップの作成 施策の導⼊を開始する ⽤語、レベルの定義 関係者との合意形成が完了 データ収集施策の導⼊開始 運⽤のモニタリング モニタリングデータの報告 品質保証制度(品質基準)の 設計⽬的の整理が完了 「アウトカム」の指標を選定 障害データの収集⽬的 活⽤⽅法の整理が完了 Four Keys 計測説明(RP本 部MGR向け) PdM研修設計 ドキュメント 作成 サービスメニュー構築 -
13 「こっそり変わるよね」 FYxx 8⽉ FYxx 9⽉ FYxx 10⽉ FYxx 11⽉
FYxx 12⽉ FYxx 1⽉ 1Q 2Q エビデンスデータを 経営の意思決定に利 ⽤できるよう可視化 し提供する プロダクトのロードマップ、予定、進捗、進捗理由のデータを収集する ⾼品質で、アウトカ ムが最⼤化されるプ ロダクトを顧客に届 け続ける開発組織に なる 品質とプロダクト・ マネジメント強化 エンジニア・デザイ ナーが困ったときに ⽀援する仕組み作り Evidence-Based Management に基づた「アウトカム」 指標を使って仮説検証 品質保証制度のグランド デザインの作成が完了する PdM研修 Four Keys 計測仕込みと改 善提案(#RP1) Four Keys 計測仕込みと改 善提案(#RP2) Four Keys 計測仕込みと改 善提案(#RP3) Four Keys 計測仕込みと改 善提案(#RP4) テックブロ グ Playbook 1st 作成 Playbook 2nd 作成 Playbook 3rd 作成 PdM現状調査 ケイパビリティ調査改善 ケイパビリティ調査2 回⽬(HRMOS) 企画・計画 BIツールのフィジビリティスタディを⾏い選定する ペーパープロトタイプ 開発チームとの連携を開始 実績 計画 PdM研修企画 Playbook 構築サイト選定 JIRA/Confluence申請・ 問い合わせフロー構築 導⼊する品質施策の設計とロードマップの作成 ⽤語、レベルの定義 関係者との合意形成が完了 データ収集施策の導⼊開始 運⽤のモニタリング モニタリングデータの報告 品質保証制度(品質基準)の 設計⽬的の整理が完了 「アウトカム」の指標を選定 障害データの収集⽬的 活⽤⽅法の整理が完了 Four Keys 計測説明(RP本 部MGR向け) PdM研修設計 ドキュメント 作成 サービスメニュー構築 BIツールでケイパビリティ をグラフ化する -
14 「こっそり変わるよね」 FYxx 8⽉ FYxx 9⽉ FYxx 10⽉ FYxx 11⽉
FYxx 12⽉ FYxx 1⽉ 1Q 2Q エビデンスデータを 経営の意思決定に利 ⽤できるよう可視化 し提供する プロダクトのロードマップ、予定、進捗、進捗理由のデータを収集する ⾼品質で、アウトカ ムが最⼤化されるプ ロダクトを顧客に届 け続ける開発組織に なる 品質とプロダクト・ マネジメント強化 エンジニア・デザイ ナーが困ったときに ⽀援する仕組み作り Evidence-Based Management に基づた「アウトカム」 指標を使って仮説検証 品質保証制度のグランド デザインの作成が完了する PdM研修 Four Keys 計測仕込みと改 善提案(#RP1) Four Keys 計測仕込みと改 善提案(#RP2) Four Keys 計測仕込みと改 善提案(#RP3) Four Keys 計測仕込みと改 善提案(#RP4) テックブロ グ Playbook 1st 作成 Playbook 2nd 作成 Playbook 3rd 作成 PdM現状調査 ケイパビリティ調査改善 ケイパビリティ調査2 回⽬(HRMOS) 企画・計画 BIツールのフィジビリティスタディを⾏い選定する ペーパープロトタイプ 開発チームとの連携を開始 実績 計画 PdM研修企画 Playbook 構築サイト選定 JIRA/Confluence申請・ 問い合わせフロー構築 導⼊する品質施策の設計とロードマップの作成 ⽤語、レベルの定義 関係者との合意形成が完了 データ収集施策の導⼊開始 運⽤のモニタリング モニタリングデータの報告 品質保証制度(品質基準)の 設計⽬的の整理が完了 「アウトカム」の指標を選定 障害データの収集⽬的 活⽤⽅法の整理が完了 Four Keys 計測説明(RP本 部MGR向け) PdM研修設計 ドキュメント 作成 サービスメニュー構築 BIツールでケイパビリティ をグラフ化する 分 … -
15 「こっそり変わるよね」 FYxx 8⽉ FYxx 9⽉ FYxx 10⽉ FYxx 11⽉
FYxx 12⽉ FYxx 1⽉ 1Q 2Q エビデンスデータを 経営の意思決定に利 ⽤できるよう可視化 し提供する プロダクトのロードマップ、予定、進捗、進捗理 由のデータを収集する 1プロダクト分、ワンパスのデータ表⽰の仕組みが出来てい る ⾼品質で、アウトカ ムが最⼤化されるプ ロダクトを顧客に届 け続ける開発組織に なる 品質とプロダクト・ マネジメント強化 エンジニア・デザイ ナーが困ったときに ⽀援する仕組み作り Evidence-Based Management に基づた「アウトカム」 指標を使って仮説検証 品質保証制度のグランド デザインの作成が完了する PdM研修 Four Keys 計測仕込みと改 善提案(#RP1) Four Keys 計測仕込みと改 善提案(#RP2) Four Keys 計測仕込みと改 善提案(#RP3) Four Keys 計測仕込みと改 善提案(#RP4) インナーブランディ ング計画 テックブロ グ テックブロ グ テックブロ グ Playbook 1st 作成 Playbook 2nd 作成 Playbook 3rd 作成 BIツールでケイパビリティ をグラフ化する PdM現状調査 ケイパビリティ調査改善 ケイパビリティ調査2 回⽬(HRMOS) 企画・計画 BIツールのフィジビリティスタディを⾏い選定する ペーパープロトタイプ 開発チームとの連携を開始 実績 計画 PdM研修企画 Playbook 構築サイト選定 JIRA/Confluence申請・ 問い合わせフロー構築 導⼊する品質施策の設計とロードマップの作成 施策の導⼊を開始する ⽤語、レベルの定義 関係者との合意形成が完了 データ収集施策の導⼊開始 運⽤のモニタリング モニタリングデータの報告 品質保証制度(品質基準)の 設計⽬的の整理が完了 「アウトカム」の指標を選定 障害データの収集⽬的 活⽤⽅法の整理が完了 Four Keys 計測説明(RP本 部MGR向け) PdM研修設計 ドキュメント 作成 サービスメニュー構築 ⼀度⾒ …… -
16 「こっそり変わるよね」 FYxx 8⽉ FYxx 9⽉ FYxx 10⽉ FYxx 11⽉
FYxx 12⽉ FYxx 1⽉ 1Q 2Q エビデンスデータを 経営の意思決定に利 ⽤できるよう可視化 し提供する プロダクトのロードマップ、予定、進捗、進捗理 由のデータを収集する 1プロダクト分、ワンパスのデータ表⽰の仕組みが出来てい る ⾼品質で、アウトカ ムが最⼤化されるプ ロダクトを顧客に届 け続ける開発組織に なる 品質とプロダクト・ マネジメント強化 エンジニア・デザイ ナーが困ったときに ⽀援する仕組み作り Evidence-Based Management に基づた「アウトカム」 指標を使って仮説検証 品質保証制度のグランド デザインの作成が完了する PdM研修 Four Keys 計測仕込みと改 善提案(#RP1) Four Keys 計測仕込みと改 善提案(#RP2) Four Keys 計測仕込みと改 善提案(#RP3) Four Keys 計測仕込みと改 善提案(#RP4) インナーブランディ ング計画 テックブロ グ テックブロ グ テックブロ グ Playbook 1st 作成 Playbook 2nd 作成 Playbook 3rd 作成 BIツールでケイパビリティ をグラフ化する PdM現状調査 ケイパビリティ調査改善 ケイパビリティ調査2 回⽬(HRMOS) 企画・計画 BIツールのフィジビリティスタディを⾏い選定する ペーパープロトタイプ 開発チームとの連携を開始 実績 計画 PdM研修企画 Playbook 構築サイト選定 JIRA/Confluence申請・ 問い合わせフロー構築 導⼊する品質施策の設計とロードマップの作成 施策の導⼊を開始する ⽤語、レベルの定義 関係者との合意形成が完了 データ収集施策の導⼊開始 運⽤のモニタリング モニタリングデータの報告 品質保証制度(品質基準)の 設計⽬的の整理が完了 「アウトカム」の指標を選定 障害データの収集⽬的 活⽤⽅法の整理が完了 Four Keys 計測説明(RP本 部MGR向け) PdM研修設計 ドキュメント 作成 サービスメニュー構築 -
17 「こっそり変わるよね」 FYxx 8⽉ FYxx 9⽉ FYxx 10⽉ FYxx 11⽉
FYxx 12⽉ FYxx 1⽉ 1Q 2Q エビデンスデータを 経営の意思決定に利 ⽤できるよう可視化 し提供する プロダクトのロードマップ、予定、進捗、進捗理由のデータを収集する ⾼品質で、アウトカ ムが最⼤化されるプ ロダクトを顧客に届 け続ける開発組織に なる 品質とプロダクト・ マネジメント強化 エンジニア・デザイ ナーが困ったときに ⽀援する仕組み作り Evidence-Based Management に基づた「アウトカム」 指標を使って仮説検証 品質保証制度のグランド デザインの作成が完了する PdM研修 Four Keys 計測仕込みと改 善提案(#RP1) Four Keys 計測仕込みと改 善提案(#RP2) Four Keys 計測仕込みと改 善提案(#RP3) Four Keys 計測仕込みと改 善提案(#RP4) テックブロ グ Playbook 1st 作成 Playbook 2nd 作成 Playbook 3rd 作成 PdM現状調査 ケイパビリティ調査改善 ケイパビリティ調査2 回⽬(HRMOS) 企画・計画 BIツールのフィジビリティスタディを⾏い選定する ペーパープロトタイプ 開発チームとの連携を開始 実績 計画 PdM研修企画 Playbook 構築サイト選定 JIRA/Confluence申請・ 問い合わせフロー構築 導⼊する品質施策の設計とロードマップの作成 ⽤語、レベルの定義 関係者との合意形成が完了 データ収集施策の導⼊開始 運⽤のモニタリング モニタリングデータの報告 品質保証制度(品質基準)の 設計⽬的の整理が完了 「アウトカム」の指標を選定 障害データの収集⽬的 活⽤⽅法の整理が完了 Four Keys 計測説明(RP本 部MGR向け) PdM研修設計 ドキュメント 作成 サービスメニュー構築 BIツールでケイパビリティ をグラフ化する -
19 「こっそり変わるよね」 FYxx 8⽉ FYxx 9⽉ FYxx 10⽉ FYxx 11⽉
FYxx 12⽉ FYxx 1⽉ 1Q 2Q エビデンスデータを 経営の意思決定に利 ⽤できるよう可視化 し提供する プロダクトのロードマップ、予定、進捗、進捗理由のデータを収集する ⾼品質で、アウトカ ムが最⼤化されるプ ロダクトを顧客に届 け続ける開発組織に なる 品質とプロダクト・ マネジメント強化 エンジニア・デザイ ナーが困ったときに ⽀援する仕組み作り Evidence-Based Management に基づた「アウトカム」 指標を使って仮説検証 品質保証制度のグランド デザインの作成が完了する PdM研修 Four Keys 計測仕込みと改 善提案(#RP1) Four Keys 計測仕込みと改 善提案(#RP2) Four Keys 計測仕込みと改 善提案(#RP3) Four Keys 計測仕込みと改 善提案(#RP4) テックブロ グ Playbook 1st 作成 Playbook 2nd 作成 Playbook 3rd 作成 PdM現状調査 ケイパビリティ調査改善 ケイパビリティ調査2 回⽬(HRMOS) 企画・計画 BIツールのフィジビリティスタディを⾏い選定する ペーパープロトタイプ 開発チームとの連携を開始 実績 計画 PdM研修企画 Playbook 構築サイト選定 JIRA/Confluence申請・ 問い合わせフロー構築 導⼊する品質施策の設計とロードマップの作成 ⽤語、レベルの定義 関係者との合意形成が完了 データ収集施策の導⼊開始 運⽤のモニタリング モニタリングデータの報告 品質保証制度(品質基準)の 設計⽬的の整理が完了 「アウトカム」の指標を選定 障害データの収集⽬的 活⽤⽅法の整理が完了 Four Keys 計測説明(RP本 部MGR向け) PdM研修設計 ドキュメント 作成 サービスメニュー構築 BIツールでケイパビリティ をグラフ化する 問題 1. 現象のエビデンスがない (なんで変わったの?) 2. お客様への約束を守れてない (信頼・売上への影響懸念) 3. 「今期中はムリです」と変更を断られる (戦略への影響懸念) 4. リスケしたのでオンスケです (ん?) etc. -
22 ボス、ロードマップに⼾惑う ロードマップがこっそり変わるのは ⽣産性が低いからだ ⾃組織の⽣産性が分からないから計画がブレる or ズレた根拠がない(エビデンスが欲しい) ϘεͷԾઆ ։ൃੜ࢈ੑͬͯଌΕͳ͍ͷʁ ͬͺΓΓ͍ͨͳ͊
։ൃνʔϜͷΕͨཧ༝Λ ʮ৴͡Δʯ͔͠ͳ͍ΜͩΑͶ͐ʜʜ -
23 ボス、ロードマップに⼾惑う ロードマップがこっそり変わるのは ⽣産性が低いからだ ⾃組織の⽣産性が分からないから計画がブレる or ズレた根拠がない(エビデンスが欲しい) ロードマップが「おおざっぱな WBS」みたいになっている 作業ばかり挙げてゴール・成果
物に着目できていない 工場みたいに 生産性がわかればソフトウェア も予測可能と思われている (物的生産性) リリースさえすれば 売れると信じている (そうかもしれないし、 そうでないかもしれない) そもそもロードマップを 適当に作った (どうせ変わるしマインド) -
24 ボス、ロードマップに⼾惑う ロードマップがこっそり変わるのは ⽣産性が低いからだ ⾃組織の⽣産性が分からないから計画がブレる or ズレた根拠がない(エビデンスが欲しい) ロードマップが「おおざっぱな WBS」みたいになっている 作業ばかり挙げてゴール・成果
物に着目できていない 工場みたいに 生産性がわかればソフトウェア も予測可能と思われている (物的生産性) リリースさえすれば 売れると信じている (そうかもしれないし、 そうでないかもしれない) そもそもロードマップを 適当に作った (どうせ変わるしマインド) ロードマップがこっそり変わる要因は たくさんありそうだ -
リリース1 リリース2 リリース3 ②リリース計画 ③イテレーション 0 ③イテレーション 1 ③イテレーション 2
③イテレーション 3 ③イテレーション n ④イテレーション計画 ⑥フィーチャーA (⑤ユーザー・ ストーリー2) ⑥フィーチャーB (⑤ユーザー・ ストーリー3) ⑥フィーチャーC (⑤ユーザー・ ストーリー4) ⑥フィーチャーD (⑤ユーザー・ ストーリー5) ⑦タスクA ⑦タスクB ⑦タスクC ⑦タスクD 5時間 8時間 4時間 12時間 nプロダクト・ビジョンが①プロダクト・ロードマップを導く n①プロダクト・ロードマップが②リリース計画を導く n②リリース計画が③イテレーションを 設定する n④イテレーション計画がフィーチャー 開発のスケジュールを設定する n⑤ユーザー・ストーリーによって提供 される優先順位の付いた⑥フィー チャー(ストーリーポイントで⾒積も られる) n⑤ユーザー・ストーリーを提供するた めに作成された⑦タスク(時間単位で ⾒積もられる) ⑥フィーチャーA (⑤ユーザー・ ストーリー1) プロダクト・ロードマップと計画の関連図 ①プロダクト・ロードマップ SP 5 SP 8 SP 3 SP 5 SP 8 (参考)PMBOKガイド第7版の図2-17 を加⼯して作成 -
26 ソフトウェア開発の“⽣産性”指標の難しさ 「書いたコードの量」が⽣産性とは⾔い難い • 1000⾏から成るコードより、10⾏のコードで解決するほうが望ましいこともある • 誰も理解出来ない1⾏のコードより、理解も保守もしやすい数⾏のコードのほうが望ましいこともある 「ベロシティ(速度)」が⽣産性とは⾔い難い • ベロシティはキャパシティを予測する(計画する)ためのツールであって⽣産性とは違う
• ベロシティは、あくまでもチーム内の相対的な尺度(過去の⾃分たちとの⽐較)。即ち、チーム同⼠の⽐較に意味はない 「リソース効率(利⽤率)」を上げれば⽣産性が上がるとは限らない • リソース効率向上ばかり⽬指すと「⼈が⾜りない」問題がいつまでも続く • ⼤事なのは作業に集中する「フロー効率」の向上 • さらに⼤事なのは、必ず発⽣する予想外の仕事や計画変更、エンジニア⾃⾝の実験・勉強・鍛錬の時間を捻出するための「Slack(ゆとり)」 計測によってチーム同⼠が競争・対⽴するような状況を防がなければならない • 開発 vs QA 、開発 vs 運⽤ といった対⽴を煽りかねない 計測値を⼈事評価に使わせない • 評価者への⽢い囁き!(評価が明確になりそうな雰囲気がある) • 評価KPIにしたとたん、数値を良く⾒せるための計測Hackがはじまる(最悪の場合、偽装も) -
27 ボス、ロードマップに⼾惑う ロードマップがこっそり変わるのは ⽣産性が低いからだ ⾃組織の⽣産性が分からないから計画がブレる or ズレた根拠がない(エビデンスが欲しい) ϘεͷԾઆ ։ൃੜ࢈ੑͬͯଌΕͳ͍ͷʁ ͬͺΓΓ͍ͨͳ͊
։ൃνʔϜͷΕͨཧ༝Λ ʮ৴͡Δʯ͔͠ͳ͍ΜͩΑͶ͐ʜʜ -
28 ボス、ロードマップに⼾惑う ロードマップがこっそり変わるのは ⽣産性が低いからだ ⾃組織の⽣産性が分からないから計画がブレる or ズレた根拠がない(エビデンスが欲しい) ϘεͷԾઆ ։ൃੜ࢈ੑͬͯଌΕͳ͍ͷʁ ͬͺΓΓ͍ͨͳ͊
։ൃνʔϜͷΕͨཧ༝Λ ʮ৴͡Δʯ͔͠ͳ͍ΜͩΑͶ͐ʜʜ 測るのは良いが、 測ったあとのことや 測るときのチームの負荷を考えて 意味のない計測をしないようにする 必要がある -
29 計測を始めるにあたって注意したこと プロジェクトを 時間通り、予算通りに 終わらせることよりも もっと重要なのは、 世界を変えるような、あるいは企業 やビジネスのあり⽅を変えるような ソフトウェアを作るという「変⾰」 (参照)Tom
DeMarco. (2009). IEEE Software誌7⽉8⽉合併号"Software Engineering: An Idea Whose Time Has Come and Gone?". -
30 計測を始めるにあたって注意したこと プロジェクトを 時間通り、予算通りに 終わらせることよりも もっと重要なのは、 世界を変えるような、あるいは企業 やビジネスのあり⽅を変えるような ソフトウェアを作るという「変⾰」 (参照)Tom
DeMarco. (2009). IEEE Software誌7⽉8⽉合併号"Software Engineering: An Idea Whose Time Has Come and Gone?". 「アウトプット」より「アウトカム」 -
31 計測を始めるにあたって注意したこと • 組織がアウトカムではなくアウトプットで成功を計測しようとして、⾏き詰まっている状況* • 実際に⽣み出された価値ではなく、機能の開発とリリースに集中してしまっている状態* ビルドトラップ 誰もプロダ クトを使わ ない
⾜りない機 能を作る 顧客に⾜り ない機能を 聞く ϓϩμΫτͷࢮͷαΠΫϧ σΠϏουɾϒϥϯυ IUUQTUXJUUFSDPNEBWJEKCMBOETUBUVT * Perri, M. (2018). ϓϩμΫτϚωδϝϯτ ―ϏϧυτϥοϓΛආ͚ސ٬ʹՁΛಧ͚Δ (٢Ӌ ཾଠ, Trans.). O'Reilly Japan, Inc. -
32 計測を始めるにあたって注意したこと • 組織がアウトカムではなくアウトプットで成功を計測しようとして、⾏き詰まっている状況* • 実際に⽣み出された価値ではなく、機能の開発とリリースに集中してしまっている状態* ビルドトラップ 誰もプロダ クトを使わ ない
⾜りない機 能を作る 顧客に⾜り ない機能を 聞く ϓϩμΫτͷࢮͷαΠΫϧ σΠϏουɾϒϥϯυ IUUQTUXJUUFSDPNEBWJEKCMBOETUBUVT * Perri, M. (2018). ϓϩμΫτϚωδϝϯτ ―ϏϧυτϥοϓΛආ͚ސ٬ʹՁΛಧ͚Δ (٢Ӌ ཾଠ, Trans.). O'Reilly Japan, Inc. 「アウトプット」より「アウトカム」 -
34 Software Outcome Delivery Architecture(SODA): prototype • “相互に関連した責任感のあるチーム ”を組織に「実装」するうえで必要なマネジ メント関連のナレッジ・スキル体系・フレームワークなどを集め組織への実装イ
メージを「設計」しメタ的なアーキテクチャを作成した。 • これを Software Outcome Delivery Architecture (SODA) と名付けた。 -
35 SODA Journey https://speakerdeck.com/takabow/devopsdays-tokyo2022-huakutokarashi- merugai-shan-apuroti-leantodevopsfalseke-xue-woshi-jian-site https://speakerdeck.com/visional_engineering_and_design/number- rsgt2023 https://speakerdeck.com/visional_engineering_and_design/developer- experience-day-2023 https://speakerdeck.com/visional_engineering_and_design/devopsdaystoky
o-2023 https://speakerdeck.com/visional_engineering_and_design/jasst24-tokyo 2022-4-21 DevOpsDaysTokyo 2022 2023-1-11 Regional Scrum Gathering Tokyo 2023 2023-4-18 DevOpsDaysTokyo 2023 2023-6-14 Developer eXperience Day 2023 2024-3-14 JaSST'24 Tokyo -
39 Software Outcome Delivery Architecture(SODA): prototype ͥͻਐΊͯʂ ܦӦܭଌ݁ՌΛಡΉ εΩϧ͕ඞཁͩͶʂ ϓϩμΫτ৫Λʮܭଌʯͯ͠
վળͷख͕͔ΓΛ͔ͭΉΜͩͶ ՊֶతͰ͍͍Ͷʂ 40%"ߏͬͯͷΛߟ͑·ͨ͠ʂ ͥͻɺਐΊ͍ͤͯͩ͘͞͞ʂ ボス -
47 指標構造|プロダクト下 - 3つの指標領域 ࣭ 2 ͱεϐʔυ % 開発進捗 障害
։ൃνʔϜ パフォーマンス 顧客満足度 営業指標 マーケティング指標 市場占有率 ച্ 利益 契約企業/HH数 登録ユーザー数 6)4 求人数 内定率 入社人数 レジュメ数 応募数 内定承諾率 ো োϨϕϧ %03"ϝτϦΫε ʢFourKeysͳͲʣ オンプロダクト指標 スコープ 4 時間 % 予算 $ デリバリーの変更率 進捗率 スコープの達成率 マイルストーン達成率 人件費 固定費 開発ツール費 e-NPS パルスサーベイ DiSC (行動特性) 勤務年数 ϓϩμΫτ৫ͷコンディション 開発チーム組成 年齢 性別 ڃ ΤϯδχΞݸਓέΠύϏϦςΟ ίϛοτ ฏۉίϛοταΠζ 13࡞ɾϚʔδ ίʔυߦ ฏۉ13Ϋϩʔζ࣌ ؒ *TTVFUJDLFUΫϩʔ ζ ࣭ 2 ͱεϐʔυ プロダクト開発指標 アウトカム アウトカム指標は、3つの指標群(営業、マーケティング、 プロダクト開発)により可視化できると考えています。 -
計測の重要性:Opinion vs Fact(意⾒か事実か) Problem(問題) Solution(解決策) Fact(事実) Opinion(意⾒) 設計 デプロイ 仮説を実装する
(改善活動) 仮説を動かす (改善活動) 結果を 検証する 仮説 改善アプローチ の仮説を⽴てる 計測 (参考) https://slide.meguro.ryuzee.com/slides/78 吉⽻⿓太郎さん「カイゼンの基本」の図を変更 仮説を⽴てるには、 計測データを検証す る必要がある。 SODA -
計測の重要性:Opinion vs Fact(意⾒か事実か) Problem(問題) Solution(解決策) Fact(事実) Opinion(意⾒) 設計 デプロイ 仮説を実装する
(改善活動) 仮説を動かす (改善活動) 結果を 検証する 仮説 改善アプローチ の仮説を⽴てる 計測 (参考) https://slide.meguro.ryuzee.com/slides/78 吉⽻⿓太郎さん「カイゼンの基本」の図を変更 仮説を⽴てるには、 計測データを検証す る必要がある。 SODA ⼤抵の組織では この「改善アプローチの仮説」を ⽴てるスキルが不⾜している 仮説 改善アプローチ の仮説を⽴てる -
59 ⽣産性とは 「⽣産性とは⽣産諸要素の有効利⽤の度合いである」 (参考)BizReach withHR「労働⽣産性とは?【⾼める⽅法】計算式、種類、⽇本の現状」https://media.bizreach.biz/24663/ ⼈ ←労働⽣産性 ⽣産性=産出(output) ÷ 投⼊(input)
物的労働⽣産性:量 付加価値労働⽣産性:質(利益) =⽣産量 ÷(労働者数 or 労働者数×労働時間) =付加価値額 ÷(労働者数 or 労働者数×労働時間) -
60 ⽣産性とは 「⽣産性とは⽣産諸要素の有効利⽤の度合いである」 (参考)BizReach withHR「労働⽣産性とは?【⾼める⽅法】計算式、種類、⽇本の現状」https://media.bizreach.biz/24663/ ⼈ ←労働⽣産性 ⽣産性=産出(output) ÷ 投⼊(input)
物的労働⽣産性:量 付加価値労働⽣産性:質(利益) =⽣産量 ÷(労働者数 or 労働者数×労働時間) =付加価値額 ÷(労働者数 or 労働者数×労働時間) 開発⽣産性を語るうえで「測っても仕⽅がない」や「物的労働⽣ 産性の計測はアジャイル開発では危険」といった論調も。 -
61 ⽣産性とは 「⽣産性とは⽣産諸要素の有効利⽤の度合いである」 (参考)BizReach withHR「労働⽣産性とは?【⾼める⽅法】計算式、種類、⽇本の現状」https://media.bizreach.biz/24663/ ⼈ ←労働⽣産性 ⽣産性=産出(output) ÷ 投⼊(input)
物的労働⽣産性:量 付加価値労働⽣産性:質(利益) =⽣産量 ÷(労働者数 or 労働者数×労働時間) =付加価値額 ÷(労働者数 or 労働者数×労働時間) 開発⽣産性を語るうえで「測っても仕⽅がない」や「物的労働⽣ 産性の計測はアジャイル開発では危険」といった論調も。 ⽣産性? ちょっと何⾔ってるか分からない -
63 ⽣産性:宇宙事業で例えてみる 物的労働⽣産性:量 付加価値労働⽣産性:質(利益) 【メタファー】 安定したロケットの打ち上げ 宇宙で成し遂げたいなら「推⼒」を⼿に⼊れる 【メタファー】 宇宙でのミッション、惑星探査 ⽉⾯基地の建設、⽕星旅⾏
ロケットを打ち上げれないと(量) ミッションは実現できない(質) -
64 ⽣産性:宇宙事業で例えてみる 物的労働⽣産性:量 付加価値労働⽣産性:質(利益) 【メタファー】 安定したロケットの打ち上げ 宇宙で成し遂げたいなら「推⼒」を⼿に⼊れる 【メタファー】 宇宙でのミッション、惑星探査 ⽉⾯基地の建設、⽕星旅⾏
重さ1tのロケットに必要な推⼒は 1t以上(約9.8kN)の推⼒が必要 (ちなみにH3ロケットの総重量は575t、 個体ロケットブースタの真空中推⼒は2300kN) -
65 Elite High Medium Low 変更リードタイム 1⽇未満 1⽇以上1週間未満 1週間以上 1週間以上
デプロイ頻度 1⽇に複数回 (5回/週以上) 週に1回以上 (1回/週以上、5回/週未満) ⽉1回以上 (1回/⽉以上、1回/週 未 満) ⽉1回以上 (1回/⽉以上、1回/週 未 満) デプロイ失敗から の回復時間 1時間未満 1⽇未満 1⽇〜1週間未満 1週間〜 変更失敗率 5% (0〜7.5%未満) およそ10% (7.5%以上12.5%未満) およそ15% (12.5%以上17.5%未満) およそ20%〜 (17.5%以上) The Accelerate State of DevOps Report 2023 より ※カッコ内は弊社の解釈 Four Keys は「推⼒」を計れる -
66 Elite High Medium Low 変更リードタイム 1⽇未満 1⽇以上1週間未満 1週間以上 1週間以上
デプロイ頻度 1⽇に複数回 (5回/週以上) 週に1回以上 (1回/週以上、5回/週未満) ⽉1回以上 (1回/⽉以上、1回/週 未 満) ⽉1回以上 (1回/⽉以上、1回/週 未 満) デプロイ失敗から の回復時間 1時間未満 1⽇未満 1⽇〜1週間未満 1週間〜 変更失敗率 5% (0〜7.5%未満) およそ10% (7.5%以上12.5%未満) およそ15% (12.5%以上17.5%未満) およそ20%〜 (17.5%以上) The Accelerate State of DevOps Report 2023 より ※カッコ内は弊社の解釈 Four Keys は「推⼒」を計れる 開発のパフォーマンス(性能)・レベル -
67 Elite High Medium Low 変更リードタイム 1⽇未満 1⽇以上1週間未満 1週間以上 1週間以上
デプロイ頻度 1⽇に複数回 (5回/週以上) 週に1回以上 (1回/週以上、5回/週未満) ⽉1回以上 (1回/⽉以上、1回/週 未 満) ⽉1回以上 (1回/⽉以上、1回/週 未 満) デプロイ失敗から の回復時間 1時間未満 1⽇未満 1⽇〜1週間未満 1週間〜 変更失敗率 5% (0〜7.5%未満) およそ10% (7.5%以上12.5%未満) およそ15% (12.5%以上17.5%未満) およそ20%〜 (17.5%以上) The Accelerate State of DevOps Report 2023 より ※カッコ内は弊社の解釈 Four Keys は「推⼒」を計れる 開発のパフォーマンス(性能)・レベル ©JAXA -
70 ⽣産性よりチームの性能向上を⽬指す 組織のソフトウェアデリバリのケイパビリティ(能⼒・機能)は、組織に競争上の優位性をもたらす ソフトウェアの デリバリの パフォーマンス 組織全体の パフォーマンス ⾮営利部⾨の パフォーマンス
* Forsgren, N., Humble, J., & Kim, G. (2018). LeanͱDevOpsͷՊֶ [Accelerate: The Science of Lean Software and DevOps] (ࣷ & ࣷΔΈ, ༁). ΠϯϓϨε. (ग़൛201811݄21). p.32, ਤ2.4. -
71 DORA Metrics 変更リードタイム デプロイ頻度 デプロイ失敗からの 回復時間 変更失敗率 信頼性(可⽤性) Four
Keys 27のケイパビリティ 統計的相関 (参考)Google Cloud. ” Explore DORA's research program”. Google Cloud. https://www.devops-research.com/research.html. (参照 2023-1-10) -
72 DORA Metrics 変更リードタイム デプロイ頻度 デプロイ失敗からの 回復時間 変更失敗率 信頼性(可⽤性) Four
Keys 27のケイパビリティ 統計的相関 (参考)Google Cloud. ” Explore DORA's research program”. Google Cloud. https://www.devops-research.com/research.html. (参照 2023-1-10) σϞϦʔν -
73 DORA Metrics 変更リードタイム デプロイ頻度 デプロイ失敗からの 回復時間 変更失敗率 信頼性(可⽤性) Four
Keys 27のケイパビリティ 統計的相関 (参考)Google Cloud. ” Explore DORA's research program”. Google Cloud. https://www.devops-research.com/research.html. (参照 2023-1-10) σϞϦʔν 推⼒ -
74 DORA Metrics 変更リードタイム デプロイ頻度 デプロイ失敗からの 回復時間 変更失敗率 信頼性(可⽤性) Four
Keys 27のケイパビリティ 統計的相関 (参考)Google Cloud. ” Explore DORA's research program”. Google Cloud. https://www.devops-research.com/research.html. (参照 2023-1-10) σϞϦʔν 推⼒ 我々は、⽣産性より チームの性能向上を⽬指す SPI活動を実践してきました -
Stream-aligned team Platform team Enabling team Complicated Subsystem team Collaboration
Fundamental Team Types Team Interaction Modes XaaS Facilitating 6OEFGJOFE5FBN5ZQF Supplementary Team Types SPIへの原点回帰 , M., , M., , , & . (2021). . . -
Stream-aligned team Platform team Enabling team Complicated Subsystem team Fundamental
Team Types SPIへの原点回帰 , M., , M., , , & . (2021). . . ビジネスドメインの特定の領域に密接に関連した作業の流れに沿って配置される。主な ⽬的は、エンドユーザーに価値を直接的に提供する製品やサービスに焦点を当てること である。⽐較的⾃⼰管理的であり、少ない依存関係で迅速に変更を⾏えるよう設計され ている。 ⾼度な技術的専⾨知識を要する複雑なシステムやコンポーネントを開発する責任を担 う。作業には⾼度な数学、計算、またはその他の専⾨的技術が必要であり、その専⾨性 のために他のチームと区別される。 内部で使⽤される製品やサービスを開発し、これによって他のストリームアラインド チームがより迅速に価値を提供できるようにすることを⽬指す。基盤となるプラット フォームやツール、共通のサービスを提供し、これによって他のチームがその上に構築 することができるようにする。 Stream-aligned team が直⾯する技術的な「阻害要因」を克服することを⽬的とする。 新しい技術や⽅法論の導⼊を⽀援し、必要なスキルや能⼒がチーム内で開発されるよう 促す。 このチームは他のチームが⾃⼰完結できるようになるまでの⼀時的または短期的な⽀援 を提供することが多い。 -
Stream-aligned team Platform team Enabling team Complicated Subsystem team Fundamental
Team Types SPIへの原点回帰 , M., , M., , , & . (2021). . . ビジネスドメインの特定の領域に密接に関連した作業の流れに沿って配置される。主な ⽬的は、エンドユーザーに価値を直接的に提供する製品やサービスに焦点を当てること である。⽐較的⾃⼰管理的であり、少ない依存関係で迅速に変更を⾏えるよう設計され ている。 ⾼度な技術的専⾨知識を要する複雑なシステムやコンポーネントを開発する責任を担 う。作業には⾼度な数学、計算、またはその他の専⾨的技術が必要であり、その専⾨性 のために他のチームと区別される。 内部で使⽤される製品やサービスを開発し、これによって他のストリームアラインド チームがより迅速に価値を提供できるようにすることを⽬指す。基盤となるプラット フォームやツール、共通のサービスを提供し、これによって他のチームがその上に構築 することができるようにする。 Stream-aligned team が直⾯する技術的な「阻害要因」を克服することを⽬的とする。 新しい技術や⽅法論の導⼊を⽀援し、必要なスキルや能⼒がチーム内で開発されるよう 促す。 このチームは他のチームが⾃⼰完結できるようになるまでの⼀時的または短期的な⽀援 を提供することが多い。 -
Stream A Stream B Platform V 'MPXPGDIBOHF SPI Enabling team
78 SPIへの原点回帰 Stream- aligned team SPI Enabling team Stream- aligned team SPI Enabling team Stream- aligned team SPI Enabling team XaaS Stream-aligned team が直⾯する技術的な「阻害要因」を克服することを⽬的とする。 新しい技術や⽅法論の導⼊を⽀援し、必要なスキルや能⼒がチーム内で開発されるよう促す。 このチームは他のチームが⾃⼰完結できるようになるまでの ⼀時的または短期的な⽀援を提供する SPI Enabling team とは ソフトウェアプロセス改善(SPI:Software Process Improvement)という⼿法を⽤いて、 ソフトウェア開発の効率性、品質、パフォーマンスを向上させる技術や⽅法論の導⼊を⽀援する -
PdM Enabling team QA Enabling team 79 SPIへの原点回帰 SPI Enabling
team SODAイネーブルメントでスキル、ツール、プロセス、システムの使⽤を向上を促す -
80 SPIへの原点回帰 • 問題の形成⼒:⼤局的に現象を把握し仮説を組み⽴て対策を考える⼒ • 問題の解決⼒:最後までやりきる⼒(GRIT) • これらのスキルを⾝につけるには時間がかかりますが、多くの開発チームや改善担当者にはこれ が不⾜しています。そのため、プロセス改善の専⾨家で構成されるSPI Enabling
team の構築は、 このギャップを埋めるための重要な戦略になります。 SPIを成功させるには2つのメタスキルが必要 Stream- aligned team SPI Enabling team Stream- aligned team SPI Enabling team Stream- aligned team SPI Enabling team XaaS Enabling team は他のチームが⾃⼰完結できるようになるまでの ⼀時的または短期的な⽀援を提供する -
85 ソフトウェアプロセス改善(SPI)とは何か? 料理 ソフトウェア開発 料理研究家 ソフトウェアプロセス改善 (SPI)専⾨家 ݚڀɾ࿉ ݚڀɾ࿉ ࣅ͍ͯΔ
ྉཧͷੈքͰʮྉཧݚڀՈʯͱ͍͏ਓͨ ͕͍ͪΔɻ ࣌ͷมԽͱڞʹੜ׆༷͕ࣜมΘ͍ͬͯ͘ தͰɺʮྉཧݚڀՈʯͦͷ࣌ʹ͋ͬͨ ྉཧΛʑݚڀ͠ɺϨγϐΛ։ൃͨ͠Γ ঝʹྭΜͰ͍Δɻ ιϑτΣΞ։ൃͷੈքͰʮϓϩηεվ ળίʔνɾΞδϟΠϧίʔνʯͱݴΘΕΔ ਓ͕͍ͨͪΔɻ ςΫϊϩδʔͷਐԽͱϏδωεมԽͷε ϐʔυʹ߹ΘͤιϑτΣΞͷ։ൃม Θ͍ͬͯ͘ɻιϑτΣΞϓϩηεվળ 41* ઐՈ༷ʑͳݱʹ͋ͬͨ࠷దͳϓ ϩηενʔϜͷΞϓϩʔνΛʑݚڀ ͠ɺϑϨʔϜϫʔΫΛݚڀͨ͠Γ࣮ફʹྭ ΜͰ͍Δɻ ࣅ͍ͯΔ -
86 ソフトウェアプロセス改善(SPI)とは何か? 料理 ソフトウェア開発 料理研究家 ソフトウェアプロセス改善 (SPI)専⾨家 ݚڀɾ࿉ ݚڀɾ࿉ ࣮ફɾୡ
Πωʔϒϧϝϯτ ⽇本の⾷卓を変える ⽇本⼈のくらしを変える ケイパビリティ獲得を促し、 チームの性能向上を⽬指す ࣅ͍ͯΔ ࣅ͍ͯΔ -
87 ソフトウェアプロセス改善(SPI)とは何か? 1. 優れたソフトウェアプロセスの要 素が、優れたやり⽅で定義できる こと 2. ソフトウェア開発への既存の組織 的アプローチが、これらの要素と 照らし合わせて診断できること
3. 改善のための有意な戦略を定義で きること ࣮ફιϑτΣΞΤϯδχΞϦϯά<ୈ൛>3PHFS41SFTTNBOɾ#SVDF3.BYJNஶ ΑΓҾ༻ -
89 ソフトウェアプロセス改善(SPI)とは何か? IDEALモデル 変化への 刺激 変化背景 の確認 スポンサー シップ確立 活動体制
の構築 現状と 理想像の 記述 勧告の 策定 優先 順位の 設定 アプ ローチ の策定 行動の 計画 解決策の 作成 先行評価/ 試行の実施 解決策の 改良 解決策の 実施 分析と 検証 Initiating 開始 Diagnosing 診断 Establishing 確立 Acting 行動 Learning 学習 1 2 3 4 0 将来活動 を提案 IDEALモデル -
90 ソフトウェアプロセス改善(SPI)とは何か? IDEALモデル 変化への 刺激 変化背景 の確認 スポンサー シップ確立 活動体制
の構築 現状と 理想像の 記述 勧告の 策定 優先 順位の 設定 アプ ローチ の策定 行動の 計画 解決策の 作成 先行評価/ 試行の実施 解決策の 改良 解決策の 実施 分析と 検証 Initiating 開始 Diagnosing 診断 Establishing 確立 Acting 行動 Learning 学習 1 2 3 4 0 将来活動 を提案 SODA構想 IDEALモデル -
91 ソフトウェアプロセス改善(SPI)とは何か? 廻るSPI 診断フェーズ 確⽴フェーズ ⾏動フェーズ 学習フェーズ 1 2 3
4 開発チームの体⼒や 筋⼒のレベルを評価する • ((SODA)) Evidence Viewer で 開発パフォーマンス(Four Kyes)やアウトカム指標など を確認。ケイパビリティ・ データを対⽐させ改善が必要 な箇所を把握する。 開発チームの 筋トレ計画を⽴てる • 診断フェーズで得られた結果 に基づいて、プロセス改善活 動の優先順位と取り組み⽅を 策定し、具体的な改善計画を 作成する。改善計画はSPIが⽀ 援。 実際に筋トレを 開始する • 確⽴フェーズで作成された改 善計画に従って解決策を作 り、その先⾏評価・試⾏・ パッケージ化・展開・⻑期⽀ 援移⾏を実施する。 効果を評価し、必要に応じて 計画を調整する • ⾏動フェーズの結果を受け て、これまでの活動を分析し てその妥当性を確認し、次の サイクルの準備を⾏う。 • 診断フェーズに戻る -
93 SPIはDevOps時代に合っているのか? • SPI活動の起源はSW-CMMの実装を⾏うための改善活動 • SPI活動を専⾨⾏うグループをEPG(Engineering Process Group)またはSEPG(Software Engineering Process
Group)と呼んだ • ⽇本では2002年4⽉に⽇本SPIコンソーシアムが発⾜ https://www.jaspic.org/ • 初めはSW-CMMの⽇本語訳ならびに研究、普及を⽬的としていた • 「Σ計画」の失敗を繰り返さないために設⽴されたとも⾔われている • 現在はソフトウェアプロセスの改善(SPI)およびSPIに伴うプロセス評価(SPA)に関する研 究、技術移転、普及活動、国際交流などを⾏っている • SW-CMM • SW-CMMはCMMIに統合され、V1.3(2010)までは Carnegie Mellon⼤学の Software Engineering Institute (SEI)が管理していた。2012年以降は新たに⽴ち上げた研究所 CMMI Institute へ移管 • 2016年、CMMI Institute はISACAに買収される。2018年3⽉にV2.0をリリース • V1.3までは⽶国防省がスポンサーであったこともあり⼤抵のドキュメントは無料で⼊⼿できてい たが、ISACA買収後はすべて有料となっている(⾮営利団体ではあるが独⽴採算制) CMMとかSEPGを知っていますか? -
94 プロセス改善アプローチ ⽬的に有効な“能⼒あるいは機能”を特定し続け、 それらを組織的に伸ばし改善を⽬指すモデル •CMMの成熟度モデル 成熟のステップを定義し、段階を追って⾼レベル の達成を⽬指すモデル •DORAのケイパビリティモデル テクノロジーやビジネスをめぐる状況が絶えず変化する時代では 「成熟度」よりも「ケイパビリティ」(できること)
を増やすほうが良い IUUQBQQGVKJRSFTPSUTDPNGVKJUP[BOLOPXMFEHFQBHFFRVJQNFOU NPEFQD https://learn.microsoft.com/en-us/azure/devops/boards/work- items/guidance/cmmi/guidance-background-to-cmmi?view=azure-devops -
95 プロセス改善アプローチ ⽬的に有効な“能⼒あるいは機能”を特定し続け、 それらを組織的に伸ばし改善を⽬指すモデル •CMMの成熟度モデル 成熟のステップを定義し、段階を追って⾼レベル の達成を⽬指すモデル •DORAのケイパビリティモデル テクノロジーやビジネスをめぐる状況が絶えず変化する時代では 「成熟度」よりも「ケイパビリティ」(できること)
を増やすほうが良い IUUQBQQGVKJRSFTPSUTDPNGVKJUP[BOLOPXMFEHFQBHFFRVJQNFOU NPEFQD https://learn.microsoft.com/en-us/azure/devops/boards/work- items/guidance/cmmi/guidance-background-to-cmmi?view=azure-devops 「LeanとDevOpsの科学[Accelerate]」では、暗にCMMIを否 定しています。確かに、CMMIの数ヶ⽉単位で時間がかかるレベ ル判定作業に疲弊したり、レベルを維持できずプロセス改善が形 骸化する組織をいくつも⾒てきました。 ⼀⽅で、DORAが提唱する27のケイパビリティモデルには既視感 を覚えます。CMMIのケイパビリティモデルをDevOps向けにモ ダンにしたように⾒えなくもありません。また、成熟度ではあり ませんが、Four Keys には Elite、High、Middle、Low のレベ ル属性があります。 -
96 DORA Metrics 変更リードタイム デプロイ頻度 デプロイ失敗からの 回復時間 変更失敗率 信頼性(可⽤性) Four
Keys 27のケイパビリティ 統計的相関 (参考)Google Cloud. ” Explore DORA's research program”. Google Cloud. https://www.devops-research.com/research.html. (参照 2023-1-10) σϞϦʔν 推⼒ -
97 DORA Metrics 技術 プロセス 組織⽂化 バージョン管理 チームのツール選択のサ ポート チームの実験
システムをモニタリングして ビジネス上の意思決定に役⽴ てる 仕事の満⾜度 トランクベース開発 テストデータ管理 変更承認の効率化 障害の予兆通知 Westrumの組織類型 継続的インテ グレーション セキュリティの シフトレフト 顧客からの フィードバック 仕掛かり制限 学習⽂化 デプロイの⾃動化 データベースの チェンジマネジメント バリューストリーム での作業の可視性 ビジュアル管理 変⾰型リーダーシップ 継続的なテスト クラウド インフラストラクチャ ⼩さいバッチ 単位の作業 継続的デリバリー コードの保守性 疎結合なアーキテクチャ モニタリングとオブザービ リティ ݱࡏͷέΠύϏϦςΟ͕ެ։͞Ε͍ͯΔ IUUQTDMPVEHPPHMFDPNBSDIJUFDUVSFEFWPQTDBQBCJMJUJFT IMKB -
98 DORA Metrics 技術 プロセス 組織⽂化 バージョン管理 チームのツール選択のサ ポート チームの実験
システムをモニタリングして ビジネス上の意思決定に役⽴ てる 仕事の満⾜度 トランクベース開発 テストデータ管理 変更承認の効率化 障害の予兆通知 Westrumの組織類型 継続的インテ グレーション セキュリティの シフトレフト 顧客からの フィードバック 仕掛かり制限 学習⽂化 デプロイの⾃動化 データベースの チェンジマネジメント バリューストリーム での作業の可視性 ビジュアル管理 変⾰型リーダーシップ 継続的なテスト クラウド インフラストラクチャ ⼩さいバッチ 単位の作業 継続的デリバリー コードの保守性 疎結合なアーキテクチャ モニタリングとオブザービ リティ ݱࡏͷέΠύϏϦςΟ͕ެ։͞Ε͍ͯΔ IUUQTDMPVEHPPHMFDPNBSDIJUFDUVSFEFWPQTDBQBCJMJUJFT IMKB 「LeanとDevOpsの科学」には次のような⼀節がある。 “忘れないでほしいのは、「ハイパフォーマンス」とは購⼊した り、真似したりできるものではないという点である。⾃⾝のケイ パビリティを⾼めつつ、⾃チームや⾃組織の現状や⽬標にしっく りくる道を模索する必要がある。そしてこれには、絶え間ない努 ⼒、投資、集中、時間を要する。” Forsgren, N., Humble, J., & Kim, G. (2018). LeanとDevOpsの科学[Accelerate] テクノロジーの戦略的活⽤が組織変⾰を加速する (武舎広幸 & 武舎るみ, Trans.). impress top gear. (Original work published 2018). p. 233. -
101 【事例①】Four Keys 測れませんっ!! メトリクス DORAの定義 いざ測ろうとしたら…… 変更リードタイム コードがコミットされてから本番環境で 正常に実⾏されるまでの時間
1. 複数チームで同⼀リポジトリを使って いて、チーム毎にデータ収集できない 2. リポジトリが複数あって、それぞれに ブランチ戦略が異なる 3. ブランチ戦略が複雑で収集後のデータ 加⼯が⼤変…… デプロイ頻度 コードを本番環境にデプロイまたはエン ドユーザーにリリースした頻度 デプロイ失敗からの 回復時間 サービスインシデントまたは不具合が発 ⽣したときにサービスの復元にどれくら いの時間がかかるか 1. 障害管理ツールを変更したら⽇付 フィールドしかなく、デプロイ失敗か らの回復時間を計測できない 2. 障害のエビデンスはあるが、計測可能 な状態になっていない(テキスト) 変更失敗率 本番環境に変更を加えた、またはユー ザーへのリリースを実施した結果サービ スが低下し、その後修正を⾏う必要が⽣ じた割合 -
102 【事例①】Four Keys 測れませんっ!! • 予定のなかった計測を意識した運⽤はもちろんムリ • 計画されないものは実⾏されない • JiraにせよGitHubにせよ、そもそもルールがなければあっというまに無法地帯
• 繰り返される歴史。チームに運⽤をまかせると、あまり良い結果にはならない • 最低限のガイドラインは横断的に⾒ているEnabling teamが決めると良い • 計測はカトラリールール。プロジェクトの計画に「計測」を組み込む(前提もし くは制約) • 管理ツールを計測可能な形式に整える • 幸いなことに、これから開発が始まる場合は、 計測を意識した運⽤になってきている 計測はカトラリールール 外から順に! https://www.foods-labo.net/page-special.php?special_id=2260 -
Case B: •レガシーで稼働していたシステムの移植を実 施すること。 •「作り変えなので同じ仕様で」と⾔われた。 •時間が経つにつれ、仕様を把握しているひと が居ないことに気づく •また、せっかく作り直すなら、今より良くし たほうが良いのではと思うものの、スケ ジュールの全体感が掴めず躊躇している。
Case A: •チームは共通コンポーネントの開発をしてい る。他チームから様々要望を受け、振り回さ れている。 •カンバンボードでタスク管理をしてるが、そ れ以外ではロードマップしかない。 •タスクの優先順位が判断できず、来たものか ら逐次こなしている……ので常に忙しい。 •これで良いのだろうか? 104 【事例②】地図のない旅 ライトは当てたところしか⾒えない…… 双⼦は似ているけど同じではない… -
リリース1 リリース2 リリース3 ②リリース計画 ③イテレーション 0 ③イテレーション 1 ③イテレーション 2
③イテレーション 3 ③イテレーション n ④イテレーション計画 ⑥フィーチャーA (⑤ユーザー・ ストーリー2) ⑥フィーチャーB (⑤ユーザー・ ストーリー3) ⑥フィーチャーC (⑤ユーザー・ ストーリー4) ⑥フィーチャーD (⑤ユーザー・ ストーリー5) ⑦タスクA ⑦タスクB ⑦タスクC ⑦タスクD 5時間 8時間 4時間 12時間 nプロダクト・ビジョンが①プロダクト・ロードマップを導く n①プロダクト・ロードマップが②リリース計画を導く n②リリース計画が③イテレーションを 設定する n④イテレーション計画がフィーチャー 開発のスケジュールを設定する n⑤ユーザー・ストーリーによって提供 される優先順位の付いた⑥フィー チャー(ストーリーポイントで⾒積も られる) n⑤ユーザー・ストーリーを提供するた めに作成された⑦タスク(時間単位で ⾒積もられる) ⑥フィーチャーA (⑤ユーザー・ ストーリー1) 【事例②】地図のない旅 ①プロダクト・ロードマップ SP 5 SP 8 SP 3 SP 5 SP 8 (参考)PMBOKガイド第7版の図2-17 を加⼯して作成 欲しいレベルの地図 -
リリース1 5/31 リリース2 7/19 リリース3 9/15 ②リリース計画 ③イテレーション 0 ③イテレーション
1 ③イテレーション 2 ③イテレーション 3 ③イテレーション n ④イテレーション計画 ⑥フィーチャーA (⑤ユーザー・ ストーリー2) ⑥フィーチャーB (⑤ユーザー・ ストーリー3) ⑥フィーチャーC (⑤ユーザー・ ストーリー4) ⑥フィーチャーD (⑤ユーザー・ ストーリー5) ⑦タスクA ⑦タスクB ⑦タスクC ⑦タスクD 5時間 8時間 4時間 12時間 ⑥フィーチャーA (⑤ユーザー・ ストーリー1) 【事例②】地図のない旅 ①プロダクト・ロードマップ SP 5 SP 8 SP 3 SP 5 SP 8 マネジャーの頭の中では イメージされてたりするのだが…… 欲しいレベルの地図 -
リリース1 5/31 リリース2 7/19 リリース3 9/15 ⑦タスクA ⑦タスクB ⑦タスクC ⑦タスクD
5時間 8時間 4時間 12時間 【事例②】地図のない旅 ①プロダクト・ロードマップ ⑦タスクE ⑦タスクF ⑦タスクG ⑦タスクH 2時間 10時間 4時間 12時間 ⑦タスクI ⑦タスクJ ⑦タスクK ⑦タスクL 10時間 8時間 20時間 12時間 ⑦タスクM ⑦タスクN ⑦タスクO ⑦タスクP 15時間 20時間 30時間 35時間 メンバーには、 こんな感じで伝わってしまう -
リリース1 5/31 リリース2 7/19 リリース3 9/15 ⑦タスクA ⑦タスクB ⑦タスクC ⑦タスクD
5時間 8時間 4時間 12時間 【事例②】地図のない旅 ①プロダクト・ロードマップ ⑦タスクE ⑦タスクF ⑦タスクG ⑦タスクH 2時間 10時間 4時間 12時間 ⑦タスクI ⑦タスクJ ⑦タスクK ⑦タスクL 10時間 8時間 20時間 12時間 ⑦タスクM ⑦タスクN ⑦タスクO ⑦タスクP 15時間 20時間 30時間 35時間 メンバーには、 こんな感じで伝わってしまう リリース日、 なんでそこな んだろう…… 〇〇機能はスコープ に含まれる? 先が見えないなぁ なんでこのタ スク順番なん だっけ? 誰がどのタスクや るんだ…やりきれ るのか? -
109 【事例②】地図のない旅 • 「同じ仕様」と⾔われても実はメンバーそれぞれの知っている範囲、理解は異 なっている • 「☓☓は◯◯だよね?!」「あれ、そうだった?」。どこにもドキュメントがなーい!現⾏シス テムを動作させて確認する・・・。 • ざっくり何ができるかはわかるが、詳細になるとみんな違うことを⾔う
(引⽤)https://agilewarrior.wordpress.com/2010/11/06/the-agile-inception-deck/ -
111 【事例②】ユーザーストーリーマッピング • 以下の3つを同時に⾒える化する • 【ワークフロー】【プロダクトの設計】【リリース計画】 (引用)Jeff Patton著 川口 恭伸
監訳 長尾 高弘 訳 『ユーザーストーリーマッピング』 -
リリース1 5/31 リリース2 7/19 リリース3 9/15 ②リリース計画 ③イテレーション 0 ③イテレーション
1 ③イテレーション 2 ③イテレーション 3 ③イテレーション n ④イテレーション計画 ⑥フィーチャーA (⑤ユーザー・ ストーリー2) ⑥フィーチャーB (⑤ユーザー・ ストーリー3) ⑥フィーチャーC (⑤ユーザー・ ストーリー4) ⑥フィーチャーD (⑤ユーザー・ ストーリー5) ⑦タスクA ⑦タスクB ⑦タスクC ⑦タスクD 5時間 8時間 4時間 12時間 ⑥フィーチャーA (⑤ユーザー・ ストーリー1) 【事例②】ユーザーストーリーマッピング ①プロダクト・ロードマップ SP 5 SP 8 SP 3 SP 5 SP 8 ゴールまでの進 み⽅がわかった 優先順位の⾼い ものから完成さ せるぞー! リリース1で◯◯ ができるように なるね -
116 【事例③】⽣産性のパラドックス • 情報技術の導⼊が進むにつれて、⽣産性が期待されるほど向上しない、あるいは 場合によっては低下する現象を指す。1980年代にこの語が広まり、特にオフィス の⾃動化やコンピュータ技術の急速な発展に伴う⽣産性の停滞が問題とされた。 • 経済学者のロバート・ソローは、「コンピュータの⽣産性効果は⾄る所で⾒られ るが、統計数字には現れない」と述べ、このパラドックスを端的に表現している。 •
このパラドックスの原因は多岐にわたる。⼀つは、新技術の導⼊初期において、 従業員がその技術を習得し、効果的に活⽤するまでに時間が必要であるため、短 期間での⽣産性向上が⾒込めないことがある。また、技術導⼊に伴うコストが初 期の⽣産性向上を上回る場合もある。さらに、新技術のポテンシャルを最⼤限に 活⽤するための組織やプロセスの改⾰が伴わない場合、その効果が限定的になる ことも指摘されている。 • したがって、「Productivity Paradox」は、単に新技術を導⼊するだけでは不⼗分 であり、その技術を最⼤限に活⽤するための戦略的なアプローチが必要であるこ とを⽰唆している。 Productivity Paradox (Solow paradox) -
119 【事例③】⽣産性のパラドックス 変更リードタイム デプロイ頻度 デプロイ失敗からの 回復時間 変更失敗率 信頼性(可⽤性) Four Keys
27のケイパビリティ 統計的相関 (参考)Google Cloud. ” Explore DORA's research program”. Google Cloud. https://www.devops-research.com/research.html. (参照 2023-1-10) しかし、 Four Keys はこの印象を打ち消す メトリクスではない -
120 【事例③】エビデンスベースドマネジメント(EBM) • エビデンスベースドマネジメントは、Scrum.org、Professional Scrum Trainer の コミュニティ、Ken Schwaber、Christina Schwaberによって共同開発された。
• 価値を俊敏に、計測・管理・改善するためのフレームワーク (参考)Scrum.org ”Evidence-Based Management Guide” https://www.scrum.org/resources/evidence-based-management-guide (参照 2023-1-10) -
121 【事例③】エビデンスベースドマネジメント(EBM) 重要価値領域(KVA) 市場に出すまでの時間(反応性) (T2M: Time to Market) 新しい能⼒、サービス、製品を迅速 に提供する能⼒
イノベーションの能⼒(効果性) (A2I: Ability to Innovate) 顧客やユーザーのニーズにより良く 応えられるような新しい能⼒を提供 する能⼒ 現在の価値 (CV: Current Value) 現在、顧客やユーザーに提供された 価値 未実現の価値 (UV: Unrealized Value) 顧客やユーザーの潜在的なニーズを すべて満たすことによって実現しう る価値 -
122 【事例③】エビデンスベースドマネジメント(EBM) 重要価値領域(KVA) 市場に出すまでの時間(反応性) (T2M: Time to Market) 新しい能⼒、サービス、製品を迅速 に提供する能⼒
イノベーションの能⼒(効果性) (A2I: Ability to Innovate) 顧客やユーザーのニーズにより良く 応えられるような新しい能⼒を提供 する能⼒ 現在の価値 (CV: Current Value) 現在、顧客やユーザーに提供された 価値 未実現の価値 (UV: Unrealized Value) 顧客やユーザーの潜在的なニーズを すべて満たすことによって実現しう る価値 市場価値 組織的な能⼒ -
123 【事例③】 EBMの重要価値指標(KVM)の例 KVM Measuring 従業員1⼈あたりの収益 この⽐率(総収益 / 従業員数)は業界内の主要な競争 指標である。業界によって⼤きく異なる。
プロダクトコスト⽐率 計測対象のプロダクトやシステムにかかる総費⽤およ びコスト。運⽤コストも含まれる。 従業員満⾜度 従業員のエンゲージメント、エネルギー、熱意を計測 するのに役⽴つ感情分析の⼀種。 顧客満⾜度 プロダクトに 対する顧客のエンゲージメ ントと幸福度を計測す プロダクトに対する顧客のエンゲージメントと幸福度 を計測するのに役⽴つ感情分析の⼀種。 顧客使⽤指標 機能別の利⽤状況を計測して、顧客がプロダクトをど の程度有益だと思っているかを推測する。また、機能 にかける実際の使⽤時間が、期待と⼀致しているかを 確認する。 現在の価値(CV) 未実現の価値(UV) KVM Measuring 市場占有率 プロダクトが市場を占める相対的な割合。顧客 のニーズをよりよく満たした場合、そのプロダ クトが達成できるであろう潜在的な市場シェア。 顧客(ユーザー)満⾜度ギャップ 顧客またはユーザーが望む体験と実際の体験の 格差。 望ましい顧客体験または満⾜度 顧客が望んでいる体験を⽰す指標。 KVM Measuring ビルドと統合の頻度 単位時間あたりのビルド(統合されてテストされたもの)の回数。 頻繁にあるいは継続的にリリースしているチームであれば、実際のリ リース回数を計測する。 リリースの頻度 単位時間あたり(継続的、⽇次、週次、⽉次、四半期ごとなど)のリ リース回数。これは、新規的で競争⼒のあるプロダクトにおいて、顧 客を満⾜させるために必要な時間を評価するのに役⽴つ。 リリースの安定期間 開発者がリリースの準備ができたと⾔ったときから、プロダクトの問 題を修正して、実際に顧客にリリースされるまでにかかった時間。こ れは、貧弱な開発プラクティス、その基盤となる設計やコードベース の影響を表すのに役⽴つ。 平均修復時間 エラーが発⾒されてから修正されるまでの平均時間。これは、組織が エラーを修正するときの効率性を明らかにする。 顧客サイクルタイム リリース作業に着⼿してから実際にリリースするまでの時間。組織が 顧客にリーチするための能⼒を計測するのに役⽴つ。 リードタイム アイデアが提案されて仮説が形成されてから、顧客がそのアイデアを 享受できるようになるまでの時間。顧客やプロダクトによって、この 指標は⼤きく異なる。顧客満⾜度の要因でもある。 変更のリードタイム コードがコミットされてから本番環境で正常に実⾏されるまでの時間。 Four Keysのひとつ。 デプロイ頻度 組織がプロダクトの新規バージョンを顧客またはユーザーにデプロイ (またはリリース)する回数。Four Keysのひとつ。 サービス復元時間 サービスの停⽌が開始されてからサービスの可⽤性が完全に回復する までの時間。Four Keysのひとつ。 学習時間 アイデアや改善をスケッチして、構築して、ユーザーに提供して、そ の利⽤を学習するまでにかかる時間。 障害物除去時間 障害物が発⽣してから解決さるまでの平均時間。リードタイムや従業 員満⾜度の要因でもある。 ピボットまでの時間 真のビジネスアジリティの指標で、組織がフィードバックや新しい情 報を得てから、そのフィードバックに対応するまでの経過時間を表す。 例えば、競合他社が新たな市場獲得のための機能を提供したことを 知ってから、組織が顧客体験を計測できるほどに改善する新機能ある いはそれを超える機能を提供したりするまでの時間。 市場に出すまでの時間(T2M) KVM Measuring イノベーション率 新しいプロダクトの機能に費やした労⼒やコストを、すべてのプロダ クトに費やした労⼒やコストで割ったもの。新しいプロダクトの機能 を提供する組織のキャパシティについてのインサイトが 得られる。 ⽋陥のトレンド 前回の計測から⽋陥の変化を計測したもの。⽋陥とは、顧客、ユー ザー、組織にとってのプロダクトの価値を低下させるものである。⼀ 般的には、意図したとおりに動作しないことを指す。 オンプロダクト指標 チームがプロダクトと価値に費やす時間の割合。 インストールされた バージョンの指標 現在サポートしているプロダクトのバージョン数。これは、組織が古 いバージョンのサポートや保守にかけている労⼒を表している。 技術的負債 プログラミングにおける概念であり、「クイック・アンド・ダー ティ」なソリューションをあとで修正することになったときに発⽣す る。追加の開発やテストの作業を表したもの。価値の提供に 望ましくない影響を与え、回避可能な無駄とリスクの増加を⽣み出す。 本番環境のインシデ ントの数 インストールされたプロダクトの問題を修正するために開発チームが 特定の期間中断された回数。本番環境でのインシデントの回数は、本 番環境の安定性を⽰すのに役⽴つ。 プロダクト(コー ド)のアクティブな ブランチ数 プロダクトやサービスの異なるバージョン(または種類)の数。変更 による潜在的な影響とそれに伴う作業の複雑さについてのインサイト が得られる。 ブランチ間でコード をマージする時間 プロダクトやサービスの異なるバーション間で変更を適⽤するために 費やした時間。変更による潜在的な影響とそれに伴う作業の複雑さに ついてのインサイトが得られる。 コンテキストスイッ チにかかる時間 例えば、ミーティングや電話による中断された時間、タスクの切り替 えに費やした時間、チームメンバーがチーム外の⼈を助けるために中 断された時間がある。問題の規模を把握するのに役⽴ つ。 変更失敗率 リリースされたプロダクトのうち、サービスが低下し、修正を⾏う必 要が⽣じた割合(例: ホットフィックス、ロールバック、パッチ)。 Four Keysのひとつ。 イノベーションの能⼒(A2I) (参考) Scrum.org ⻑沢智治、⾓征典(翻訳)“Evidence-Based Management Guide” 2020-9 p.13-P.16 https://www.scrum.org/resources/evidence-based-management-guide (参照2023-1-10) -
124 【事例③】 EBMの重要価値指標(KVM)の例 KVM Measuring 従業員1⼈あたりの収益 この⽐率(総収益 / 従業員数)は業界内の主要な競争 指標である。業界によって⼤きく異なる。
プロダクトコスト⽐率 計測対象のプロダクトやシステムにかかる総費⽤およ びコスト。運⽤コストも含まれる。 従業員満⾜度 従業員のエンゲージメント、エネルギー、熱意を計測 するのに役⽴つ感情分析の⼀種。 顧客満⾜度 プロダクトに 対する顧客のエンゲージメ ントと幸福度を計測す プロダクトに対する顧客のエンゲージメントと幸福度 を計測するのに役⽴つ感情分析の⼀種。 顧客使⽤指標 機能別の利⽤状況を計測して、顧客がプロダクトをど の程度有益だと思っているかを推測する。また、機能 にかける実際の使⽤時間が、期待と⼀致しているかを 確認する。 現在の価値(CV) 未実現の価値(UV) KVM Measuring 市場占有率 プロダクトが市場を占める相対的な割合。顧客 のニーズをよりよく満たした場合、そのプロダ クトが達成できるであろう潜在的な市場シェア。 顧客(ユーザー)満⾜度ギャップ 顧客またはユーザーが望む体験と実際の体験の 格差。 望ましい顧客体験または満⾜度 顧客が望んでいる体験を⽰す指標。 KVM Measuring ビルドと統合の頻度 単位時間あたりのビルド(統合されてテストされたもの)の回数。 頻繁にあるいは継続的にリリースしているチームであれば、実際のリ リース回数を計測する。 リリースの頻度 単位時間あたり(継続的、⽇次、週次、⽉次、四半期ごとなど)のリ リース回数。これは、新規的で競争⼒のあるプロダクトにおいて、顧 客を満⾜させるために必要な時間を評価するのに役⽴つ。 リリースの安定期間 開発者がリリースの準備ができたと⾔ったときから、プロダクトの問 題を修正して、実際に顧客にリリースされるまでにかかった時間。こ れは、貧弱な開発プラクティス、その基盤となる設計やコードベース の影響を表すのに役⽴つ。 平均修復時間 エラーが発⾒されてから修正されるまでの平均時間。これは、組織が エラーを修正するときの効率性を明らかにする。 顧客サイクルタイム リリース作業に着⼿してから実際にリリースするまでの時間。組織が 顧客にリーチするための能⼒を計測するのに役⽴つ。 リードタイム アイデアが提案されて仮説が形成されてから、顧客がそのアイデアを 享受できるようになるまでの時間。顧客やプロダクトによって、この 指標は⼤きく異なる。顧客満⾜度の要因でもある。 変更のリードタイム コードがコミットされてから本番環境で正常に実⾏されるまでの時間。 Four Keysのひとつ。 デプロイ頻度 組織がプロダクトの新規バージョンを顧客またはユーザーにデプロイ (またはリリース)する回数。Four Keysのひとつ。 サービス復元時間 サービスの停⽌が開始されてからサービスの可⽤性が完全に回復する までの時間。Four Keysのひとつ。 学習時間 アイデアや改善をスケッチして、構築して、ユーザーに提供して、そ の利⽤を学習するまでにかかる時間。 障害物除去時間 障害物が発⽣してから解決さるまでの平均時間。リードタイムや従業 員満⾜度の要因でもある。 ピボットまでの時間 真のビジネスアジリティの指標で、組織がフィードバックや新しい情 報を得てから、そのフィードバックに対応するまでの経過時間を表す。 例えば、競合他社が新たな市場獲得のための機能を提供したことを 知ってから、組織が顧客体験を計測できるほどに改善する新機能ある いはそれを超える機能を提供したりするまでの時間。 市場に出すまでの時間(T2M) KVM Measuring イノベーション率 新しいプロダクトの機能に費やした労⼒やコストを、すべてのプロダ クトに費やした労⼒やコストで割ったもの。新しいプロダクトの機能 を提供する組織のキャパシティについてのインサイトが 得られる。 ⽋陥のトレンド 前回の計測から⽋陥の変化を計測したもの。⽋陥とは、顧客、ユー ザー、組織にとってのプロダクトの価値を低下させるものである。⼀ 般的には、意図したとおりに動作しないことを指す。 オンプロダクト指標 チームがプロダクトと価値に費やす時間の割合。 インストールされた バージョンの指標 現在サポートしているプロダクトのバージョン数。これは、組織が古 いバージョンのサポートや保守にかけている労⼒を表している。 技術的負債 プログラミングにおける概念であり、「クイック・アンド・ダー ティ」なソリューションをあとで修正することになったときに発⽣す る。追加の開発やテストの作業を表したもの。価値の提供に 望ましくない影響を与え、回避可能な無駄とリスクの増加を⽣み出す。 本番環境のインシデ ントの数 インストールされたプロダクトの問題を修正するために開発チームが 特定の期間中断された回数。本番環境でのインシデントの回数は、本 番環境の安定性を⽰すのに役⽴つ。 プロダクト(コー ド)のアクティブな ブランチ数 プロダクトやサービスの異なるバージョン(または種類)の数。変更 による潜在的な影響とそれに伴う作業の複雑さについてのインサイト が得られる。 ブランチ間でコード をマージする時間 プロダクトやサービスの異なるバーション間で変更を適⽤するために 費やした時間。変更による潜在的な影響とそれに伴う作業の複雑さに ついてのインサイトが得られる。 コンテキストスイッ チにかかる時間 例えば、ミーティングや電話による中断された時間、タスクの切り替 えに費やした時間、チームメンバーがチーム外の⼈を助けるために中 断された時間がある。問題の規模を把握するのに役⽴ つ。 変更失敗率 リリースされたプロダクトのうち、サービスが低下し、修正を⾏う必 要が⽣じた割合(例: ホットフィックス、ロールバック、パッチ)。 Four Keysのひとつ。 イノベーションの能⼒(A2I) (参考) Scrum.org ⻑沢智治、⾓征典(翻訳)“Evidence-Based Management Guide” 2020-9 p.13-P.16 https://www.scrum.org/resources/evidence-based-management-guide (参照2023-1-10) -
125 【事例③】 EBMの重要価値指標(KVM)の例 KVM Measuring イノベーション率 新しいプロダクトの機能に費やした労⼒やコストを、すべてのプロダクトに費やした労⼒やコストで割ったもの。新しいプロダクトの 機能を提供する組織のキャパシティについてのインサイトが 得られる。 ⽋陥のトレンド
前回の計測から⽋陥の変化を計測したもの。⽋陥とは、顧客、ユーザー、組織にとってのプロダクトの価値を低下させるものである。 ⼀般的には、意図したとおりに動作しないことを指す。 オンプロダクト指標 チームがプロダクトと価値に費やす時間の割合。 インストールされたバージョンの指標 現在サポートしているプロダクトのバージョン数。これは、組織が古いバージョンのサポートや保守にかけている労⼒を表している。 技術的負債 プログラミングにおける概念であり、「クイック・アンド・ダーティ」なソリューションをあとで修正することになったときに発⽣す る。追加の開発やテストの作業を表したもの。価値の提供に 望ましくない影響を与え、回避可能な無駄とリスクの増加を⽣み出す。 本番環境のインシデントの数 インストールされたプロダクトの問題を修正するために開発チームが特定の期間中断された回数。本番環境でのインシデントの回数は、 本番環境の安定性を⽰すのに役⽴つ。 プロダクト(コード)のアクティブなブラ ンチ数 プロダクトやサービスの異なるバージョン(または種類)の数。変更による潜在的な影響とそれに伴う作業の複雑さについてのインサ イトが得られる。 ブランチ間でコードをマージする時間 プロダクトやサービスの異なるバーション間で変更を適⽤するために費やした時間。変更による潜在的な影響とそれに伴う作業の複雑 さについてのインサイトが得られる。 コンテキストスイッチにかかる時間 例えば、ミーティングや電話による中断された時間、タスクの切り替えに費やした時間、チームメンバーがチーム外の⼈を助けるため に中断された時間がある。問題の規模を把握するのに役⽴ つ。 変更失敗率 リリースされたプロダクトのうち、サービスが低下し、修正を⾏う必要が⽣じた割合(例: ホットフィックス、ロールバック、パッ チ)。 Four Keysのひとつ。 イノベーションの能⼒(A2I) (参考) Scrum.org ⻑沢智治、⾓征典(翻訳)“Evidence-Based Management Guide” 2020-9 p.13-P.16 https://www.scrum.org/resources/evidence-based-management-guide (参照2023-1-10) -
126 【事例③】 EBMの重要価値指標(KVM)の例 KVM Measuring イノベーション率 新しいプロダクトの機能に費やした労⼒やコストを、すべてのプロダクトに費やした労⼒やコストで割ったもの。新しいプロダクトの 機能を提供する組織のキャパシティについてのインサイトが 得られる。 ⽋陥のトレンド
前回の計測から⽋陥の変化を計測したもの。⽋陥とは、顧客、ユーザー、組織にとってのプロダクトの価値を低下させるものである。 ⼀般的には、意図したとおりに動作しないことを指す。 オンプロダクト指標 チームがプロダクトと価値に費やす時間の割合。 インストールされたバージョンの指標 現在サポートしているプロダクトのバージョン数。これは、組織が古いバージョンのサポートや保守にかけている労⼒を表している。 技術的負債 プログラミングにおける概念であり、「クイック・アンド・ダーティ」なソリューションをあとで修正することになったときに発⽣す る。追加の開発やテストの作業を表したもの。価値の提供に 望ましくない影響を与え、回避可能な無駄とリスクの増加を⽣み出す。 本番環境のインシデントの数 インストールされたプロダクトの問題を修正するために開発チームが特定の期間中断された回数。本番環境でのインシデントの回数は、 本番環境の安定性を⽰すのに役⽴つ。 プロダクト(コード)のアクティブなブラ ンチ数 プロダクトやサービスの異なるバージョン(または種類)の数。変更による潜在的な影響とそれに伴う作業の複雑さについてのインサ イトが得られる。 ブランチ間でコードをマージする時間 プロダクトやサービスの異なるバーション間で変更を適⽤するために費やした時間。変更による潜在的な影響とそれに伴う作業の複雑 さについてのインサイトが得られる。 コンテキストスイッチにかかる時間 例えば、ミーティングや電話による中断された時間、タスクの切り替えに費やした時間、チームメンバーがチーム外の⼈を助けるため に中断された時間がある。問題の規模を把握するのに役⽴ つ。 変更失敗率 リリースされたプロダクトのうち、サービスが低下し、修正を⾏う必要が⽣じた割合(例: ホットフィックス、ロールバック、パッ チ)。 Four Keysのひとつ。 イノベーションの能⼒(A2I) (参考) Scrum.org ⻑沢智治、⾓征典(翻訳)“Evidence-Based Management Guide” 2020-9 p.13-P.16 https://www.scrum.org/resources/evidence-based-management-guide (参照2023-1-10) -
130 【事例③】時間の使い⽅に問題がありそう 同時に複数のタスクを進 めている 頻繁に会議がはいる Slackでの問合わせや調査 依頼が毎⽇何件もくる 作業はしている!しかし どれも終わらない 頻繁に作業が中断する
割り込み作業が発⽣する プロダクト開発に集中する時間がとれない 迅速なデリバリーが出来ない -
131 【事例③】 DevEx(開発者体験)の3コア・ダイヤモンド DevEx Flow State Feedback Loops Cognitive Load
1. Feedback Loops(フィードバックループ):ソフトウェアの開発とテスト、 コードレビュー、マニュアルテスト、実際のユーザーフィードバックなど、ソ フトウェア配信には多くのフィードバックループが関与しています。これらの ループはすべて短くなければならず、特にタスクがまだ活動中の間に完了する ことが理想的です。フィードバックループがタスクの⼀部として中断すると、 それは次の作業を中断し、認知負荷を増加させます。 2. Cognitive Load(認知負荷):ソフトウェアを作成し維持する作業は⼤量の精神 的処理を必要とします。開発者が多くのツールや技術を持っていると、タスク の⾃然な認知負荷が増加します。ソフトウェアのアーキテクチャも負荷を増加 させることがあります。ツールチェーンの摩擦を減らす、ドキュメンテーショ ンを最新の状態に保つ、システムのアーキテクチャを改善する、プロセスの遅 延を排除することで認知負荷を軽減できます。 3. Flow State(フロー状態):フロー状態は、エネルギーに満ちた集中した感覚を 伴う完全な没頭感として説明されます。この状態は、作業の構造に対するコン トロール、明確な⽬標、魅⼒的な作業があるときに⾃然に発⽣します。フロー をもたらすためには、中断や遅延からの邪魔を防ぐことが必要です。 (参考) Noda, A., Storey, M. A., Forsgren, N., & Greiler, M. (2023). DevEx: What Actually Drives Productivity: The developer-centric approach to measuring and improving productivity. ACM Queue, Vol.21, No.2, p.35-53. -
132 【事例③】 DevEx(開発者体験)の3コア・ダイヤモンド DevEx Flow State Feedback Loops Cognitive Load
1. Feedback Loops(フィードバックループ):ソフトウェアの開発とテスト、 コードレビュー、マニュアルテスト、実際のユーザーフィードバックなど、ソ フトウェア配信には多くのフィードバックループが関与しています。これらの ループはすべて短くなければならず、特にタスクがまだ活動中の間に完了する ことが理想的です。フィードバックループがタスクの⼀部として中断すると、 それは次の作業を中断し、認知負荷を増加させます。 2. Cognitive Load(認知負荷):ソフトウェアを作成し維持する作業は⼤量の精神 的処理を必要とします。開発者が多くのツールや技術を持っていると、タスク の⾃然な認知負荷が増加します。ソフトウェアのアーキテクチャも負荷を増加 させることがあります。ツールチェーンの摩擦を減らす、ドキュメンテーショ ンを最新の状態に保つ、システムのアーキテクチャを改善する、プロセスの遅 延を排除することで認知負荷を軽減できます。 3. Flow State(フロー状態):フロー状態は、エネルギーに満ちた集中した感覚を 伴う完全な没頭感として説明されます。この状態は、作業の構造に対するコン トロール、明確な⽬標、魅⼒的な作業があるときに⾃然に発⽣します。フロー をもたらすためには、中断や遅延からの邪魔を防ぐことが必要です。 (参考) Noda, A., Storey, M. A., Forsgren, N., & Greiler, M. (2023). DevEx: What Actually Drives Productivity: The developer-centric approach to measuring and improving productivity. ACM Queue, Vol.21, No.2, p.35-53. -
133 【事例③】DevEx Metrics Feedback Loops フィードバックループ Cognitive Load 認知負荷 Flow
State フロー状態 Perceptions 認識(態度、感情、意⾒) Human attitudes and opinions • ⾃動テストのスピードと出⼒ に対する満⾜度 • ローカル変更の検証にかかる 時間に対する満⾜度 • 変更を本番に導⼊するまでの 時間に対する満⾜度 • コードベースの複雑さの認識 • プロダクションシステムのデ バッグのしやすさ • ドキュメントの理解しやすさ • 集中⼒と中断を回避する能⼒ の認識 • タスクやプロジェクトの⽬標 が明確であることの満⾜度 • オンコールがもたらす混乱に ついての認識 Workflows ワークフロー System and process behaviors • CIの結果⽣成にかかる時間 • コードレビューのターンアラ ウンドタイム • デプロイメント・リードタイ ム(変更が本番環境にリリー スされるまでの時間) • 技術的な質問に対する回答を 得るまでにかかる時間 • 変更を適⽤するために必要な ⼿動⼿順 • ドキュメントの改善頻度 • ミーティングや割り込みがな い時間帯の数 • 予定外のタスクやリクエスト の発⽣頻度 • チームの対応を必要とするイ ンシデントの発⽣頻度 KPIs North star metrics • ソフトウェア提供の容易さに関する総合的な認識 • 従業員エンゲージメントまたは満⾜度 • ⽣産性の認識 (参考) Noda, A., Storey, M. A., Forsgren, N., & Greiler, M. (2023). DevEx: What Actually Drives Productivity: The developer-centric approach to measuring and improving productivity. ACM Queue, Vol.21, No.2, p.35-53. -
134 【事例③】DevEx Metrics Feedback Loops フィードバックループ Cognitive Load 認知負荷 Flow
State フロー状態 Perceptions 認識(態度、感情、意⾒) Human attitudes and opinions • ⾃動テストのスピードと出⼒ に対する満⾜度 • ローカル変更の検証にかかる 時間に対する満⾜度 • 変更を本番に導⼊するまでの 時間に対する満⾜度 • コードベースの複雑さの認識 • プロダクションシステムのデ バッグのしやすさ • ドキュメントの理解しやすさ • 集中⼒と中断を回避する能⼒ の認識 • タスクやプロジェクトの⽬標 が明確であることの満⾜度 • オンコールがもたらす混乱に ついての認識 Workflows ワークフロー System and process behaviors • CIの結果⽣成にかかる時間 • コードレビューのターンアラ ウンドタイム • デプロイメント・リードタイ ム(変更が本番環境にリリー スされるまでの時間) • 技術的な質問に対する回答を 得るまでにかかる時間 • 変更を適⽤するために必要な ⼿動⼿順 • ドキュメントの改善頻度 • ミーティングや割り込みがな い時間帯の数 • 予定外のタスクやリクエスト の発⽣頻度 • チームの対応を必要とするイ ンシデントの発⽣頻度 KPIs North star metrics • ソフトウェア提供の容易さに関する総合的な認識 • 従業員エンゲージメントまたは満⾜度 • ⽣産性の認識 (参考) Noda, A., Storey, M. A., Forsgren, N., & Greiler, M. (2023). DevEx: What Actually Drives Productivity: The developer-centric approach to measuring and improving productivity. ACM Queue, Vol.21, No.2, p.35-53. -
DevOps Four Keys 137 【事例④】Four Keysでは⾒えないところ リードタイム 変更リードタイム 変更失敗率 デプロイ失敗からの
回復時間 デプロイ頻度 信頼性 企画 計画 実装 テスト デプロイ 運⽤ 設計 障害〜復旧 変更リードタイムを向上させるためには、 プロダクト開発全体の仕事の流れを理解する必要がある -
140 【事例④】ボトルネックを発⾒する 可視化の⽬的 1. 共通認識を形成する 2. ボトルネックを発⾒する 3. ボトルネックをカイゼンする 4.
リードタイムを短縮する= フ ロー効率の向上 ϘτϧωοΫ ྲྀΕ͕ѱ͘ͳΔͱ͜Ζ This is Lean: Resolving the Efficiency Paradoxʢ Niklas Modig (ஶ), Par Ahlstrom (ஶ), Rheologica Publishing, 2012ʣ -
141 【事例④】ボトルネックを発⾒する 7つのムダ 1. つくり過ぎのムダ 2. ⼿待ちのムダ 3. 運搬のムダ 4.
加⼯のムダ 6. 動作のムダ 7. 不良をつくるムダ 5. 在庫のムダ 例 使わない機能をつくる 承認待ちで開発作業にはいれない 他チーム、他部⾨へ引き継ぎをする 不要な成果物を作成する 同時に複数のタスクに着⼿する 不要な作業をおこなう 不具合の修正をする τϤλੜ࢈ํࣜ-نͷܦӦΛࢦͯ͠-ʢ େҰ (ஶ), μΠϠϞϯυࣾ, 1978ʣ -
リリース1 リリース2 リリース3 ②リリース計画 ③イテレーション 0 ③イテレーション 1 ③イテレーション 2
③イテレーション 3 ③イテレーション n ④イテレーション計画 ⑥フィーチャーA (⑤ユーザー・ ストーリー2) ⑥フィーチャーB (⑤ユーザー・ ストーリー3) ⑥フィーチャーC (⑤ユーザー・ ストーリー4) ⑥フィーチャーD (⑤ユーザー・ ストーリー5) ⑦タスクA ⑦タスクB ⑦タスクC ⑦タスクD 5時間 8時間 4時間 12時間 nプロダクト・ビジョンが①プロダクト・ロードマップを導く n①プロダクト・ロードマップが②リリース計画を導く n②リリース計画が③イテレーションを 設定する n④イテレーション計画がフィーチャー 開発のスケジュールを設定する n⑤ユーザー・ストーリーによって提供 される優先順位の付いた⑥フィー チャー(ストーリーポイントで⾒積も られる) n⑤ユーザー・ストーリーを提供するた めに作成された⑦タスク(時間単位で ⾒積もられる) ⑥フィーチャーA (⑤ユーザー・ ストーリー1) プロダクト・ロードマップと計画の関連図 ①プロダクト・ロードマップ SP 5 SP 8 SP 3 SP 5 SP 8 (参考)PMBOKガイド第7版の図2-17 を加⼯して作成 どうやって⾒積もるか? 機能や過去の経験に基づいて⾒積もると 成果物のことを忘れがち。 -
145 【事例⑤】中間成果物を探せ! • ケイパビリティ調査の「ドキュメンテーション」の設問は低いチームが多い • 必要だと思ったときに必要なものを作っているため、決まった成果物が定義されていない • 前述のValue Stream Mapping
を実施してみてきづいたこと • 中間成果物の話しが全然でてこない! • アクティビティと細かいタスクばかりが⽬⽴つ • 代表的な成果物は「会議での話し合い」と「プロダクトバックログ」と「ソースコード」 • 中間成果物がないわけではない。意識していないだけ。 最初から「すべての」中間成果物を⾒極めるのは無理。 だからといって、現時点でわかる範囲の成果物⾒極めをあきらめてはだめ。 アジャイルな計画づくりでは、今わかる成果物の ⽬的確認や優先順位を整理することが⼤事 要因:⾒積もるべき中間成果物が⾒えていない -
147 【事例⑤】中間成果物を⾒出す • Process Flow Diagram(PFD) • 成果物連鎖のシュミレーションができ、不⾜している成果物やムダな成果物の発⾒ができる • PFDは清⽔吉男さんが発案したプロセス設計記法
• (参考) https://affordd.jp/koha_hp/process/PFDform3.pdf • 中間成果物を⾒いだせれば、⾒積もりのブレが低減する • 作業時間=成果物の質量/単位時間あたりの⽣産性 成果物α 仕様化 プロセス 設計 プロセス テスト プロセス 成果物β 成果物γ 成果物δ 成果物ε in out in in out out in -
149 まとめ • アジャイル開発が失敗するのは「推⼒=チーム性能」が満たされる前に、あれや これや考えすぎてるときが多い • まずは、重⼒に負けない推⼒を⼿に⼊れよう! • チーム性能が⾼ければ、ロードマップ(約束)を守れるチームになれる •
価値を作れるのは推⼒を⼿に⼊れてるから! ⽣産性よりチームの性能向上を⽬指す -
150 まとめ • これ絶対忘れちゃだめ • 忘れるとFour Kyesを測ったあと迷⼦になりやすい • 「LeanとDevOpsの科学」は読むたびに新たな発⾒がある良書(つまり難解) •
付録A、B、Cを最初に読むのがオススメ Four Keys はケイパビリティと統計的相関がある Four Keys 27のケイパビリティ 統計的相関 推⼒ -
151 まとめ • SPI活動は、ちょっと特殊なスキルが必要 • ソフトウェアエンジニアリングが⼤事 • 問題の形成⼒も⼤事 • 問題の解決⼒はもっと⼤事
• 昔はSEPGって呼んでた概念(いや、今でもあるとこにはある) • 改善活動をファシリテーションしつつ、「⼿離れ」できるよう⾃律も促す難しい活動 • でも、それを繰り返すことで組織は成⻑する。 SPI Enabling team を⽴ち上げるべき Stream A SPI Enabling team Stream- aligned team SPI Enabling team Stream- aligned team SPI Enabling team Stream- aligned team SPI Enabling team XaaS Stream-aligned team が直⾯する技術的な「阻害要 因」を克服することを⽬的とする。 新しい技術や⽅法論の導⼊を⽀援し、必要なスキルや 能⼒がチーム内で開発されるよう促す。 このチームは他のチームが⾃⼰完結できるようになるまでの ⼀時的または短期的な⽀援を提供する