この記事は GMOアドマーケティング Advent Calendar 2023 1日目の記事です。
はじめに
皆さん、こんにちは。開発本部 本部長のクリスです。
昨夏、エンジニア組織の生産性を可視化するため、Four Keysの導入を検討していることをお伝えしました。
様々なツールを比較した結果、オープンソースの「Four Keys」を採用しました。
指標の設定
導入にあたって他社の事例に学びつつ、Four Keysの一般的な指標をそのまま採用するのではなく、私たちの実情に合わせて、以下の指標を選定しました。
- PR数と変更行数:各PR(プルリクエスト)の変更行数を100行以下に抑えることを推奨し、レビューの効率性と容易さの向上を図ります。
- レビュー開始までの時間:コードレビューを迅速に開始することで、フィードバックループを短くし、リードタイムの短縮につなげます。
運用のポイント
運用では、以下のポイントを重視しています:
- Looker Studioを利用し、全指標が一元管理されるようにしました。
- 設定した指標をもとに、月次でマネージャーとの施策レビューを実施しています。
- メンバーが指標を理解し活用できるよう、スクラムイベントにも取り入れるように奨励しています。
- メンバーが安心して作業できるよう、指標は評価には使用せず、チーム間比較も行わない旨を説明しました。
導入から半年
運用開始から半年が経過し、各チームのマネージャーに導入後の変化について話を聞きました。以下、そのフィードバックを共有します。
T.M @「AkaNe」/「ReeMo」
# 総評
- レビューが滞留しがちだなと思っていましたが、数値として見ると早く終わるもの、滞留しているものが分かるようになりました。
- レビュー着手時間の認識をメンバーと行い、レビュー滞留が減ったと感じています。
# よかった点
- 指標が数値として見える化されるので客観的に見ることができました。
- AkaNe/ReeMoチームとしては、レビューまでの着手時間、マージまでの時間を重視しました。
- レビューまでの着手時間については、メンバーと話をして3営業日以内にすることにしました。(翌日にはレビューしたいという意見も出ました。心強いです。)
- 概ね3営業日以内にはレビュー着手できています。
- レビュー出来ていないプルリクは個別に理由を確認することで、優先度が低いや他機能待ちで置いてあるなどがありました。
# 課題、TODO
- 数値を見る習慣化が出来ていないので、定期的に見るようにしていきます。
- ふりかえりの時間を使っていますが、時間が足りなくなることもあります。
- レビュー修正後の再レビューが滞っている場合があるので解消していきたいです。
- 定量的に見えるので数値を追ってしまいがちになります。
- 数値は結果であって、数値を達成するために開発しているのではないということを認識していく必要があります。
- 数値が悪くなるのは開発していく中で課題があるので、その課題を解消していくように意識したいと思います。
石丸 @広告配信システムの管理画面開発
# 総評
- Four Keysの導入にあたって、Pull Request数やレビュー数などの様々なメトリクスを収集・可視化しました。
- 漠然と感じていたチームの課題を定量的に確認・改善する良いきっかけになったと思っています。
# 良かった点
- 私のチームでは「Pull Request数」「メンバーごとのレビュー数」「レビュー着手までの時間」の3つの指標についてチーム目標の設定と定期的な振り返りを行いました。
- Pull Request数
- Pull Requestを細かく分割する(=Pull Request数を増やす)ことでレビュアーの負担を減らすことができました。
- メンバーごとのレビュー数
- レビュー担当の偏りを改善するため、メンバーごとにレビュー数の目標を設定しました。
- 現在はレビュアーの偏りが徐々に改善されている状態です。
- レビュー着手までの時間
- チームで具体的な目標を設定することで、レビュー着手に対してメンバーの意識が高まったと感じています。
- レビュー担当の偏りの改善や、Pull Requestの分割の効果もあり、Four Keys導入前と比較してレビュー着手までの時間が大幅に短くなりました。
# 課題、TODO
- レビュアーの偏りは完全には解消されていないため、今後もメンバーごとの目標設定や指標の振り返りを進めていきます。
- レビュー着手までの時間は改善されましたが、案件によってはPull Requestからmergeまでに時間がかかるケースがあるため、その改善にも着手していきます。
M.N @「GMOSSP」/「TAXEL」
# 総評
開発チームがうまくいっているのか?という問いに対して、プロダクトへの事業貢献以外の指標として活用できるようになった。
# 良かった点
- PR数の指標を改善するためにPRの粒度を細かくする取り組みを行い、1人あたりのPR数が20〜30%程度改善された。また、PRの粒度が細かくなりレビュアーの負荷も軽減できた。
- レビューが滞留していることを定期的に通知することで、レビュー開始までの時間が30%程度改善できた。
# 課題、TODO
- レビュー開始までの時間については24時間以内を目標としているが、レビューが属人的になっているためレビュアーのタスクにどれだけ余力があるかに依存してしまっている。
- GitHubを使ってレビュアーを自動で割り振ることができるので試してみたい。
- 一部GitHub以外のツールを使っている箇所においてFour Keysの計測ができていないためGitHubを使えるように移行するか別途計測するための方法を模索したい。
まとめ
いかがでしたか?
今回は、生産性の可視化にFour Keysを活用した取り組みと、その後の具体的な変化を紹介しました。
「継続は力なり」ということわざを体現するように、開発者の体験と生産性の向上に向けて、メンバーのフィードバックを取り入れつつ、PDCAサイクルを継続的に回していくことの重要性を感じています。
この記事が皆さんの参考になれば幸いです。
最後まで読んでいただき、ありがとうございました。
告知
明日はK.Mさんによる「生成系AIの画像添付を使って可能性を探ってみた」です。
引き続き、GMOアドマーケティング Advent Calendar 2023 をお楽しみください!
■採用ページはこちら!
https://recruit.gmo-ap.jp/
■GMOアドパートナーズ 公式noteはこちら!
https://note.gmo-ap.jp/
GMOアドマーケティング 開発本部 本部長