見出し画像

【開発部ブログ】Github Copilot希望者全員導入を決定しました 〜Hack for Enjoy!〜生産性向上のための取り組み

こんにちは! 株式会社Rehab for JAPAN 採用担当です!
今回は開発部のDeveloper eXperience(DX)向上ならびに生産性向上のための取り組みをご紹介します。
詳細はCTOの久良木からレポートしますね。
それでは久良木さん、お願いしま〜す。

皆さん、こんにちは! CTOの久良木です。
今回は、先日【開発部ブログ】Github Copilot導入しました 〜Hack for Enjoy!〜生産性向上のための取り組みにて
ご紹介したGitHub Copilot導入による効果のレポートになります。

◾️GitHub Copilot先行導入

前回のブログで紹介しましたが、今回GitHub Copilotを先行してエンジニア16名に使ってもらい、使用感を試してもらいました。
使い始めて1ヶ月ぐらい経ったので、アンケートをもとにGitHub Copilotの効果を計測しました。
なので、今回はアンケートの結果を共有させてもらえればと思います。
(※あくまでもアンケートによる定性的な評価ですので、参考程度にみていただければと思います。)

◾️アンケート結果

Copilotで使った言語

今回、新規にプロダクト開発しているメンバーに優先的に使ってもらったので、Javaが多くなってます。

Copilotが提案するコードの採用度

87.5%がポジティブな回答でしたが、そのまま採用することはあまりないようですね。

Copilotを使い始めてからの日数でみたところ、まだ日が浅いとスコアが低く、ある程度日数が経つとスコアが高くなるようです。
このことから、使い慣れてくると採用しやすいコードをCopilotが提案してくれるように使い手が適応しているのかもしれませんね。

生産性向上の寄与度

コーディング業務が平均して約30%の生産性向上につながりそうだと実感しているようです。

NPS

日本では、サービスのNPSはマイナスになりがちですが、なんとRehabメンバーにおいて、GitHub CopilotのNPSは「31」でした!

Github Copilotはどのような場面で特に効果を感じたか

フリーテキストで入力してもらったところ以下のようなコメントがありました。

・javadocやメソッドの引数指定などを自動的に提案してくれるところ
・似たような処理,コメントを書く場合
・①Q&A機能を利用して、n+1を検出してくれるところ②メソッドの説明を自動提案してくれるところ
・提案されたコードをそのまま使うというよりは強めの補完機能として生産性向上に寄与している印象です。
 またコメントに関してはそのまま使える場合が多いため、非常に役立っています。
・入力しようとしている変数名などを予測してくれるので、テストコードなど繰り返し似たコードを書く時に
 自分で入力する量がかなり減った
・テストコードを書いている際には、一度書いたコードであれば予測して同じコードを生成してくれるので、
 テストコードの実装コストを軽減させてくれました。
 また、本体コードだけでなくSQLや、さらにはJavadocのコメントまで予測して生成してくれるので、
 効率がめちゃちゃあがりました!
・記載方法を忘れてしまったものやオブジェクトへの値の設定をする場面等で候補を出してくれる点。
 エディタ上で簡単なQ&Aができる点

エンジニアメンバーからの声

上記から、テストコードや面倒に感じてしまうようなコメントを生成してくれる点に特に効果を感じているようです。
あと、QA機能をうまく活用することで更なる効果を発揮してくれそうな気がしますね。

Github Copilotはどのような場面で効果を感じなかったか

逆に効果を感じなかった点も聞いてみたところ、以下のコメントがありました。

・0からコードを書き始めるとき
・初めて書くようなコード(自身のプロジェクト内で類似の処理をしたことがない)の提案は少し精度が低いように感じました。
・そもそもどう書くべきかを分かっていない時。提案が正しいのかどうかが判断できないところ。
 chatGPTの併用で知識を補完していくことが有効
・初めてSpring Bootを触るタイミングでGithub Copilotを導入していたのですが、
 Github Copilotがあったから初心者でもスムーズに進められたという実感はあまりありませんでした。
 Chat GPTに直接質問して疑問点を解消する方が良かったです。

エンジニアメンバーからの声

初期のプロダクト、コードがまだない(少ない)場合や、扱う言語に対して一定のスキルがない場合(Copilot提案に対して、レビューできるレベルが必要)には効果を感じなかったようです。

月次のエンジニア定例でアンケート結果の共有

また、月次のエンジニア定例でのアンケートのまとめを共有しました。
今回は試験的な導入であったため、現時点では未導入のエンジニアがいますが、
大変興味深く全員が楽しみながら聞いていたのが印象的でした。
エンジニア組織のスローガンである「Hack for Enjoy!」の通り、
新たな技術を取り入れることで楽しみながら生産性を向上させた取り組みになったかなと思っています。

月次定例会の様子

希望者全員へのGitHub Copilot提供決定!

アンケートの結果、「DXの向上」ならびに生産性の向上が十分見込めるサービスと判断したため、
2023年10月から、エンジニア希望者全員へのGitHub Copilot提供を決めました!
決め手となった点は以下です。
・効率的なコーディング: 周辺コードから推論したCopilotの提案により、コーディングのスピード(特にテストコード)が向上します。
・品質の向上: バグのリスクを減少させ、品質の高いコードを書くサポートを受けることができます。
(コメントの自動生成は面倒に感じる部分を補完してくれるので素晴らしい!)
・学習の促進: CopilotのQA機能は新メンバーの既存コードの理解を促進してくれます。
 エンジニア組織の人数が50人を超えた弊社にとって、エンジニア一人一人がエンジニアらしく働ける環境を構築することで、
 より大きな力に繋がっていくと考えています。

最後に

Rehab for JAPANのエンジニア組織では「DXの向上」を目指し、スローガンの「Hack for Enjoy!」のもと、
ビジョンである「介護を変え、老後を変え、世界を変える」プロダクト開発を進めています。
価値あるプロダクトを開発し続けられるエンジニア組織であるために、今回のGitHub Copilotに限らず、
これからも新たな施策を取り入れていくので、興味のあるエンジニアの方々をお待ちしております!!

株式会社Rehab for JAPANでは一緒に働く仲間を募集しています🌈
新規プロダクト:バックエンドチームリーダー
新規プロダクト:バックエンドエンジニア
新規プロダクト:フロントエンドチームリーダー
新規プロダクト:フロントエンドエンジニア

最後まで読んでいただいてありがとうございます!Rehab for JAPANの最新情報は、X(Twitter)でも発信しています。ぜひフォローしてください!