自動化によってデベロッパーエクスペリエンスを向上 ゼロから立ち上げた内製化の体制を支える
内製化に向け、数年で約100名の組織を立ち上げ
「経営に関するヒト・カネ・チエの生態系を創り、社会に創造と変革を行う」というビジョンを掲げ、その実現に向けて取り組んでいるグロービス。グロービス経営大学院(MBA)やグロービス・マネジメント・スクール、グロービス・エグゼクティブ・スクールを通じてビジネスリーダーを育成・輩出するとともに、企業の人材育成・組織開発のサポートを行っている。
そんな同社が現在、全社を挙げて推進しているのがデジタルトランスフォーメーション(DX)だ。「多彩なサービスをより迅速にリリースすべく、ソフトウェアの開発体制も内製化へ舵を切っています」と同社の取り組みを主導する末永昌也氏は話す。
ただし、取り組みは最初から順風満帆だったわけではない。末永氏が入社した2016年時点でグロービスにはエンジニア組織がなかったため、ゼロからの開発体制の立ち上げだったという。人材採用を積極的に進め、数年で約100名のメンバーを擁するエンジニア組織をつくり上げてきた。
こうした組織づくりと伴走する形で、内製化を支えているのがCircleCIだ。
「ソフトウェア開発では、リリースを迅速化することはもちろん、継続的なアップデートや更新を行うことも不可欠です。人手がかかる部分を極力減らすため、CI/CDツールの活用は大前提。オープンソースを含めた複数の製品を検討した結果、長く使い続けられる、信頼できる業界標準ツールとしてクラウド版のCircleCIを採用しました」と末永氏は語る。
人がやらなくて済むことを大幅に自動化
現在CircleCIは、定額制動画学習サービスの「GLOBIS 学び放題」、ならびにその英語版である 「GLOBIS Unlimited」、企業研修の一元管理システム「GLOPLA LMS」などのサービスの開発、および一部の社内システムの開発に用いられている。
「CircleCI導入による最大のメリットは、本質的には人がやらなくて済むことを大きく自動化できる点です。実際、エンジニアの人月工数は、ソフトウェア開発コストの多くの部分を占めています。これを削減し、リソースをよりコアな開発業務に充てられる。これは非常に大きいと感じます」(末永氏)
例えば、同社はスクラム開発を実施しているが、コードレビューのプルリクエストを出す際も、事前に一度CircleCIを通すようにしている。明らかなエラーなどはここで抽出できるため、コードレビューの負荷を軽減できているという。
同時に、自動化によってコードの品質が一定以上に保たれることもポイントだ。CircleCIの中でコードの静的解析を実施することで、脆弱性や記述ルールに違反したコードなどの不具合を早い段階で発見し、つぶすことができている。
「そもそも、コードの細かい部分まで人がレビューするのは、する側・される側の両方にとって大きな負担です。また、ここにこだわり過ぎると、各人の流儀や嗜好によって『ここはこう書くべき』といった泥沼の論争に陥る可能性もあります。CircleCIのおかげで我々は開発に集中 できています」(末永氏)
さらに、グロービス独自のCircleCI活用法として、テスト実行時間を開発効率の判断材料にしている点も興味深い。具体的には、実行時間が30分近くになると「開発効率が低下している」と判断してエンジニアにフィードバックする。これを続ける中で、エンジニア各自の意識も変化したという。「テストを10分以内に収めることを意識して、間延びしないコーディングを心がけるようになったようです」と末永氏は紹介する。
一連の取り組みによる成果として、同社が挙げるのがデベロッパーエクスペリエンス(開発者体験)の向上だ。CircleCIがあることで、エンジニアが安心して開発に専念できる。このことが開発スピードと品質、セキュリティの向上という良い効果に波及しているという。
適用範囲を広げながら、自動化による効果も拡大
加えて同社は、CircleCIの効果を一層引き出すべく、徐々にその適用範囲も広げている。
パフォーマンスプランへの変更はそのひとつだ。「並列処理可能なジョブ数が 80倍に増えることに着目してアップグレードを決断しました。実際に10以上のレポジトリが定常的に稼働しています」と末永氏は言う。
また、ソフトウェアに組み込んだ外部ライブラリの依存関係更新とテストを自動化する仕組みもつくった。具体的には、次のようなものである。
同社のソフトウェア開発では、オープンソースを中心に多くの外部ライブラリを利用している。それらのライブラリではバージョンアップやバグの修正といった細かい更新が頻繁に発生するが、それを反映せずにいると、組み込んだソフトウェア自体に脆弱性が残ってしまう。そこで同社は、ライブラリ更新を自動化する外部ツールとCircleCIを連携することで、ライブラリの更新からその後のテストまでを自動化。「この仕組みにより、常に最新のライブラリを使いつつ、安定稼働するソフトウェアを構築できるようになりました。もちろんすべて自動なので、エンジニアの負担が高まることもありません」と末永氏は話す。
さらには、テスト後の結果をユーザーインタフェース(UI)のコンポーネントカタログに通知・反映する仕組みも構築。UIデザイナーとのやり取りの際も、常に最新のバージョンに基づいた会話ができるようにしているという。
「デジタル領域におけるサービス強化は、当社の今後の大きなミッションのひとつです。これからも、一層多彩なサービスやプロダクトをタイムリーに展開しながら、お客様の期待に応えていきたい」と末永氏。そのためには、ソフトウェアのリリース頻度を高めていく必要がある。CircleCIを核としたテストの自動化、そして人的リソースの解放は、この方向性に基づく同社の取り組みを強力に支える礎になることだろう。
そもそも冒頭で紹介した通り、数年前まではエンジニア組織すら持たなかったグロービス。CircleCIをフル活用し、高度な内製の仕組みを整えた現在の同社は、まさしくDXを体現する企業といえる。
「CircleCIがあることで、エンジニアが開発に専念できます。」
末永 昌也 氏 | VP of Engineering | 株式会社 グロービス
株式会社 グロービス
1992年に創業。2006年に文部科学省の認可を受け、MBA学位を授与できるグロービス経営大学院を開学した。企業向けグローバル研修サービスを提供する海外法人を相次いで設立するほか、ベンチャーキャピタル事業も順調に成長中。公式HP:https://www.globis.co.jp/