はじめに
23新卒エンジニアの根本です。
GitHubによると、GitHub Copilotの使用によりコーディングが1.5倍早くできることが実験でわかりました。その上で私は元々GitHub Copilotを個人的に使用し明らかな生産性の向上を感じたため、職場でも使用したい・開発組織の生産性を向上させたいと思い、GitHub Copilot for Businessの導入を提案しました。今回は、新卒エンジニアが初めて開発組織全体に対してアプローチする挑戦について、経験と学びについて共有します。これを皆さんと共有することで、GitHub Copilot Businessを導入したいと考えている誰かの役に立てることができれば幸いです。
なぜ GitHub Copilot Business なのか?
GitHub Copilotは個人でも利用可能ですが、以下の二つの問題があり、GitHub Copilot Businessを導入することに決めました。
一つ目の問題は、管理者が組織内で誰がCopilotを使用しているか把握できないことです。仮にGitHub Copilotの業務使用に問題が生じた場合、管理者が即座に使用を停止することは困難です。
二つ目の問題は、ソースコードが外部に流出するリスクです。GitHub Copilot Businessでは、プロンプトや候補は保持されません。しかし、GitHub Copilot Individualでは、プロンプトや候補の収集許可設定はデフォルトで許可になっており、この設定を不許可にするか否かは個々のユーザーに委ねられてしまいます。
GitHub Copilot Individual | GitHub Copilot Business | |
---|---|---|
組織の管理者によるライセンス管理 | No | Yes |
プロンプト・候補の保持のデフォルト設定 | オン | オフ |
提案方法と内容
GitHub Copilot Businessを使用するには、一人あたり月$19のコストが発生します。これを会社の費用として利用するためには、それに見合うリターンがあることを説明する必要があります。
提案方法
まず、自分の提案を整理するために、Design Docを作成しました。Design Docは、提案内容を他人に理解してもらうとともに、議論や意思決定の記録を残すための文書で、Googleなどではソフトウェア開発の設計段階で使用されています。ここでは、背景の把握、それに起因する課題とその解決策の議論を行うために、Design Docのフレームワークとして利用しています。
弊社では、次の画像のように、メンバーの提案を一箇所で統一して管理しています。Notionテンプレートを活用しており、何か提案したいと思った時、すぐに提案を作成できるように設定されています。
背景と課題の設定
エンジニアの生産性向上は、人件費の費用対効果を高めるため、多くの企業で経営層から求められている要素です。したがって、GitHub Copilotの導入による生産性向上が、人件費に対して高い費用対効果をもたらすことを説明できれば良いと考えました。
費用対効果の算出
以下では、理解しやすい例として10人のエンジニアがいる場合を考えます。
GitHub Copilot Businessの費用 一人当たりの価格は$19/月で、約 2,660 円/月、約 32,000 円/年であるであるから、10人分の年間コストは32万円です。
Copilotの導入効果に相当する人件費
GitHubの実験結果によると、GitHub Copilotの使用によりコーディング速度が1.5倍になります。この生産性の向上をGitHub Copilotを導入せずに人員増加で補おうとすると、単純に考えて5人増員する必要があります。また、保守的に見積もって1.2倍になったとしても、2人の増員が必要となります。
したがって、エンジニア一人の年間人件費(給与とそれ以外の会社が負担する総額)を600〜1000万円とし、その中央値である800万円を基に計算すると、Github Copilotの導入によりコーディング速度が1.5倍になるとすれば、それは人件費4000万円に相当します。さらに控えめに1.2倍になると見積もっても、人件費1600万円に相当します。
上記で求めたGitHub Copilot Businessの費用とGitHub Copilotの導入効果に相当する人件費を比較すると、50倍〜100倍もの違いがあることがわかります。これにより、GitHub Copilotを導入すべき根拠を算出しました。
Copilotを導入しない場合のコスト | Copilotを導入した場合のコスト | |
---|---|---|
コーディングの生産性が1.5倍になった場合 | 10人 * 1.5 = 5人増やす / 4000万円 | 0人 / 32万円 |
コーディングの生産性が1.2倍になった場合 | 10人 * 1.2 = 2人増やす / 1600万円 | 0人 / 32万円 |
上長からの承認を得る
作成したDesign Docを部長に対して提案し、レビューを貰いながら修正を繰り返し、導入の承認を得ることができました。
導入と測定
GitHub Copilotを導入すること自体は簡単で、管理者が希望する人に対してGitHub Copilotの権利を付与するだけで実現可能です。しかし、GitHub Copilotを組織に導入する際の課題は、単に導入しただけではツールを有効活用できないということです。GitHub Copilotが導入されても、仕事の効率が上がらなければ、GitHub Copilotにかかる費用は無駄になってしまいます。
GitHub Copilot導入後の効果を測定するためには二つのアプローチが考えられます。
定性的な方法
導入開始一ヶ月後に利用状況についてのアンケートを実施しました。その結果から、以下のことがわかりました。
- 導入を希望した人の半数以上が、GitHub Copilotの使用によってコーディングの生産性が向上したと感じています。
一方で、
- 導入を希望した人の中には、GitHub Copilotに馴染めず、導入や日常の使用が難しかった人もいました。
- 多くの人が私の期待していた1.2倍以上の生産性向上を実感できていませんでした。
定量的な方法
- チームごとのチケットの消化量
- 一人当たりのPR数
について導入前後で比較を行いました。結果としては、過去の変動の範囲内で、大きな変化はありませんでした。
これらの結果から、GitHub Copilotをすでに日常的に使用していた私と他の人とでは、GitHub Copilotの使い方や前提知識に差があることに気付きました。そこで、他の人にもGitHub Copilotを活用してもらうためのアクションを取ることにしました。
浸透への試み
生産性の向上が期待ほど実感できない原因として、GitHub Copilotをエディターに導入して業務で使用していても、人により機能を十分に活用できている人とそうでない人がいるという仮説を持ちました。そのため、以下の二つのアプローチを取りました。
ベストプラクティスの調査と共有
一つは、GitHub Copilotの効果的な活用方法についてNotionにまとめ、社内LT会で全体に共有したことです。私の調査の結果、GitHub Copilotを効果的に使用するためには、その仕組みを理解した上でエディター上でのファイルの開き方やコードの書き方を工夫する必要があることが明らかになりました。以下に、特に参考になった資料を示します。
How to use GitHub Copilot: Prompts, tips, and use cases
| GitHub Copilot Patterns & Exercises
ペアプログラミング
二つ目のアプローチは、希望者とのペアプログラミングを行なったことです。片方のエディター画面を共有しながら、プロダクトのコードのこの部分ではどのように使うかについて意見交換することで、具体的な活用シーンを共有することができました。
今後
上記の試みは、直近一ヶ月で行いました。すぐに数値に現れない可能性も考えられるため、継続的に計測をすることで、ツール導入の効果を説明できるようにしていきたいと考えています。
苦労した点
費用対効果の算出方法
まず、GitHub Copilotのコーディング速度が速くなるという話をどのように費用対効果に落とし込むかというところが難しかったです。初めはコーディングのリードタイムの短縮・こなせるタスク量の増加という話で進めようと考えましたが、それを費用対効果として落とし込もうとすると効果の説明がわかりづらくなってしまいました。結果的に上記の説明がシンプルでわかりやすいと考えました。
効果測定の方法
アンケートを定性的な効果測定の手法として採用しました。しかし、アンケートは主観的な評価になるため、その数字を客観的に評価することが難しいです。定量的な効果測定の手法としては、導入前後のチケットの処理量やプルリクエストの数などが考えられます。ただし、コーディングやPRルールの変更・チームの増員など、導入から2ヶ月だけでは多くの変数が存在し、一人当たりの平均タスク処理量や平均PR作成数での比較が難しいです。
学び
- 組織内で新しいツールを導入することは初めての挑戦でした。ただツールを導入するだけでなく、その効果を導入前後で測定し、ツールを広く浸透させるための適切な方法についても考える必要があることを学びました。
- Design Docの費用対効果の部分において、自分以外の人にもわかりやすく説明することと厳密に見積もりを算出することのバランスの取り方が最初はわからず苦労しましたが、このようなわかりやすい題材を扱うことで塩梅を少しつかむことができました。
最後に
ハウテレビジョンでは、ソフトウェアエンジニア/プロジェクトマネージャー/プロダクトマネージャーを積極採用中です!