私たちが日々開発をするなかで、CI/CDはプロダクトの品質を担保し、開発を効率化する上で不可欠な存在です。特に自動テストはバグを早期発見し品質向上に貢献しますが、その一方で、私たちはCI/CDを信頼しすぎていないでしょうか?
「CIが成功しているからOK」と、ビルドやテストにかかる"時間"やテスト成功率といった「不健康なサイン」から無意識に目をそらしていませんか?
実際私の担当するプロジェクトでは導入した自動配布で40分ほどかかっている現状があり、その無視できないサインから、「CIが遅い」という課題に正面から向き合ってみることにしました。
このセッションでは、その小さな気づきから始まったCI/CDが「健康」になっていくまでの改善の過程を、個人と組織、両方の視点からお話しします。
まず、改善の第一歩として「どこに注目すべきか」という観点を整理します。実行時間や安定性といった指標に対して、CircleCIやGitHub Actionsなど各サービスごとの機能を活かしながら、どうボトルネックを特定していくのか。各サービスごとに比較しながら、その分析手法からお話しします。
その上で、ビルドツールのキャッシュ見直しやマルチモジュールによる高速化、そして見落としがちなテストコード自体のアンチパターンやリファクタリングといった具体的な改善アクションをお伝えします。
しかし、個人の改善活動だけでは、プロジェクトやチームを横断した品質の維持には限界があります。より大きな視点で、全社的にCI/CDの健全性を保つためにはどうすればよいでしょうか? 本セッションの後半では、その問いに対する弊社なりの答えとして、組織的な仕組みである「健康診断」や月次レポートについても詳しく解説します。