Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
開発生産性 超入門 / development productivity introduction
Search
sora_ichigo
May 31, 2024
Technology
11
4.5k
開発生産性 超入門 / development productivity introduction
CTOA若手エンジニアコミュニティ勉強会 #5 の発表資料です。
https://ctoa-wakate.connpass.com/event/318007/
sora_ichigo
May 31, 2024
Tweet
Share
More Decks by sora_ichigo
See All by sora_ichigo
プロジェクトマネジメントにおいてチームメンバーが貢献できること / Team Contribution in Projects
igsr5
2
160
PRマージのあらゆるブロッキングを回避する技術 / trunk-based development tips
igsr5
6
890
Shopify/ruby-lsp で快適な Ruby 生活を始めよう / introduction-shopify-ruby-lsp
igsr5
2
3.6k
ユビキタス言語はバックエンドエンジニアから始めよう
igsr5
5
1.4k
テストコードを負債化させない上手な付き合い方 / Test Code Management
igsr5
15
4.5k
テストカバレッジを 100%にするということ / Achieving 100% Test
igsr5
0
2.7k
DevOps の社内浸透を目指してチームを立ち上げた話 / DevOps Guild
igsr5
0
3.1k
プロジェクトマネジメント観点でポストモーテムを実施する
igsr5
0
2.9k
テスト文化の成熟:自動テストが浸透した組織が次に目指すべきステップ
igsr5
4
3.3k
Other Decks in Technology
See All in Technology
実は強い 非ViTな画像認識モデル
tattaka
1
1.1k
デスクトップだけじゃないUbuntu
mtyshibata
0
670
Visualize, Visualize, Visualize and rclone
tomoaki0705
9
77k
速くて安いWebサイトを作る
nishiharatsubasa
15
15k
ESXi で仮想化した ARM 環境で LLM を動作させてみるぞ
unnowataru
0
150
利用終了したドメイン名の最強終活〜観測環境を育てて、分析・供養している件〜 / The Ultimate End-of-Life Preparation for Discontinued Domain Names
nttcom
2
360
ビジネスモデリング道場 目的と背景
masuda220
PRO
9
690
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
140
プロダクトエンジニア 360°フィードバックを実施した話
hacomono
PRO
0
140
わたしのOSS活動
kazupon
2
340
ソフトウェアエンジニアと仕事するときに知っておいたほうが良いこと / Key points for working with software engineers
pinkumohikan
1
140
OSS構成管理ツールCMDBuildを使ったAWSリソース管理の自動化
satorufunai
0
460
Featured
See All Featured
For a Future-Friendly Web
brad_frost
176
9.6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
How to train your dragon (web standard)
notwaldorf
91
5.9k
Statistics for Hackers
jakevdp
797
220k
GitHub's CSS Performance
jonrohan
1030
460k
The Cost Of JavaScript in 2023
addyosmani
47
7.3k
Code Reviewing Like a Champion
maltzj
521
39k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Language of Interfaces
destraynor
156
24k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Transcript
© 2024 Wantedly, Inc. 開発⽣産性 超⼊⾨ CTOA若⼿エンジニアコミュニティ勉強会 #5 May 31
2024 - Sora Ichigo
© 2024 Wantedly, Inc. ⾃⼰紹介 名前 市古 空 (Sora Ichigo)
所属 • ウォンテッドリー株式会社 • バックエンドエンジニア • DevOps 推進チームリード SNS • X: @igsr5_
© 2024 Wantedly, Inc. Business Wantedly Visit iOS, Android and
Web 気軽に会社訪問 ミッションや価値観への共感でマッチング • 給与や福利厚⽣などの条件ではなく、想いがあれば会社 の規模にとらわれない まず「話を聞きに⾏く」という新しい体験 • 個⼈と企業がフラットな⽬線で出会えることで、より魅 ⼒的な場所を⾒つけることが可能に
© 2024 Wantedly, Inc. Business Engagement Perk, Pulse, Story ⾃律型組織づくりをサポート
3つのプロダクトから構成 • 仕事に夢中になり最⾼のパフォーマンスを発揮するために 必要な環境づくりを後押し リモートワークの課題にも • 会社との⼼理的距離の拡⼤によるモチベーションの低下を 防ぎ、退職リスクの増⼤など組織課題を解決
© 2024 Wantedly, Inc. Business Engagement - Perk(パーク) 福利厚⽣ 仕事環境を整える話題のサービスを
提供する「福利厚⽣」 • ⼀⼈ひとりの快適な挑戦を⽀えるサービスを特別価格で提供し、福 利厚⽣の充実を⼿軽に実現 • 特典掲載数 1,000サービス以上
© 2024 Wantedly, Inc. Business Engagement - Story(ストーリー) 社内報 メンバー間で⽬的意識と⼀体感を
共有するオンラインの「社内報」 • ⾯と向かって想いを伝えることが難しい環境においても、 会社のビジョンやバリューの浸透を⽀援
© 2024 Wantedly, Inc. Business Engagement - Pulse(パルス) チームマネジメント チームメンバーの現状把握と
改善を⽀援「チームの状態」 • Slackを通じてチームの価値観を浸透させ、 メンバーの抱える課題や隠れた貢献を可視化
© 2024 Wantedly, Inc. 今⽇話すこと 1. ⼤前提: プロダクト開発とは 2. 開発⽣産性とは
3. 開発⽣産性を上げる 4. ウォンテッドリー事例
© 2024 Wantedly, Inc. ⽬標 開発⽣産性の基本を why から理解する 具体的なプラクティス
抽象的な理論 このスライドを読めば開発⽣産性の全てがわかる このスライドを読めば開発⽣産性の基本がわかる
© 2024 Wantedly, Inc. ⼤前提: プロダクト開発とは
© 2024 Wantedly, Inc. 我々は⽇々、プロダクトに変更を加えている プロダクトの変更とは「仮説」 仮説: この変更を加えればユーザーに価値が届くはず ウォンテッドリー社内 issue
テンプレート プロダクトに適⽤
© 2024 Wantedly, Inc. なんで仮説が重要? 不確実性が⾼く、予測可能性が低い 原因と結果の因果関係が、後になって分かる領域。 その因果関係を⾒出すために、失敗しても影響が⼩さい実験を繰り返し、そこから成功パ ターンを⾒つけ出す。 可能性を論じることはできるが、
めくってみないと分からない
© 2024 Wantedly, Inc. つまりプロダクト開発とは 継続的な仮説検証サイクル
© 2024 Wantedly, Inc. 重要なこと 周囲より早く、顧客が本当に欲しいものを⾒つけ提供する 多くのプロダクトが溢れる時代におけて⾮常に⼤切 「最短距離の最⼤社会的インパクト」 ウォンテッドリーの⾏動指針の⼀つ。 Wantedly,
Inc.の事業とカルチャー - Wantedly
© 2024 Wantedly, Inc. 開発⽣産性とは
© 2024 Wantedly, Inc. 開発⽣産性とは 定義は様々。視点によって変わる。 例. 経営‧財務 視点 現場
視点 アウトプット効率 アウトプット = ⼈数規模 (インプット) x ⽣産性 (係数) 開発者体験 (アクティビティ) ある作業にかかる時間、ストレス度合い...etc
© 2024 Wantedly, Inc. 開発⽣産性の定義は重要ではない 各視点の利害を統合する 正確な定義よりも、全体最適にアクティビティ改善→アウトカム最⼤化を⽬指す動きが重要 当たり前じゃん!と思うけど、1つのデリバリーには多くの職種が関わっている。 局所最適の罠は意外と多い。
© 2024 Wantedly, Inc. 余談) 誤解されがちな DevOps 「各視点の利害を統合する」がまさに DevOps の関⼼
DevOps は単なる⾃動化やプロセス効率化を指す⾔葉ではない。 黎明期は Development (開発) と Operations (運⽤) の対⽴を無くすことが⽬的だったが、 現代ではあらゆる部署の利害を統合して組織全体のパフォーマンスを⾼めるムーブメントと して発展している。 DORA | Get Better at Getting Better
© 2024 Wantedly, Inc. 開発⽣産性を上げる
© 2024 Wantedly, Inc. 開発⽣産性を上げるとは アクティビティ改善→アウトカム最⼤化を⽬指すこと 再掲 p.12
© 2024 Wantedly, Inc. アウトカムとアクティビティの関係性 仮説検証のスピード 仮説検証の回数 仮説検証の質 プロダクト価値 アウトカム
アクティビティ
© 2024 Wantedly, Inc. KPI に落とし込んで考えてみると 仮説検証のスピード 施策あたりのリードタイム 仮説検証の回数 ⽉当たりの施策リリース数
仮説検証の質 ⽉当たりの本機能化率
© 2024 Wantedly, Inc. 開発⽣産性を上げる 2 種類の⽅法 「改善」と「改⾰」
© 2024 Wantedly, Inc. 改善 現状をよりうまく回すための改善 連続的な成⻑。地道な改善を積み重ねることが多い。 例. ストリームアラインドチームの施策リードタイム短縮
© 2024 Wantedly, Inc. 改善モデル 「把握→分析→対応」のサイクル クネビンフレームワークの「Complicated / 込み⼊った状況にある領域」 sense
analyze respond
© 2024 Wantedly, Inc. 改⾰ 理想を実現するための改⾰ ⾮連続的な成⻑。⼤きな障壁があることが多い。 例. • モバイルアプリ開発には時間がかかるからクイックな仮説検証には向いていない
• => モバイルアプリ開発が爆速になれば新しい仮説検証スタイルになるのでは?
© 2024 Wantedly, Inc. 「改⾰」でプロダクト‧事業に⼤きな変化を⽣む プロセス的な制約を取っ払った新しい仮説検証スタイル
© 2024 Wantedly, Inc. 「改⾰」でプロダクト‧事業に⼤きな変化を⽣む ⼤きな現状課題はなんですか? 事業フェーズや外部環境など、要因はさまざま ⾮連続的な成⻑を実現する伸び代はありますか? プロセス的な制約によって実現されていない仮説検証スタイル
© 2024 Wantedly, Inc. ウォンテッドリーの「改善」事例
© 2024 Wantedly, Inc. 実際に改善モデルを回した事例を紹介します 再掲 p.25
© 2024 Wantedly, Inc. ① 把握: 施策の可視化 まずは施策のリードタイム‧並⾏数を可視化してみる
© 2024 Wantedly, Inc. ① 把握: 施策の可視化 リードタイムは短縮傾向にあるが、まだまだ伸び代もある 2週間にしたいですね
© 2024 Wantedly, Inc. ② 分析 全ての施策が 2 週間で終わったと仮定すると...?
© 2024 Wantedly, Inc. ② 分析 全ての施策が 2 週間で終わったと仮定すると...? •
Q あたりにリリースできる施策数は 4 つ増える! • 同時並⾏する施策数を 3~4 つ → 2 つまで減らせる!
© 2024 Wantedly, Inc. ③ 対応 ⽬標設定「施策のリードタイム 2 週間」 伸び代を探るため、さらに個々の施策ごとに「把握‧分析」を進める
• 施策リードタイムの内訳分析 • 上⼿くリリースできた施策‧時間がかかった施策の⽐較
© 2024 Wantedly, Inc. ③ 対応 Daily Sync Up のフォーマット改善
MTG の⽬的を再確認。個⼈単位の共有 → 施策単位の共有へ。 仕様議論の進め⽅改善 1 トピックあたりのラリー数を減らして複雑性を減らす。 仕様を議論する順番を最適化する。 ペアプロ‧モブプロの推進 軽量なレビュープロセス。知⾒の伝搬。 実際にあった改善例
© 2024 Wantedly, Inc. 他にも 施策だけでなく、変更単位の数字も活⽤ ※1つの施策は複数回の⼩さな変更を経てリリースされます 右グラフは 変更のリードタイム (h)
© 2024 Wantedly, Inc. 他にも よく改善の参考にするモデル DevOps Capabilities
© 2024 Wantedly, Inc. まとめ
© 2024 Wantedly, Inc. まとめ • プロダクト開発とは「継続的な仮説検証サイクル」p. 10 • 周囲より早く、顧客が本当に欲しいものを⾒つけ提供することが重要
◦ ≒ 開発⽣産性の重要性 • 開発⽣産性の定義はさほど重要ではない (視点によりけり) p.15 • 真に重要なのは「各視点の利害を統合すること」p.16 ◦ = DevOps ◦ 特にアクティビティとアウトカムを統合して考えるべし • 開発⽣産性の取り組みでは「改善」と「改⾰」の2⾯性を意識する p. 19