KDDI株式会社
GitHub Enterpriseを活用したアジャイル開発で市場ニーズに迅速に対応。 最新の開発手法も積極的に取り入れ、「auでんきアプリ」を4ヶ月で開発するなど、開発期間を大きく短縮。
  • 業種 通信
  • 企業規模 10,000+

事例をダウンロードする

第二電電(DDI)、国際・国内長距離通信のKDD、移動体通信のIDOの3社が2000年に合併して誕生したKDD(I 当初ディーディーアイで後に現名称に変更)は、国内外の膨大な事業を統括する大手通信会社だ。通信事業者として知られる同社だが、現在では顧客のライフスタイルを支えるさまざまなサービスを開発、提供している。「au WALLET Market」「Wowma!」「auでんき」「auのほけん・ローン」といった「au」ブランド経済圏を支える周辺事業に加え、IoT時代を見越した「au HOME」、そしてコネクティッドカー事業の推進など、サービスの対象領域を拡大している。同社プラットフォーム開発部のアジャイル開発センターは、日々変化する市場トレンドに追いつき、拡大していくサービス事業をGitHubとともに支えている。

変化の早いコンシューマ市場に対応すべく、トップダウンによりソフトウェア開発の内製化に踏み切ったKDDI

アジャイル開発センターが設置されたのは2016 年10月のこと。通信だけでなく、金融からネットショッピング、電気の卸しまで、コンシューマ市場でのビジネスを拡大しているKDDI だが、変化するコンシューマのニーズを取り込み、激しい競争に勝つためにはアジャイルなアプリケーションやサービスの開発が必要だと認識したためだ。また、従来までは開発を外部委託するケースが多かったものの、市場変化のスピードに追いつくためには開発の内製化も必要だと判断した。

従来、KDDIでは各々の現場がその時々でツールを導入するケースが多く、これもアジャイル開発の実現を難しくしている原因でもあったという。アジャイル開発センターのプロジェクト推進担当者である吉田祐樹氏は、「開発ツールは各部署やプロジェクトごとで選定し、さまざまなツールを利用していました。場合によっては同じ部署内でも人によって使用しているツールが違うということさえあります。このような環境下ではコラボレーションが難しく “車輪の再発明”が蔓延し、アジャイル開発は実現できていませんでした」と説明する。

このような背景から、社内に存在するさまざまな開発部門に対し横断的にDevOpsやアジャイル開発を推進するアジャイル開発センターがトップダウンで設置された。

優れたサードパーティツール連携でDevOpsを取り入れたアジャイル開発を実践

吉田氏が最初に配属された部門ではGitLabを利用していたが、サードパーティツールとの連携が弱いため使いづらいと感じていた。

前職時代からGitHub Enterpriseを活用していた吉田氏は、GitHub Enterprise をサードパーティツールと連携させることでDevOpsに欠かせないCI/CDを実現できることを熟知しており、GitHub Enterpriseに置き換えることにした。「DevOps のメリットを布教したかった私自身が責任をもって導入を勧めました。データ移行にあたってはCI/CDの連携も含めて1ヶ月ほどで作業は終了しました」と同氏は振り返る。この部署におけるプロジェクトは「auでんきアプリ」の開発だったが、GitHub Enterprise 導入によりわずか4 ヶ月で開発が完了したと言う。

アジャイル開発センター運用グループの谷村祐樹氏は部内へのDevOps布教という側面からもGitHub Enterprise の効果は大きいと指摘している。「OSSプロジェクトを中心に無料で使えるGitHub.comはエンジニアのデファクト・スタンダードツールになっており、多くの開発者はすでに慣れ親しんでいます。また、ユーザー数の多さからネット検索するだけで関連情報や事例が豊富に提供されるため、ユーザーが習得しやすい環境が整っているので、開発者がDevOpsを実践するにあたっての良い環境ができているのではないでしょうか」

GitHub Enterprise 導入にあたり、慣れているツールの継続利用を望むユーザーもいたが、アジャイル開発センターでの活用を機にどのチームも興味を示しつつあるという。外部ベンダー連携でも活用が進んでおり、例えばauでんきではデザイナーが別会社であり、デザイナーもGitHubを通してコラボレーションしている。

さらに、GitHub Enterpriseはユーザーだけでなく決済権を持つ承認者にも受け入れられやすいようだ。「日本の(GitHub Enterpriseを導入している)有名な会社の名前を伝えて『このような有名な会社も利用しています』と説明すればいいのです」と谷村氏は述べる。

将来的には現場の人間だけでなく、企画のレイヤーにあたる上司の間でも活用が進むことを目指しているようだ。現時点で開発メンバー内だけの承認フローはGitHubだけで完結しているが、大きいリリースにあたっては、直接開発に携わらない上司の承認が必要となる。承認のためには改めて資料を作成し、メールで送る必要があるなど作業工数的な負担が大きいのが現状だ。将来的には承認作業もGitHub Enterpriseで行えるフローを確立し、開発から承認までオートメーション化することでアジャイル開発の完成形に近づきたいと中核メンバーは考えている。

GitHubでインフラのCI/CDを実装。アジャイル開発の最新トレンドも積極的に活用

GitHub Enterprise活用はインフラの開発や構成管理にも浸透しつつある。KDDIは同社が提供するサービスの契約情報が一括して参照できる「My au」というポータルサイトを用意しているが、この実現のためには社内に存在するさまざまなサービスの情報を取得してくる必要があり、API ゲートウェイというサービスを用意しているが、このサービス開発の中核となったのがアジャイル開発センター運用グループの廣田翼氏だ。「Jenkinsを使ってGitHubのコードを取得し、実行する仕組みを構築しています。この仕組みではauでんきもau Homeも、アプリケーションのコードだけではなく、インフラのコードもすべてGitHub Enterprise上で運用しており、プ

ログラマブルに運用しています。GitHubの優位性はインフラをコードで表現した場合にも、他のSaaS型サービスと連携しやすい点です。これにより、インフラのCI(継続的インテグレーション)とCD(継続的デリバリー)が加速したと考えています」と同氏はインフラ展開におけるGitHub Enterpriseの効果を説明する。

KDDI ではGitHub Enterprise を基盤としたDevOps/コラボレーションプラットフォームにより効率的な開発基盤を活用するだけでなく、モブプログラミングなどの手法を取り入れることで、さらなる開発効率の向上を実現している。「DevOpsを実現する開発プラットフォームツールとプログラミング手法の、それぞれいいところを組み合わせることでより生産性を高めることができると考えました。手法一つとしてモブプログラミングを実施しており、効果が出ています」と吉田氏はその狙いを説明する。

GitHub Enterpriseやモブプログラミングなど、効率的な開発スタイルを積極的に取り入れるアジャイル開発センターを中心に、これからもイノベーティブな開発スタイルを築いてくれることに期待したい。