事例

株式会社電通国際情報サービス & GitHub

株式会社電通国際情報サービス(以下、ISID)は、先端技術開発や新たな事業機会の創出を推進するため、2019 年7月に「X(クロス)イノベーション本部」を設置した。現在の主力4 事業(金融ソリューション、ビジネスソリューション、製造ソリューション、コミュニケーションIT)とグループの研究開発活動を強化するとともに、研究成果やビジネスアイデアの事業化、既存事業分野とのシナジー創出を加速させることを目的としている。

開発における品質と生産性を保持しながらベンダーやクライアントともコラボレーション

同本部の中核となるアドバンストテクノロジー部は、4 事業部門に対して包括的な技術支援を担う組織だ。4事業部門はそれぞれにエンジニアを抱えており、プロジェクトごとに自社内研究開発や、金融機関や製造業、サービス業など多種多様なクライアントに向けた受託開発、ISID 独自のパッケージ製品開発に取り組んでいる。アドバンストテクノロジー部では、その最前線で活動するエンジニアに「GitHub Enterprise」の活用を積極的に推奨している。

Xイノベーション本部 アドバンストテクノロジー部 開発技術グループ シニアアーキテクト 佐藤 太一氏は、「当社では2007 年に運用を開始した内製のプロジェクト管理ツール『PCS』を始め、『SVN』(Subversion)、『VSS』(Microsoft Visual SourceSafe)、『Backlog』などが現在も併用されています。しかし、GitHub の価値が認められるようになることで、着実に置き換えが進んでいる状況です」と説明する。

GitHubを導入する背景には、いくつかの理由があった。1つ目は、ソフトウェアの品質向上を実現する開発成果物の全量レビュー。既存の開発ツールでは、開発成果物の全量レビューは工数がかかり非常に困難だったという。しかし、GitHub にはPull Request 機能があり、多くの開発者が開発に参加しやすくなるとともに、継続的インテグレーション(CI)とも容易に組み合わせられるため、レビュー行程を自動化できる。これにより、開発成果物の全量レビューが可能になると期待された。 2 つ目は、VPN 接続が原因となる生産性低下からの脱却。従来の開発ツールでは中央集権型のリポジトリをオンプレミス環境で運用しているため、それらをリモートで使うには会社のサーバへVPN 接続する必要が生じる。しかし、大容量ファイルを頻繁にやりとりすると帯域を占有し、開発生産性が落ちる可能性があったという。「ISID が今後ソフトウェア開発において生産性を高めるには、VPN 接続を前提としないGitHub のようなクラウドサービスの導入が望ましいと考えました。COVID-19 によりリモート開発に早急にシフトする必要性が発生し、GitHub 導入のスピードが加速しました」と佐藤氏は語る。

また、ISID では外部ベンダーと共同でソフトウェア開発を行ったり、受託開発時にクライアントもGitHub のプロジェクトにアクセスする必要があるため、柔軟なユーザー管理が必要になる。そこでアドバンストテクノロジー部では、2016年から一部で活用していた「GitHub Teamプラン」を、2020 年にSSOなどセキュリティ機能が強化されているエンタープライズ版であるGitHub Enterprise にアップグレード。さらに、ISID では開発プロジェクトへの入退出に合わせてGitHub へのアクセス権を制御するシステムを自社開発した。「ISID では毎月100~150人分の入退出が発生するため、LDAP を活用してアクセス制御を自動化しました」と、Xイノベーション本部 アドバンストテクノロジー部 開発技術グループ プロジェクトマネージャー 半田 顕太氏はその意義を説明する。

GitHubはSNSの機能も合わせ持つ技術者のコミュニケーションツール

半田氏は、GitHub を選んだ理由を次のように説明する。「GitHub はソースコード管理のデファクトスタンダードです。GitHub は膨大なユーザ数を有し、コミュニティも数多く存在するので、知見やドキュメント、再利用可能なコンポーネントも豊富に蓄積されているため、初めてGitHubを使うエンジニアも取り組みやすいと思います。また、GitHub を使って開発を行うということはエンジニアにとってある種のモチベーションになると考えました」

他のGit系開発ツールも比較検討したという佐藤氏は、ソフトウェア品質の高さについても次のように続ける。「GitHub は品質も安定しており、サポート体制も充実しているため、長期間にわたって使い続けることが可能だと判断しました」

さらに、他のGit 系ツールはソースコードのホスティングはしてくれるものの、限られたチーム内で使うものという印象を持ったと佐藤氏は述べる。「GitHubはPull Request が象徴するように開発者向けのSNSとしての機能も合わせ持ち、コミュニケーションツールであることに価値があると感じました。世界的に利用されているツールである以上、世界中の開発者が集まり、コラボレーションしながら発展していくはずなので、当社もGitHub を主体に使っていくべきだと考えたのです。

