見出し画像

グロービス開発生産性向上における、取り組みの裏側

こんにちは!グロービス技術広報です。

グロービスの開発組織では、日々開発生産性を上げるため様々な取り組みをしています。2022年10月には、​​開発生産性が優れたエンジニア組織を称える「Findy Team+ Award」にも表彰いただきました。

今回はグロービスの開発組織における開発生産性向上の取り組みや、今後についてエンジニアリングマネージャーの大沼さんにお話をお伺いしました。

ーーまず、開発生産性向上について、取り組んだ背景を教えていただけますか?

開発チームメンバーが増え始めた3年ほど前から、開発生産性を向上させる動きを取り始めました。

もともと私はスタートアップのエンジニアとして働いていたのですが、当時は少数で開発していたこともあり、人が増えるにつれスピード感やコミュニケーションに関するギャップが生まれ始めました。

さらに、当時はGLOBIS学び放題のリリースタイミングが週一しかなかったので、早くユーザーに価値を届けたいのにできないというもどかしさがあったんです。そこで、デプロイ頻度を上げ、スピード感を持って開発を進めようと動き始めました。

ーー取り組みにあたって苦労したことはありますか?

まず、デプロイ頻度を週一のところを週数十回に変更しました。デプロイ頻度を上げるため、QAを組み込んだフローの効率化が大変でしたね。デプロイ頻度が週1のときはQAを挟んでリリースしていたのですが、1日に何回もリリースが発生すると手動テストだと間に合わないんですよね。そこで、自動テストを拡充していきました。

自動テストを拡充していく上で、テストの網羅率を上げたいという声も多く、声をあげてくれたメンバーをどんどん巻き込んでいきました。3年前は集まってくれたメンバーが、業務の数%を使って取り組んでいたのですが、ブーストをかけて開発生産性を上げようということでDeveloperExperienceチームを立ち上げ、開発生産性向上に取り組んでいます。

デプロイ頻度を横断で見える化することで、取り組みが横展開できるようになりました。現在全ての開発環境を横断し、デプロイ頻度の数値を出せるようにしています。組織がスケールしていくと、大体のチームが開発人数とデプロイ頻度によるギャップの壁にぶつかります。パイプラインの整備や、テストの自動化など各チームに理解してもらうため、問題定義から提案をすることで、開発組織全体の生産性を上げています。

またナノ単科開発チームで、デプロイ時にエラーが出た場合エラーの問題切り分けが難しいという相談を受けました。話を聞くと、週に1度、デプロイ担当者がデプロイする方式を取っていました。開発者とデプロイ担当者が分かれてしまうことで、デプロイ担当者がPull Requestの内容を深く理解していないことが原因でした。
そこで開発者自身が責任をもってPull Request単位でデプロイすることにより、エラーの切り分けもしやすくなりました。また、計測していたデプロイ頻度もこのタイミングから跳ね上がりました。

ーー様々な取り組みをされているんですね。取り組みの結果、開発生産性はどのように向上したのですか?

3年前は、とにかく開発が遅いといわれていたこともあり、ロードマップに乗せられる開発施策の数もそんなに多くはなかったんです。開発生産性が向上した今では、ロードマップに入れられる開発ボリュームも増え、ユーザーに届けられる価値が明らかに増えました。

開発基盤のリニューアルも数年かけて行い、毎日、毎週レベルでプロダクトがアップデートできています。このデプロイ頻度は開発組織のカルチャーなどにも影響し、良いサイクルで組織と事業がグロースできている感覚がありますね。
ーーFindy Team+ Award ではどの部分が表彰されたのですか?
先にお話しさせていただいた、デプロイ頻度を上げたことについてと、リードタイムの短さです。

数年前は週1のリリースだったこともあり、1 Pull Requestの差分が300ファイルあったこともありました。8割くらいが正しくても、少しでも不具合が混じっているとロールバックが必要になってしまう。差分が多いことで、レビューコストも高いのでスループットが落ちてしまいます。そこで、デプロイ頻度を上げ、1回の変更量を小さくしたのでコードを書き始めて本番環境に反映されるまでのリードタイムがかなり短くなりました。

ーー今後さらに開発生産性を向上させるため、取り組んでいきたいことはありますか?

今までは、デプロイ頻度とリードタイムにフォーカスして、取り組んできました。

変更によって起こる障害率や、平均修復率などの品質的な指標はまだまだ取り組めていないので、今後はそこに取り組んでいきたいですね。E2Eテストを拡充し、自動化などの取り組みをすでに始めているので、さらにユーザーに多くの価値を提供できるよう取り組みを続けていきます。

ーーありがとうございました!

Podcast配信中!

本インタビューの内容は、Podcastでも配信しております。
グロービスの開発生産性向上の取り組みをもっと知りたい方は、ぜひPodcastもお聞きください!


また、現在グロービスではエンジニアを中心としたメンバー募集を積極的に行なっています。

これから開発組織を一緒につくっていきたい方、教育事業に挑戦したい方、ぜひご応募お待ちしております!


この記事が気に入ったらサポートをしてみませんか?