⭐️
プルリクエストのテンプレートを改善したら、レビュー効率が上がった話
この記事はスターフェスティバル Advent Calendar 2021の 24 日目です。
スターフェスティバル株式会社 エンジニアの@nano72mkn です!
今回は、個人ではなくチームで改善した話をしたいと思います。
使用ツール
-
GitHub
- ソースコードの管理
-
Jira
- チケットの管理
-
Confluence
- ドキュメント / 仕様の管理
Jira と GitHub は連携しており、
Jira のチケットからプルリクの公開状況
やGitHub Actionsの実行結果
が分かるようになっています。
浮き出た問題点
10 月にチームの体制が変わり、
複数のプロジェクトにまたがって開発をすることになったことでレビューに時間を取られるという問題点が出てきました。
そこで、レビューになぜ時間がかかっているか話し合い、細分化した結果
- プルリクの数が多い
- プロジェクトを行き来するので、コンテキストスイッチの切り替えが必要
- チケットを確認しなければ何をしているのかを把握しずらい
- プルリクの内容がバラバラ
の 4 つが影響しているのでは?という結論になりました。
プルリク自体の数を減らすことはできないので、
レビュー速度改善の為にプルリクのテンプレートの改良をしてみることにしました。
改良してみた
まず、必要そうな項目を出してみました。
- チケットの URL
- なぜ
- フロントエンドの場合は 画像 or 動画 が欲しい
- Refs ( optional )
なぜについてはチームで書く基準がわからないという話に。
やった事に対して、なぜやるのかという意味づけをする事で書きやすい項目名に変更。
フロントエンドの場合は 画像 or 動画 が欲しいという項目は、動作確認というグループにまとめて、バックエンドのプルリクでも使いやすい形にしました。
出来上がったテンプレートがこちら
# Jira Ticket
- [URL]
# やった事
- このプルリクエストにて何をしたのか?
## なぜやるのか
- Jira で説明できない捕捉的な事項 (Jira の説明で十分であればここは不要)
- なぜこのプルリクエストが必要と考えたかについて説明があるとレビュワーがわかりやすい
# 動作確認
- どの環境でどんな動作チェックをしたか
- 動作確認をした事についてスクショなどがあるとわかりやすくて良い
# Refs (レビューにあたって参考にすべき情報)(Optional)
- 関連するプルリクエストやイシュー、コンフルリンクなど、レビュワーがレビューするにあたっての補足情報
実際に運用してみて
書く時に感じたこと
- テンプレートに沿って記入するだけなので、考えることが少なくなりささっと書けるようになりました。
- 大抵、このようなテンプレートにある**なぜ(または Why)**が書きにくいと思うんです。
なぜって...チケットにやれって書いてあるから...みたいな
やった事に紐づけて、なぜやるのかにしたことで書くことが明確になり、ここで悩むことがなくなりました。
レビューしてみて感じたこと
- やった事を簡潔に箇条書きにしてくれているので、変更ポイントを理解しやすい
- なぜやるのかでやった事、チケットの内容の補足をしてくれているので、作業者が何を考えているのか見えるようになった
- 捕捉されていることで、相談事がある時に受ける側とコンテキストの共有がされるので、相談がスムーズに進んでいる
まとめ
メリットが多く、まだデメリットを感じていない状態です。
チームが変わったり、環境が変われば使いにくくなるかもしれませんが、
いまのところは、僕たちが考えた最強のテンプレートになっていると思います。
プルリクテンプレートひとつでチーム生産性を上げられるので、ぜひお試しください!
GitHubで編集を提案
Discussion