開発環境のインフラとしてのGitHub

ISIDにおけるGitHubユーザは1,000人を超え、ISID 社員のエンジニアと社外の協力会社を含めて開発ツールの中では最も使われているツールとなっているが、GitHub を社内に定着させるために、工夫していることがあるという。

ISIDでは、他の企業同様GitHub 利用における教育プログラムや社内セミナーを充実させたり、新人研修の一環としてGitHub を入れるだけでなく、アドバンストテクノロジー部のメンバーが納得するまでGitHubを使ったという。こうすることで、開発プロジェクトが持つ課題解決のアドバイスを行えるようになった。Xイノベーション本部では、社内の開発プロジェクトが持つ課題を丁寧に理解した上で、GitHubがそれを解決するために最適なツールである場合にだけGitHub の利用を推奨している。「開発ツールは特別な意識を持って使うようなものではなく、水や空気のように使いこなせることが当たり前のものだと私たちは考えています。そのためには、現場のプロジェクトを推進している人々が、GitHub を価値あるものであると実感した上で選択して欲しいと願っています」と佐藤氏は語る。

また、プロジェクト側の導入負担を軽減するため、GitHubのライセンス料はプロジェクト予算の中に組み入れるのではなく、アドバンストテクノロジー部が必要経費として一括購入し、希望するプロジェクトに貸与する形を取っている。「プロジェクトで使うストレージサーバーの費用を、プロジェクトごとに予算計上することはありません。開発に必要なツールであるGitHubも同様の考え方を採用しました。こうすることで、プロジェクトマネージャーが利益率の減少や費用精算を気にすることなくGitHub を存分に活用できるようになります(佐藤氏)」

GitHub Actionsで既存のCIを集約し利用料金などの固定コストを削減

そうした工夫もあり、GitHub 活用の効果はさまざまに表われているという。1つ目は、運用・保守コストの軽減。SaaS型のGitHub導入によって一部のオンプレミスサーバーの運用を削減できるようになり、アドバンストテクノロジー部は本来の業務に専念できるようになった。2つ目は、開発効率の向上。GitHubのPull Requestを活用することで、ソフトウェアの改善速度が明らかに向上しているという。3つ目は、コストコントロールの改善。GitHubの導入でGitHub Actionsが利用できるようになり、これまで複数活用してきたCIツールなどを集約。利用料金などの固定コストを削減できるようになった。4つ目は、Windowsに対応したCI の実現。GitHub ActionsがWindows環境にも対応し、.NET のコードベースを持つソフトウェアでもCIが可能になったのは、担当エンジニアも非常に歓迎しているという。そして5つ目が、非開発業務におけるGitHubの活用。「textlint」(OSSの文書校正管理ツール)を活用し、Pull RequestのたびにGitHub ActionsのCIを回すことで、日本語の文章校正を自動化しているという。半田氏は、「あたかも校正者が文章に赤入れをしてくれるかのような便利さを享受でき、ドキュメントの品質担保にも貢献しています」と高く評価する。

最後に佐藤氏は、「GitHubの活用によって日々の開発作業は大きく改善しました。ギットハブ・ジャパンのサポートも、迅速なレスポンスでどんな質問にもきちんとした対応をしてくれるので非常に満足しています。今後も最新情報の提供なども含め、引き続き支援いただけることを強く期待しています」と語る。

  • 業種

    IT

  • 企業規模

    1,000+

GitHubを企業で活用する

柔軟なホスティングオプションやビッグデータに裏付けされたセキュリティが、企業におけるソフトウェア開発をサポートします。

世界最大の開発者コミュニティに参加しましょう

Free

GitHubのコア機能

  • 無制限のパブリック/プライベートリポジトリ
  • 無制限のコラボレータ
  • GitHub Actions利用時間2,000分/月 パブリックリポジトリでの利用は無料
  • GitHub Packages利用500MB/月 パブリックリポジトリでの利用は無料
  • コミュニティボードによるサポート

Team

GitHubのコア機能

  • Freeプランに含まれているすべての機能
  • 必須レビューワー
  • GitHub Actions利用時間3,000分/月 パブリックリポジトリでの利用は無料
  • GitHub Packages利用2GB/月 パブリックリポジトリでの利用は無料
  • コードオーナー

$4 ユーザー/月

Teamプランを使う

Enterprise

企業ニーズを満たすセキュリティ、コンプライアンス、柔軟なデプロイメント

  • Teamプランに含まれているすべての機能
  • SAMLによるSSO
  • GitHub Actions利用時間50,000分/月 パブリックリポジトリでの利用は無料
  • GitHub Packages利用50GB/月 パブリックリポジトリでの利用は無料
  • 高度な監査機能

$21 ユーザー/月

営業に問合せる