こんにちは!モバイルデベロッパーエクスペリエンスチームの@giginetです!普段はLINEアプリの基盤改善をしています。
LINE iOSは巨大なプロジェクトです 。日々、開発者が多くの時間をビルドに費やしています。これまでビルド時間はCIの実行時間などで一部計測されていましたが、開発者が日常的にどれぐらいビルド待ちを体感しているのか推し量るのは容易ではありません。
この記事では、LINE iOSで開発者のビルド時間を集計するローカルビルドメトリクス基盤を構築し、開発者生産性の可視化、改善に活用している事例をいくつか紹介します。

なぜローカルビルドメトリクスが必要なのか
本稿では、開発者のローカルマシンでビルドした際の詳細なログをローカルビルドメトリクスと呼びます。CIで実行したログも含めて集計していますが、これらはあとから区別が付くようになっています。
これまでのメトリクスは、CIの実行時間を単に時系列データとして保存するだけでした。これでは、開発時のローカルでのビルド時間を正確に把握できなかったり、ビルドの各ステップ毎の詳細な時間を把握できないなどの課題がありました。
なぜわざわざこのような基盤を新たに作るのでしょうか。以下のような理由が挙げられます。
- 開発者の体感に近い状況を捉えるため
- ボトルネックの課題発見のため
- 仕事の成果をアピールするため
- 障害やデグレーションを発見するため
これらの項目について詳しく見ていきましょう。