はじめに
HRTechのリーディングカンパニーとして、人事領域に特化したプロダクトを多数展開しているHRBrain。
HRBrainは、年間1,100回ものリリースを実現していると聞き、その開発体制の秘密に迫るHRBrainのCTO、鈴木悠大さんへ質問している記事を見つけました。
要点
-
ブランチデプロイ環境の導入
プルリクエストごとに自動でブランチ専用の環境を構築し、検証やレビューが容易に行える仕組み -
Monorepo化の実施
全プロダクトのコードを単一リポジトリで管理することで、リリースフローや改善の効率化を実現 -
フィーチャーフラグの活用
機能のON/OFFを柔軟に制御し、ユーザーに影響を与えずに迅速なリリースとテストを可能にする -
完全リモート開発環境の採用
Google Cloud Workstationsを使用し、ローカル環境の設定不要で素早く開発に取り掛かれる体制を構築 -
GitHub Actionsによるリリース自動化
各サービスごとに個別にリリースできるフローを自動化し、リリースの効率化を実現。 -
トランクベース開発の推進
早期に各ブランチをmainにマージすることで、コンフリクトを最小化し、開発スピードを維持 -
効率的なローカル開発環境
Docker Composeを超えるtiltを導入し、複数の依存プロダクトを一括で立ち上げることで開発を効率化
1. 高いリリース頻度を支える開発体制の概要
HRBrainは、そのプロダクトの数の多さにもかかわらず、驚くべきスピードでリリースを続けています。開発チームの指揮を執る鈴木悠大さんは、複数のプロダクトを担当しながらも、効率的なリリースを可能にするための様々な工夫を取り入れているそうです。
「開発生産性を高めるために、我々はリリースのワークフローに多くの改善を加えました。特に、ブランチデプロイ環境の導入が大きな成果を上げました」と鈴木さんは語ります。
2. ブランチデプロイ環境による迅速なリリース
HRBrainのリリースフローにおける最大の特徴の一つが、ブランチデプロイ環境です。これは、プルリクエストが作成されるたびに、そのブランチ専用の環境が自動的に立ち上がり、URLが発行される仕組みです。
「以前は、デプロイ先の環境が限られていて、チームメンバー同士で取り合うような状況でした。しかし、ブランチごとに検証できる専用環境が自動で立ち上がるようになったことで、プルリクエストのレビューやQAの依頼もURLを渡すだけで済み、作業効率が大幅に改善されました」と鈴木さんは説明します。
この仕組みにより、ローカル環境でコードをpullして確認する手間がなくなり、クラウド上ですべて完結することで、開発スピードが飛躍的に向上しました。
3. Monorepo化による管理と生産性の向上
さらに、HRBrainはMonorepo化を実施することで、開発の生産性を大幅に向上させました。Monorepoとは、複数のサービスやプロダクトのコードを単一のリポジトリで管理する手法です。
「以前は、サービスごとに30個以上のリポジトリがあり、それぞれに対して同じプルリクエストを出す必要がありました。これでは小さな改善でも億劫になってしまい、どんどん後回しになってしまうことが多かったんです。しかし、Monorepoに移行することで、そのような作業の負担が減り、積極的に改善を行えるようになりました」と鈴木さんは振り返ります。
Monorepo化によって、リポジトリの管理がシンプルになり、リリースフローの改善やバグ修正がより効率的に行えるようになりました。
4. フィーチャーフラグによる柔軟なリリース管理
HRBrainがリリースのスピードを維持できるもう一つの要因は、フィーチャーフラグの活用です。フィーチャーフラグを使うことで、機能のON/OFFを制御し、ユーザーに影響を与えることなく、開発を進めることができます。
「フィーチャーフラグを導入することで、mainブランチへのマージスピードが格段に上がりました。新機能をリリースしても、ユーザーにはその機能を公開せずにテストや改善を進められるので、開発サイクルを短縮することができました」と鈴木さんは説明します。
この仕組みにより、機能のリリース後も、特定の顧客に対してのみ機能を有効にするなど、細やかなリリース管理が可能となっています。
5. 完全リモート環境の導入とクラウドの活用
HRBrainは、完全リモート開発環境を採用している点も、彼らの高い生産性に寄与しています。従来のローカル環境での開発から、Google CloudのCloud Workstationsを使ったリモート開発環境へと移行しました。
「リモート環境に移行することで、開発の負担が減り、特に新人エンジニアがすぐに開発を開始できる点が大きな利点です。ローカル環境の設定を一から行う手間がなくなり、開発チーム全体のスピードが格段に上がりました」と鈴木さんは語ります。
6. まとめ:HRBrainから学べる開発生産性向上の秘訣
HRBrainの開発体制から学べるポイントは多くあります。ブランチデプロイ環境やMonorepo、フィーチャーフラグ、完全リモート環境の導入は、どれも他の企業でも参考になる要素です。特に、クラウド環境の活用と自動化の徹底は、これからの開発のスタンダードとなるでしょう。
HRBrainは、技術的な工夫と組織的な改善の両面から、生産性を高め、年間1,100回ものリリースを実現しています。このような開発体制を取り入れることで、他の企業も同様に効率的な開発を実現できるはずです。