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
レビューの見直しによる開発生産性の向上
Search
Daiki Suyama
February 24, 2024
Programming
200
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
レビューの見直しによる開発生産性の向上
2022/10 ~ 2023/03に取り組んだプロジェクトの紹介です。
Daiki Suyama
February 24, 2024
More Decks by Daiki Suyama
See All by Daiki Suyama
期待付加価値の生産性向上(夏の開発生産性LT版)
daikisuyama
0
920
ビジネスサイドとの連携改善 ~アウトプットの最適化~
daikisuyama
1
700
事業とプロダクト間のインターフェース作り
daikisuyama
0
970
Other Decks in Programming
See All in Programming
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
470
Go を使い始めて 2 ヶ月の学び / My first two months with Go
contour_gara
0
420
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
290
新人はどこまで自力でやり、どこからAIに頼るべきか/エンジニア育成に向き合う_先輩たちの悩みと知見共有会
toppan_digital_dev
1
560
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
850
DynamoDBの基礎を振り返りながらベクトル検索機能を理解する
musan
3
270
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
110
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
260
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
3
1.5k
【デモ】Kiroで体験する仕様駆動開発|設計からコーディングまでAIと進める開発フロー
cmkudo
0
580
初心者DevRelとして参加者だった私が、DevRel Talks!#2に登壇するまでにしてきたこと
sokohirai
0
340
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
740
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Chasing Engaging Ingredients in Design
codingconduct
0
300
Build your cross-platform service in a week with App Engine
jlugia
234
19k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Fireside Chat
paigeccino
42
4k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
360
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Speed Design
sergeychernyshev
33
2.1k
Transcript
レビューの見直しによる 開発生産性の向上 株式会社クライド 陶山大輝
目次 • 概要 • プロジェクトの準備 • レビューの見直し • 結果と考察
概要
プロジェクトの概要 • 時期 ◦ 2022/10 ~ 2023/03 • 対象チーム ◦
自社プロダクトの開発チーム ▪ マネージャー 1人、チームリーダー 1人、メンバー 1人 • チーム状況 ◦ 数ヶ月単位でのリリースの遅延や手戻りの頻発などの課題が山積 ◦ PMF前のプロダクトのため、プロジェクトに多くの時間は費やせない • 目的 ◦ 開発生産性を向上させること
プロジェクトの準備
開発プロセスの言語化 • 課題 ◦ 開発プロセスが明確でなく、調整に費やす時間が多かった • 解決策 ◦ 開発プロセスと関連する課題を言語化(後述) ▪
ディスカバリーとデリバリー • 効果 ◦ 課題が明確に!
開発プロセス ~ディスカバリー~ • 手順 ◦ 機能検討 ▪ PO:ステークホルダーからの要望から機能を検討 ▪ PO:優先順位を確定
◦ 仕様策定 ▪ PO:開発が確定した機能の仕様を策定 ▪ PO:機能単位(エピック)でエンジニアへと依頼 • 課題(抜粋) ◦ エンジニアの観点が不足したまま仕様が決定 ▪ → 仕様の考慮漏れなどにより、手戻りが発生しやすい
開発プロセス ~デリバリー~ • 手順 ◦ 設計 ▪ 開発チーム:エピック(機能単位)の担当者を決定 ▪ エピック担当者:仕様をPOに確認しながら設計
▪ エピック担当者:チケット(開発単位)へと分割 ◦ 開発 ▪ チケット担当者:チケット内で詳細設計からテストまで実行 • 一部の担当者はセルフレビューも実行 ◦ テスト+リリース ▪ エピック担当者:エピック全体のPRを作成し、ミーティングでマネージャーへと説明 ▪ マネージャー:PRをレビューし、適当なブランチへとマージ ▪ エピック担当者:POへのデモを実行 ▪ チームリーダー:リリース • 課題(抜粋) ◦ 開発中にPRがレビューされない ▪ → 仕様の考慮漏れや潜在的なバグにより、手戻りが発生しやすい
プロジェクトの分割 • 課題 ◦ 開発プロセスにおける課題が多く、一度に対応するのが難しかった • 解決策 ◦ ディスカバリーとデリバリーのプロセスごとでの開発生産性に分割して対応 ▪
ディスカバリー:ビジネスサイドとの連携の改善|Daiki Suyama ▪ デリバリー:本プロジェクト • 効果 ◦ 改善対象をデリバリーの中のレビューに限定して取り組めるように!
レビューの見直し
レビューのタイミングの変更 • 課題 ◦ 手戻りが高頻度に起きていた ▪ 原因:仕様の考慮漏れ、潜在的なバグ、など ◦ レビュワーの負担が大きかった ▪
原因:ほとんどのPRが1000行超え • 解決策 ◦ エピック単位からチケット単位にPRの単位を変更 • 効果 ◦ 手戻りを早めに指摘可能に! ◦ テスト+リリース時のミーティングの工数を削減! ◦ レビュワーの負担は想定よりも減らず…
レビュー単位の最小化 • 課題 ◦ レビュワーの負担が大きかった ▪ 原因:多くのPRが1000行超え • 解決策 ◦
PRの変更行数を500行以下にするよう目標設定 • 効果 ◦ 極端な大きさのPRが減少! ◦ 徐々に変更行数が低下! ▪ 理由:”設計力”の向上が必要であるため
レビュー体制の変更 • 課題 ◦ PRのリードタイム(PRのオープンからマージまでの時間)が長かった ▪ 原因:マネージャーにレビューが依存 • 解決策 ◦
マネージャーのみのレビューからチーム全員でのピアレビューに変更 ▪ 狙い:マネージャーのレビューへの心理的負担の軽減 ▪ 狙い:PRのオープンからファーストレビューまでの時間の短縮 • 効果 ◦ PRのリードタイムは改善せず…
レビューへの意識改善 • 課題 ◦ PRのリードタイムが長かった ▪ 原因:チーム内のレビューへの意識の低さ • 解決策 ◦
レビューの優先順位を最優先と定義 & デイリーMTGで未レビューのPRを確認 ▪ 理由:レビューは他者の開発のボトルネックになるため ▪ 備考:MTGやフロー状態や障害対応の際などを除く • 効果 ◦ 徐々にPRのリードタイムは短縮! ▪ 理由:”意識”の改善のため
結果と考察
計測値の変動(2022/08,09 → 2023/02,03) • 開発生産性 ◦ 開発生産性 ▪ マージ済みPR数:55件 →
56件(+2%) ◦ ”開発”プロセスの工数 ▪ コーディング延べ日数:76日 → 49日(-36%) • レビュー ◦ レビューにおけるボトルネックの程度 ▪ PRのリードタイム:14.7h → 12.5h(-15%) ◦ レビューの容易さの程度 ▪ PRの平均変更行数:511.9行 → 302.4行(-41%)
計測値の補足 • 開発生産性 ◦ ”開発”プロセスの工数 ▪ 外部要因により、3名のうち2名のリソースが半分程度まで減少 ▪ → 対象チームの”開発”プロセスの工数が2/3程度に…
• レビュー ◦ 施策の過程でレビュー体制を大幅に変更したため、改善の程度は正確でない ◦ 改善後のレビュー体制で各計測値が一時的に悪化(2022/12, 2023/01) ▪ レビューにおけるボトルネックの程度:96.2h ▪ レビューの容易さの程度:595.2行
考察 • 計測値 ◦ 開発生産性 ▪ 開発生産性が1.5倍程度に上昇!(定量) ◦ レビュー ▪
各計測値が大きく改善!(定量) ▪ 開発者体験が大きく改善!(定性) • 開発生産性 ◦ ”開発生産性”は曖昧な言葉で、一人歩きしやすい ◦ 最終目標は実現付加価値の生産性の向上であり、局所最適に陥らないように注意が必要 ◦ このプロジェクトの”開発生産性”は、”仕事量の生産性” 参考:開発生産性について議論する前に知っておきたいこと - Qiita