生成AI活用促進チームの山田です。

本記事ではTIS株式会社のGitHub Copilot活用の状況とその効果、また、GitHub Copilotの導入を推進するためにどのようなことを実施しているかをご説明します。

本記事のサマリ

  • TISではGitHub Copilotの導入を積極的に進めています
  • アンケートを実施した結果、8割以上のユーザーが生産性向上効果を、約7割のユーザーが品質向上効果を実感しています
  • 生成AI活用促進チームにGitHub Copilotに関する課題を集約させることで、エンジニアが業務に集中できるよう取り組んでいます

目次

  • GitHub Copilotとは何か
  • TISのGitHub Copilot導入への取り組み
  • TISの現在の導入状況
  • GitHub Copilot導入による効果
  • 導入のため解決した課題
  • GitHub Copilot導入に付随して、社内の動きのご紹介
  • まとめと今後の展望

GitHub Copilotとは何か

GitHub Copilotとは、コーディングを迅速かつ効果的に行うためのAIコーディングアシスタントです。編集中のファイルやコードコメントから意図に合ったコードを提案します。関連ファイルの内容を解析し最適なコードを提供することで、コードの記述速度、コード品質を向上させます。

TISのGitHub Copilot導入への取り組み

開発生産性を向上させるため、TISではGitHub Copilotの導入を積極的に進めています。

本格的な導入を2023年7月から進めており、現在も利用チーム拡大中です。

TISの現在の導入状況

TISでは以下の通り、GitHub Copilotの活用が進んでいます。

GitHub Copilotの2023年10月から2024年9月までの利用人数の推移を表しています。2024年9月時点では278名が利用しています。

 

社員・ビジネスパートナー様の導入状況

TISでは、受託案件やサービス開発など、さまざまな案件形態があります。サービス開発の案件を中心に、GitHub Copilotの導入が進んでいます。また、オフショア開発でもGitHub Copilotの導入が始まっています。

GitHub Copilotの効果的な利用のための勉強会が実施されるなど、積極的に利用を進める雰囲気がうかがえます。

新入社員研修

毎年6月から7月にかけて行われるテクノロジー&イノベーション本部主催の開発研修において、2024年度はGitHub Copilotを導入しました。グループ会社の新入社員を含む計202名がGitHub Copilotを利用して研修を受講しました。

学生向けイベント

TISではエンジニアに興味のある学生を対象に、『チーム開発実践コース 5Days』というイベントを開催しています。2024年8月と9月に実施された本イベントにおいて、参加者はGitHub Copilotを利用したプログラミングを体験しました。

GitHub Copilot導入による効果

GitHub Copilot利用者にアンケートを依頼し、効果測定を行いました。

23部門119名に回答いただいた結果を、生産性、品質、スキル、モチベーションに分類してアンケート結果を考察します。

回答者の属性と利用環境

まずは回答者の属性と利用に関する状況についてご紹介します。アンケート結果は以下の通りです。

 

アンケート回答者の職種、利用プログラミング言語、利用フレームワーク、エディタ、GitHub Copilot利用期間、よく利用する機能を示しています。 職種はフロントエンドエンジニア、バックエンドエンジニアが多いです。 利用言語はJava, 利用フレームワークはSpring、利用エディタはVisual Studio Codeが最多です。 GitHub Copilotの利用期間は46%が3か月未満です。 よく利用する機能としてはコードの自動補完、コーディングに関する質問が多く挙げられています。

質問

1. 普段の業務におけるあなたの主な職種を教えてください。※複数回答可

2. GitHub Copilotを利用しているプログラミング言語を教えてください。※複数回答可

3. GitHub Copilotを利用しているフレームワーク、ライブラリを教えてください。※複数回答可

4. GitHub Copilotを利用しているエディタを教えてください。※複数回答可

5. GitHub Copilotを利用している期間を教えてください。

6. よく利用する機能を教えてください。※複数回答可

