PRレビューを円滑に進める環境づくり
はじめに
こんにちは。現在、受託組織のチームリーダーを務めています。
2024年1月から約1年間、チームの開発生産性を可視化できるツール Findy Team+ を導入したところ、多くの発見がありました。
そこで得られたデータを分析し、いくつかの施策を実施した結果、サイクルタイム(PRがオープンされてからマージするまで)が約50時間も短縮 し、チーム全体として開発スピードが向上しました。
さらに嬉しいことに、この取り組みが評価され、Findy Team+ Award 2024【Frontier Award】Self Organization を受賞しました。
本記事では、私たちのチームが直面した課題、実施した施策、そしてその効果について紹介します。
他の開発チームが生産性を高めるきっかけになれば幸いです!
チームの課題
当初、担当チームでは、PRレビューの優先度 が低めに設定されていました。
スプリントの初期フェーズでは開発タスクに集中するため、後半にならないとレビューが行われず、最終的にPRが溜まってしまう。
結果として、リリースや開発スケジュールに大きな影響が出ることが多かったです。
うまくいった施策
1. PRの粒度最適化
PRが大きくなるほど、レビューの負担が増加 するのは言うまでもありません。
そこで、まずはPR単位を小さく保つために、チームを超えて意見交換の場を設けました。
実際に運用しているガイドラインの例は以下のようなものです。
- 1つのPRで行う変更内容は1つの責務に限定する
- バックエンド:
repository
とusecase
は別々のPRにする - フロントエンド:UIとAPI連携は別々のPRにする
- 一定行数(例:500行以上)は原則別のPRに分割する
- Reviewerがすぐに把握できるよう、PR説明欄には「変更点」「目的」を明確に記載する
2. モブレビューの実施
朝会後の短い時間(15分〜30分程度)を活用して、モブレビュー を実施しました。
これは、ペアプロならぬ「複数人で一気にレビューする」イメージです。全員で画面を共有しながらPRの概要を把握し、ざっとコードを読み合わせて疑問点や改善点を出し合います。
モブレビュー導入時に感じたメリット
- 知識が属人化しにくい
- 他のメンバーの設計意図が共有できる
- 相談しやすい雰囲気ができる
- モブレビュー後に個人でPRを見る習慣ができる
3. サイクルタイムの共有
毎朝の朝会で前日のサイクルタイムをざっくり確認することで、チームの開発状態を可視化するようにしました。
Findy Team+では、サイクルタイムを4つの指標に分割して確認できるため、「どこに課題があるか」が明白になります。もし特定のPRが長期間レビュー待ち状態であれば、「なぜレビューが停滞しているのか?」を具体的に議論して対処する流れが自然と生まれました。
原因の深掘り
- 「担当者が別タスクに忙殺されていた」
- 「実は仕様の曖昧さで意見が割れていた」
- 「レビュー用のビルドや環境整備に手こずった」
失敗した施策
もちろんうまくいかなかった試みもありました。ここでは2つ紹介します。
1. PRの優先度を上げる
「PRレビューを最優先にする!」と宣言し、当初はみんなが協力的にレビューを進めました。
しかし、どうしても個人の意識に依存 するため、時間が経つとタスクの方を優先するメンバーが増え、元の状態に戻ってしまいました。
2. PRレビュー時間をカレンダーに入れる
「レビュー時間をスケジュール管理すれば、習慣化できるのでは?」と考え、各自のGoogleカレンダーに レビュー専用の時間 をブロックで設定してみました。
ところがこれも最初だけで、結局はタスク優先になってしまうケースが多発し、カレンダーをズラす人が続出しました。
実践から得た学び
1. 個人の意識に頼らず、仕組みで解決する
人間の意志力はどうしても弱くなりがちです。タスクやトラブルが発生すると、優先度は簡単に変わってしまいます。
だからこそ、「PRレビューしないと、自然と次のフェーズに進めない仕組みづくり」 が大切だと痛感しました。
モブレビューやサイクルタイム可視化といった形で、チーム全体でレビューしないと回らない”状態 を作ることで、他チームでも流用可能な仕組みとして定着させやすくなります。
2. PDCAを毎日回す
1ヶ月に1回の振り返りより、毎日少しずつ データを見て振り返ったほうが効率的だと、身をもって体験しました。
PCDAサイクルを回す際、データがあると議論がスムーズに進みます。Findy Team+などのツールを使って、毎朝サイクルタイムやレビュー数を確認しながら、「昨日よりどこが停滞している?」「今週はPRの粒度がどうだった?」などを日常的に話し合うことで、些細な変化にもすぐに気づけるようになりました。
些細な変化にもすぐに気づけるため、軌道修正のタイミングを逃さない のが大きなメリットです。
おわりに
PRレビューの促進は、一見すると単なるタスクの効率化のように思えますが、実際はチームのコミュニケーションと品質向上 に密接に関わっています。
僕たちは今回の取り組みを通じて、チームの生産性を向上させる仕組み を整備することで、確実に開発スピードを上げることができました。
また、開発生産性の向上に向けたフィードバックを行ってくださったTeam+のカスタマーサクセスの方々に感謝申し上げます。
まだまだ課題はありますが、今後も引き続き、Findy Team+のようなデータドリブンなアプローチで改善を続けていきたいと思います。
みなさんもぜひ、個人の意識に頼らずに、仕組みで解決するという観点からチーム開発を振り返ってみてはいかがでしょうか。
Discussion