調査結果1:開発者の生産性はスピードだけではない
今回の大規模な調査を通じて、GitHub Copilotを使用している開発者がタスクのスピードアップ以外にメリットを感じているかどうかを確認しました。特に注目すべき点は次のとおりです。
チャートの内容と見方
コンテキストについて:この調査では、SPACEフレームワーク(
https://queue.acm.org/detail.cfm?id=3454124)のすべての側面をカバーするようにステートメントを盛り込んでいます。SPACEは、開発者の生産性のさまざまな側面を表し、以下の多次元フレームワークを示した頭字語です。(1) Satisfaction and well-being(満足度と幸福)、(2) Performance(パフォーマンス)、(3) Activity(行動)、(4) Communication and collaboration(コミュニケーションとコラボレーション)、(5) Efficiency and flow(効率性とフロー)。本調査結果1では、「満足度と幸福」と「効率性とフロー」の側面からの結果に焦点を当てます。どちらの側面も開発者の生産性にとって重要でありながら、見過ごされがちです。調査結果とデータをまとめた別の刊行物を現在準備中のため、今回が調査結果のすべてではありません。
チャートの内容:以下のチャートは、対応するステートメントに同意した回答者の割合を示しています(「非常に同意する」と「同意する」の合計)。テクニカルプレビューにサインアップした開発者から、2,000件を超える回答が寄せられました。回答者は主にプロの開発者(約60%)ですが、学生(約30%)や趣味で開発をしている人(約7%)も含まれていました。
生産性の結果と開発者のGitHub Copilotの使用量との相関関係について再確認するには、過去のブログ投稿(
https://digitalpr.jp/r/61423)および学術論文(
https://dl.acm.org/doi/10.1145/3520312.3534864)をご覧ください。
表:GitHub Copilotを使用した場合の開発者の生産性の各側面を測定するアンケートの回答
*すべての質問はSPACEフレームワーク(
https://queue.acm.org/detail.cfm?id=3454124)を使用してモデル化しました。
GitHub Copilotは開発者にとって「生産性を高める補助」ですが、それだけではありません。あるシニアソフトウェアエンジニアは、全体的な体験について次のように述べています。「Copilotを使用することで考えなくてはいけないことが減り、自分が楽しいと思えることだけを考えることができます。それはコーディングをより楽しいものに変えると同時に効率性をより高めます」
定性的調査から得られた結論は、「退屈な反復作業をGitHub Copilotに任せることで、認知的負荷が軽減された」ということです。これにより開発者は、複雑で重要な思考や問題解決を必要とする、より有意義な作業を楽しむ余裕が生まれ、より大きな幸福感と満足を得ることができます。
調査結果2:しかし、スピードも重要
本調査では、「GitHub Copilotを使用すると、特に反復的なタスクをより速く完了できる」という回答が多く見られました。GitHub Copilotは人間よりも速く書き出すため予想通りの結果でしたが、それでも90%以上の同意が得られたことは嬉しい驚きでした。大多数の開発者が「GitHub Copilotがタスク完了の時間短縮に役立っている」と認識していますが、実際にその効果を観察して測定することは可能か、検証するために制御実験を行いました。
図:実験のプロセスと結果の概要
95人の開発者を無作為に2つのグループに分け、JavaScriptでHTTPサーバーのコーディングに要した時間を計測しました。片方のグループのみにGitHub Copilotを使用してもらい、もう一方は使用しないという実験です。それと同時に、できるだけ多くの要因を制御しようと試みました。すべての開発者がJavaScriptに精通しており、全員に同じ指示を与えました。最後にGitHub Classroomを使用して、テストスイートで提出物の正確性と完全性を自動採点しました。実験のセットアップの舞台裏に関するブログ記事は、後日公開予定です。
実験では、両グループのタスク成功率の平均、および両グループが完了するまでに要した時間の平均を測定しました。
- GitHub Copilotを使用したグループのほうが、タスクの完了率が高かった(GitHub Copilotを使用しないグループの70%に対して、78%)。
- 顕著な違いは、GitHub Copilotを使用した開発者は、GitHub Copilotを使用しなかった開発者よりも55%速くタスクを完了したことです。具体的には、GitHub Copilotを使用した開発者はタスク完了に平均1時間11分を必要としました。一方のGitHub Copilotを使用しなかった開発者は平均2時間41分を要しました。これらの結果は統計的に有意(P=.0017)であり、速度増加率の95%信頼区間は[21%, 89%]です。