PR数は開発生産性のセンターピンかもしれない
この記事は 開発生産性 Advent Calendar 2022 の2日目の記事です。
1日目の記事はkfly8さんの「巷で聞く、Developer Productivity Engineeringとは何か」でした。
こんにちは。naoto_pq です。
株式会社BuySell Technologies のCTO室でマネージャーをしています。
今回はスクラムマスターとして開発チームをサポートする中で、Pull Request(PR)の数にフォーカスすることで立ち上がりがスムーズだった知見を共有しようと思います。
当時のチーム状況
今回の開発チームは以前からスクラムに取り組んでいましたが、スクラムの経験者がいなかったために手探りの状態でした。
あらためてチーム体制を強化したいと相談を受けて、自分が専任のスクラムマスターとしてサポートをすることになりました。
事前準備としてスクラムガイドの読み合わせやプロダクトバックログの整理、短い時間で設定されていた各種イベントの時間を確保してもらいました。
開発生産性のKPIをPR数に設定した
ちょうど組織で Findy Team + を導入したタイミングも重なり、その際に他社事例として1人あたりのPR数をKPIにしているという事例を知りました。
PR数と、Four Keysとベロシティは正の因果関係があるという仮説が立ったので、この仮説を検証するというスタンスをチームで合意を持って取り組み始めました。
他社では1日1人あたりPRを3件出しているという事例も聞いたので、勝手に競争意識を持ってチームメンバーもモチベーションも高く取り組みました。
レトロスペクティブでPR数の確認と改善策の検討にフォーカスした
レトロスペクティブでは冒頭でPR数の確認し、PR数が上下した要因分析とネクストアクションを議論するというアジェンダに設計しました。
以前のアジェンダではKPTなど多少フリーテーマで発散させる方式だったのですが、PR数という明確な指標をKPIとすることで開発者目線でイメージが湧くのか、制約と誓約になるようなTRYが出てくるようになりました。
具体的な取り組みは以下の記事で紹介されています。
TRYの一例
1つのPR内の変更行数を100行以内にする
未レビューのPRを定期的に通知する仕組みを作る
メトリクスの改善結果
PR数が増えた
PR数にフォーカスする前は1人1人あたりのPR数は1件未満でしたが、直近では平均2件は出せるようになってきました。3件に届くこともあります。
Four Keysがエリートの水準になった
PR数が増えると変更差分も小さくなり、随時マージされるようになってFour Keysの値も全てエリートの水準に改善されました。
ベロシティが安定した
元々ベロシティは安定しておらずグラフもジグザグだったのですが、PR数が安定してきたらベロシティも安定しました。
チケットの粒度も小さくなり、チーム内での属人性も減った
PR数を増やすためには変更差分を小さくし、そのためにはストーリーやタスクのチケット粒度も小さくなりました。その結果、チームのメンバー間での技術とドメイン知識の両面で属人性が低くなりました。
具体的なスクラムでのリファインメントとプランニングを改善した取り組みについては以下をご覧ください。
PR数にフォーカスすることでスクラムマスターの負荷が低かった
これまで自分がスクラムマスターとして加入していた時は、チームビルディングとして相互理解やスキルマップなどのワークショップやスクラムに関する各種レクチャー、1on1など様々な角度から取り組みをしていました。
サーバントリーダーシップのようなスクラムマスターという振る舞いは個人的にはやりがいや楽しみを見出して取り組んでいたのですが、他の人になかなか引き継げない属人性やコストの高さが気になっていました。
今回のチームでは意識的にそのような振る舞いはせず、焦点をPR数に絞った上で論点や課題をスクラムイベント内でメンバーが議論して解決するように設計アプローチをしてきました。
結果的にチームはスムーズに立ち上がり、レトロスペクティブをはじめMTGで議論があらぬ方向に向かうこともなかったのでスクラムマスターとしての負荷も低かったです。イベントでのファシリテーションもすぐにメンバーがローテションで運用する形になりました。
PR数は健康のための歩数、生産性のセンターピンかもしれない
自分は色んなダイエット方法を試すのですが、1番効果を感じたのは1日あたりの歩数でした。
1日1万歩を目安に歩けば歩くだけ痩せて、健康診断の各種メトリクスも改善されました。
開発においては日々様々なメトリクスやチーム開発の取り組みが提案されていますが、今回の取り組みからPR数を増やすところから始めるのが生産性のセンターピン(ボーリングで先頭のピン。ストライクを取るために最初に倒すべきもの)になるかもしれないという知見を得ました。
今回のチームではPR数を増やすことでFour Keysやベロシティの改善にもつながりました。
今後、今回の取り組みを社内の他のチームで展開して検証を深めたり、eNPSなど他のメトリクスとの関係についても調べてみたいと思います。
ちなみに Findy Team + はPR数やFour Keys以外にも様々な数値を計測できる点もオススメです。また、導入にあたりFindyの担当の方から自社の状況に関する壁打ちや他社の事例の共有をいただける点も非常に助かりました。
プロダクト開発のためのチームづくりに取り組んでいる方であれば、 Findy Team + を導入し、KPIをPR数に絞ることでチームメンバーから自発的にアイデアを出して改善しやすい状態を作れると思いました。
BuySell Technologiesではチームの生産性やユーザの課題解決に取り組む仲間を募集しています。
今後の 開発生産性 Advent Calendar 2022 もお楽しみに。
この記事が気に入ったらサポートをしてみませんか?