この結果から、以下の状況がわかります。

  • フロントエンド、バックエンドエンジニアが多く、インフラエンジニア、アーキテクトも一定数GitHub Copilotを利用していること
  • Javaを扱っているエンジニアが多いこと
  • コードの自動補完、コーディングに関する質問、ソースコードの説明のためにGitHub Copilotを使っているエンジニアが多いこと
  • GitHub Copilotの用途が多岐にわたること

    生産性

    生産性に関わる項目のアンケート結果は以下の通りです。

    週にプログラミングする時間、一日当たりの作業削減時間のグラフです。 週当たりのプログラミング時間は33%が5時間未満、22%が5時間以上10時間未満、24%が10時間以上20時間未満、21%が20時間以上と回答しました。 一日当たりの作業削減時間は30%が1時間以上と回答しました。作業時間に繋がらないという回答も15%ありました。

    質問文

    7. プログラミングを週何時間程度行いますか?※直近1か月の状況についてご回答ください。

    8. GitHub Copilotを使用することで、1日あたりの作業時間がどの程度削減されましたか?※直近1か月の状況についてご回答ください。

    8割以上のエンジニアが生産性向上効果を感じていることがわかります。

    さらに各項目に関連性があるという推測のもと、関連性のある項目をグラフにまとめました。

    アソシエイトエンジニアとリードエンジニアの回答を比較したグラフです。 アソシエイトエンジニアのほうが、プログラミング時間削減効果が高いことがわかります。

    ※TIS基準による階級別集計を実施。本記事において、リードエンジニアはチームリーダー相当以上のエンジニアと定義する。

    GitHub Copilotの利用3か月未満のユーザーと、3か月以上のユーザーの作業削減時間を比較した図です。3か月以上利用しているユーザーのほうが作業削減時間が大きいことがわかります。

    結果からは、以下の傾向が見られます。

    • リードエンジニアと比較して、アソシエイトエンジニアにとってGitHub Copilotによる生産性向上効果が高い
    • 利用期間が長いユーザーのほうが、生産性向上効果が高い

    一方、GitHub Copilotの利用で生産性向上効果がないという回答もありました。以下の要素が原因だと推測しています。

    • 熟練したプログラマはコード補完だけでは大きな時間削減効果が生み出せなかった
    • GitHub Copilotを利用し始めて日が浅く、効果的な利用ができていない
    • 利用者の中にはコーディング時間が少ないユーザーがいる

    品質

    品質に関わる項目のアンケート結果は以下の通りです。

    品質向上効果、レビュー指摘数の現象、レビューイのコード品質の向上についての質問結果のグラフです。 71%が品質の向上を、47%がレビュー指摘数の減少を、51%がレビューイのコードの品質向上を実感しています。

    質問文

    9. GitHub Copilotを使用することで、コードの品質は向上しましたか?

    10. GitHub Copilotを使用することで、コードレビューの指摘数は減少しましたか?※レビューイのみ対象

    11. GitHub Copilotを利用しているレビューイのコードの品質は向上しましたか?※レビュアーのみ対象

    全体の約7割のユーザーが品質向上効果を感じています。また、約5割のユーザーがコードレビュー指摘数の減少を感じています。レビュアーも提出されるソースコードの品質向上を実感していることがわかりました。

    さらに、エンジニアのレベルごとの品質向上効果をグラフにまとめました。

    品質の向上、レビュー指摘数の減少に関してリードエンジニアとアソシエイトエンジニアの回答を比較しました。 どちらもアソシエイトエンジニアのほうが約20%ほど多く効果があったと回答しました。

    品質面においても、アソシエイトエンジニアにとってより効果があることがうかがえます。リードエンジニアにとっての効果はアソシエイトエンジニアと比較すると薄いようです。しかし、それでも約4割がコードレビューの指摘数減少を感じており、一定の効果があると推測できます。

    利用者のスキル向上

    スキルに関わる項目のアンケート結果は以下の通りです。

     

    GitHub Copilotの利用による効率的な学習、独力で解決可能な問題が増えたかについての回答結果のグラフです。 どちらも約7割が効果があったと回答しています。

    質問文

    12. GitHub Copilotを利用することで、これまで以上に効率的に学習が進むと感じますか?

    13. GitHub Copilotを利用することで、独力で解決可能な問題の幅が広がりましたか?

    さらに、回答メンバーのレベルごとの回答をまとめました。

    学習効果、独力で解決可能な問題の増加に土江アソシエイトエンジニアとリードエンジニアの回答を比較しました。どちらも約10%ほどアソシエイトエンジニアのほうが効果を感じた割合が高い結果となっています。

    学習の効率化、課題の独力解決のどちらにも、GitHub Copilotが有効であることがアンケート結果よりわかりました。その傾向はアソシエイトエンジニアにより表れ、8割程度の利用者がその効果を実感しています。

    モチベーション向上効果

    モチベーションに関わる項目のアンケート結果は以下の通りです。

    質問文

    14. GitHub Copilotを利用することで、開発者体験が向上しましたか?

    8割以上のユーザーが開発者体験の向上を実感したと回答しました。GitHub Copilotの導入はエンジニアにとっての働きやすさにつながることがわかります。

    ユーザーの意見

    具体的なメリットとして、以下の意見などがありました。

    • これまで有識者に聞いていた部分を、ある程度 GitHub Copilot に解説してもらえるようになったことで、有識者の時間の節約と、解説を受ける側の理解までのリードタイムが短縮できているように思う
    • 試行錯誤が必要なビジネスにおいていったん簡単に形を作って動かしてみるということが非常に早く行える
    • 時間短縮効果よりも、できないことができるようになる、ひとりあたりの「付加価値向上」がとても大きい
    • 新しい言語、フレームワークの学習も効率的に行えることが体感できた

    一方、課題として以下の意見などがありました。

    • 全てGitHub Copilotに任せるというよりはやはり提案されたものを検討する必要は必須と感じた

    GitHub Copilotの提案が常に正しいわけではないため、エンジニアの判断が必要であるという意見が多くありました。

    アンケート結果まとめ

    アンケート結果から、以下のことがわかりました。

    • GitHub Copilotの利用によって生産性向上効果・品質向上効果がある
    • 特にアソシエイトエンジニアにとって生産性向上効果・品質向上効果がある
    • レビューイの観点でも品質が向上した
    • 層に関わらず、学習効果・解決可能な問題の幅が広がる効果がある

    GitHub Copilotの利用によって、生産性・品質・学習などに効果があると利用者が感じていることがわかりました。一方、最終的な品質の判断はエンジニアが行う必要があります。エンジニアとGitHub Copilotがうまく相乗効果を発揮できるような利用が鍵になりそうです。

    導入のため解決した課題

    TISではスムーズにより多くのメンバーにGitHub Copilotを利用してもらうため、3つの対応を行いました。

    1. セキュリティ面のチェック

    GitHub Copilotを使うことで生成AIの返答のインプットとなるデータは何か、送信したデータがどのように扱われるかを整理しました。GitHub CopilotやGitHub Enterpriseの契約形態・契約の有無によって、情報の取り扱いやリソースが学習に使われるかは異なります。そのため、全社として適切な契約内容を判断しました。

    これらの契約をGitHub Copilot利用促進チームが一元的に行い、社内に展開することで効率化しました。

    2. 社内手続きの整備

    契約手続きは煩雑で時間がかかることが多いです。業務で利用するサービスの契約のためには、決裁や規約の確認、支払い作業を実施する必要があります。手続きの実施には時間がかかるものもあるため、生成AI活用促進チームが一括で手続きを進め、利用者に負担がかからないようスキームの整備をしました。

    これにより、エンジニアが本来の業務に集中して取り組むことができます。

    3. お試し利用の整備

    プロジェクトによっては「利用している環境がGitHub Copilotとマッチしているかわからない」という課題があります。

    GitHub CopilotはGitHubのパブリックリポジトリを学習ソースとしています。そのため、GitHubリポジトリに上がりづらいマイナーな言語は提案精度がまだ高くないことがあります。そのような不一致をなくすため、一時的に試してみたい需要があります。

    GitHub公式ではGitHub Individualを対象に30日間の無料トライアルを行っていますが、業務での利用にあたってはセキュリティ面での問題があると判断しました。そのため、GitHub Copilot for Businessをユーザーが一定期間トライアルできるよう整備しました。

    まず試してから本格導入するプロジェクトは多く、導入のハードルを下げる要因になっていると考えています。

    4. 顧客向け導入資料テンプレート作成

    TISでは受託開発を行っており、顧客資産であるソースコードを扱う機会が多くあります。GitHub Copilotはエディタで開いたソースコードをプロンプトとして、外部に送信します。お客様から預かっている重要な情報が含まれるため、TISでは顧客資産を扱っているプロジェクトは一律、GitHub Copilotの利用にあたって顧客承認を得る方針で動いています。

    GitHub Copilotのセキュリティに関する条件や送信データ、利用されるデータなど共通の要素を資料としてまとめて社内に展開することで、顧客説明がスムーズにできるようにしました。

    GitHub Copilot導入に付随して、社内の動きのご紹介

    生成AIの情報を交換するTeamsチャネル

    TISインテックグループでは生成AIの情報を交換できるTeamsチャネルを作成しています。会社の枠にとらわれず、グループ内で広く情報交換をすることが狙いです。

    このチャネルには現在1,400人以上が所属しており、最新のAIに関する情報や勉強会の開催情報、資料の共有など、多岐にわたる情報交換を行っています。

    GitHub Copilot利用チームへのインタビュー

    TISのエンジニアがどのようにGitHub Copilotを利用しているのか、インタビュー記事を公開しています。アプリケーションエンジニア、インフラエンジニアなど、さまざまなエンジニアにGitHub Copilotの利用について伺っています。みなさまのGitHub Copilot利用の参考になれば幸いです。ぜひご覧ください!

    実践で学ぶGitHub Copilot:ユーザーインタビュー vol.1

    実践で学ぶGitHub Copilot:ユーザーインタビュー vol.2

    実践で学ぶGitHub Copilot:ユーザーインタビュー vol.3

    生成AI活用ガイド

    生成AIを活用するためのガイドラインです。 ChatGPTやGitHub Copilotなどの導入方法、基本的な操作、効果的な使い方やプロンプトテンプレートなどを提供しています。お客様に本ページをご紹介する機会もあり、活用の場が広がっています。

    まとめと今後の展望

    本記事では、TISにおけるGitHub Copilotの導入状況とその効果、導入に向けて実施した取り組みについてご紹介しました。みなさまの参考になれば幸いです。TISでは今後もGitHub Copilotの推進を進めます。社内AIチャットサービスも展開しており、そちらの活動も紹介しています。こちらもぜひご覧ください!

    社内AIチャット「TIS AIChatLab」:RAG応答評価の仕組みとプロセス

    社内AIチャット「TIS AIChatLab」:RAGアーキテクチャの刷新とUX改善