はじめに
こんにちは、iOSアプリエンジニアの羽柴です。
本記事では、プルリクエストにおけるコードオーナー不足を防ぐために導入したGitHub Actionsの効果測定を行った話を紹介します。
コードオーナー不足を検出するGitHub Actions: Codemap Checker
2024年12月、LINEアプリレポジトリのGitHub Actionsに"Codemap Checker"を導入しました。これはプルリクエスト(以下PR)におけるコードオーナー不足を検出するワークフローです。PRで追加・変更されたファイルにコードオーナーが設定されていない場合はこのワークフローが失敗し、コードオーナーが不足しているファイル一覧が出力されます。
導入経緯や実装などについての詳細は、以前のブログ記事であるLINEのアプリ開発を支えるコードオーナー管理をご覧ください。
Always Data-driven: Codemap Checkerに対するPDCAサイクル
LINEヤフー株式会社が掲げるバリューのひとつが「User Rule: ユーザーファースト」であり、それを体現する具体的な行動様式の中に「Always Data-driven: データを基に俯瞰で判断」があります。これは自分の熱量と市場との差分を避けるため、常にデータに基づいた判断を重視する姿勢です。LINEアプリ開発チームでもこの考え方を大切にしており、施策を導入して終わりにせず、数値を算出して効果を評価することを推奨しています。いわゆるPDCA サイクルを継続的に回すことで、ユーザーにとって本当に価値のあるサービスの提供を目指します。
「コードオーナー設定率を向上させる」という目標に対して、前回の記事ではPlanおよびDoまで完了しました。Codemap Checkerが導入されてか ら数カ月がたちましたので、今回はその効果を評価(Check)し次に取るべき行動(Action)を検討します。
評価方法
導入前・後それぞれ以下の期間のPRを解析します(Codemap Checkerの導入は2024年12月):
- 導入前: 2024年01月01日~07月31日
- 導入後: 2025年01月01日~07月31日
算出する値は以下の通りです:
- 期間中にマージされたPRの数
- そのうち、コードオーナー不足が検出されたPRの数(Codemap Checker導入後のみ)
- そのうち、コードオーナー不足のままマージされたPRの数
コードオーナー不足が検出されたPRに関して、導入前のbotはその仕様上チェック履歴を取得できないため、導入後のみこの値を算出します。Codemap Checkerの導入後にコードオーナー不足のままマージされたPRの数が減っていれば、本施策がコードオーナー設定率の向上に寄与していると評価できます。
結果
以下は、期間中にマージされたPRのうちコードオーナー不足のままマージされたPRの割合です。
コードオーナーが不足したままマージされたPRの割合が 19.6% → 1.6%と大きく減少しています。
月毎の推移
続いて、コードオーナーが不足したままマージされたPRの月毎の推移を棒グラフにしました。