生成AIはアジャイルな開発現場の救世主となるか? エンジニアが語るAI活用のリアルと未来

生成AIはアジャイルな開発現場の救世主となるか? エンジニアが語るAI活用のリアルと未来
執筆者
aslead編集部
aslead編集部

こんにちは。aslead編集部です。
最新ソフトウェア開発のトレンドから、AI・DXツールの効果的な活用法、企業のITガバナンスの強化、業務効率化やDX化を成功に導くソリューションまで、幅広い記事を提供しています。
企業が直面する課題の解決策として効率的なツールの活用方法を探求し、生産性の向上に繋がる実践的な情報をお届けすることを目指します。

こんにちは、aslead マーケティング担当の金山です。

永和システムマネジメント インタビューツアーの第3弾です。

今回は、永和システムマネジメントでエンジニアマネージャーをやられている岡本さんに生成AIとアジャイルについて会話をしてきました。

永和システムマネジメント 岡本さん:エンジニアリングマネージャー(EM)という立場ではあるが、エンジニアとしてお客様の案件に入って内製化支援などをやりながら一緒に開発を担当。

目次

AIを実際に使ってみて、どのような効果を感じていますか?

私たちのチームでは、ここ半年くらい前からAIを導入し始めました。AIという言葉をよく耳にするようになったのは最近のことで、実際にチーム内でも使い始めたばかりです。 現在、一番多用しているのはコーディングのサポートです。実際、コードを書いてもらったり、レビューしてもらったりという形で利用しており、特に感じる効果は作業スピードの向上です。体感的には、作業効率が10倍以上も上がることがあり、これまで1時間かかっていた作業が、状況によっては10秒で終わることもあるんです。もちろん、コーディングに限るのですが、どんどん作業効率が向上してきているのが実感できています。 ただ、よく言われる通り、AIが出してくる結果が必ずしも正しいという保証はないので、全く未知のことを頼んで、その答えが本当に動作するかどうかが分からない場合は、使い物にならないこともあります。自分が得意な分野であれば、作業を早くこなしてくれるという点は非常にありがたいのですが、自分の苦手な領域で頼んでも、その結果を自分自身でしっかり判断できないため、そこはまだ使いにくいと感じています。 また、我々のチームでは、まだ完全なテスト駆動開発ができているわけではなく、そもそも自分たちで書いたコードもすべてテストで検証できているわけではありません。だから、AIが生成したコードだからといって、テストでパスするから安心というわけにもいかず、実際には目視で確認したり、実際に動かしてみたり、さらにテストコードを別途書いてもらってその結果をチェックするというプロセスを取り入れています。どれくらいAIが正確にチェックしてくれるのか、そして人間と同じレベルで安心できるかという点は、今も試行錯誤している段階です。

コーディング以外にAIを活用していますか?

個人的に、最近特に興味を持っているのは、調べ物をする際にGoogleの代わりにGPTを使うことです。近頃、Googleの検索結果はノイズが多く、正確な答えを見つけるのが難しいと感じることが増えました。自分で正しい情報を探し出す手間と比べると、GPTは割と質の高い回答を返してくれる印象があり、そのため検索や情報収集の際は、ほぼGPTに頼るようになっています。 もちろん、GPTの回答が100%正しいとは限らないです。とはいえ、以前までもGoogleで調べたときも全ての情報をそのまま信じていたわけではないです。手法はどうあれ、答えを得た後、公式ページをチェックしたり、実際に動作を試してみたりして、提示された内容が正しいかどうかを自分でも確認しています。 普段の開発業務においては、技術的な情報収集が非常に多くなっています。たとえば、「このライブラリを使いたいのですが、どのようにサンプルコードを書けばよいのか?」や、「トラブルが発生してエラーが出たのですが、その原因は何か?」といった質問をすると、GPTは適切な回答を提示してくれます。自分でGoogle検索してエラーコードを調べ、関連情報を探すよりも、はるかに効率的に解決策にたどり着けると感じています。 実際、Googleでエラーコードを検索すると、「〇〇で解決しました」といった記事が多く表示されますが、その情報が必ずしも正確とは限りません。一方、GPTはより洗練された回答を提示してくれる印象です。私は1日に何度も調べ物を行っていますが、開発のサイクルにおいて、アイデアを思いついて調査し、実装し、動作確認を行うプロセスが格段に早くなりました。これまで半日かかっていた作業が、現在では30分から1時間で回るようになり、体感的には数倍のスピードで進んでいると感じています。

AIの進化は、若手エンジニアの成長にどのような影響を与えると思いますか?

シニアエンジニアが苦労を知った上でAIを利用して楽にできるというのはすごいことですが、最初から楽なことばかりを求めると、本来得られる学びが失われてしまう可能性があるというのは、重要な視点だと思います。 特に、Web上に存在しない情報については、AIでは問題解決ができないという点は、大きな懸念点です。現状では、AIが生成した情報が100%正しいとは限らないため、人間が最終的な判断を下す必要があります。しかし、AIへの依存が進むと、その判断能力が鈍ってしまう可能性も否定できません。 また、エンジニアが「AIネイティブ」となってしまうと、AIの回答を鵜呑みにしてしまい、自分で考える力を失ってしまうのではないかという危惧も、もっともだと思います。 このような状況を防ぐためには、AIをあくまでツールとして捉え、人間が主体的に活用していく必要があります。AIにできることと人間にしかできないことを明確にし、それぞれの強みを活かすことで、より良い結果を得られるのではないでしょうか。 そのためには、AI技術の進化に合わせて、人間の教育も変えていく必要があります。AIに頼りすぎず、自分で考え、判断する力を養うことが、これからの時代を生き抜く上で重要なスキルとなるでしょう。

AI時代において自分の能力をどう伸ばすと良いのでしょうか?

かつて、エンジニアがコンパイラやマシン語変換などのスキルを磨いたように、今求められているコーディング作業も、将来的には完全にAIに任せられる領域となり、人間が関与する必要がなくなるかもしれません。そうなると、私たちの仕事自体がなくなってしまうという不安が生じるのは当然のことだと思います。 特に受託開発という立場からは、今まで売りにしてきた技術やノウハウがAIによって簡単に再現され、競争優位性が失われるのではないかという恐怖感は、より切実な問題です。さらに、「プロンプトエンジニアリング」といった新しい技術も、いずれは陳腐化してしまう可能性があるという点は、非常に鋭い指摘だと思います。 短期的には、AIをうまく使いこなし、適切な質問ができることが他との差別化につながるでしょう。しかし、長期的には、AI自体が進化し、より簡単に正しい答えを返してくれるようになれば、誰もがAIを使いこなせるようになり、プロンプトエンジニアリングの価値は薄れていく可能性があります。

アジャイル開発とAIの組み合わせについて、どのような可能性を感じていますか?

現時点では「アジャイルとAIの組み合わせ」について、明確な関連性を見出すのは難しいかもしれません。 しかし、先ほどもあったように、AIによってトライアンドエラーのプロセスが加速することで、アジャイル開発におけるスプリントの速さや、状況に応じた迅速な対応が実現できる可能性は十分にあります。 また、スクラムチームにおける知識豊富な人材の負担軽減や、知識量・情報検索速度の向上など、AIがアジャイル開発に貢献できる点は多岐にわたります。 将来的には、AIがより高度な判断や意思決定を行えるようになり、アジャイル開発の各プロセスに深く組み込まれることで、より効率的で質の高い開発が実現できるかもしれません。 そのためには、AI技術の進化を注視しつつ、アジャイル開発との連携方法を模索していく必要があるでしょう。

自分たちが培ってきた領域がAIによって代替されると思いますか?

そうですね。結局のところ、知識があるかどうかだけでなく、人間関係を築いたり、チーム内で信頼を得ることこそが、これからの価値になると思っています。これはとても難しい課題です。 今では、アジャイルやスクラムの知識は本を読めば大体わかるくらい一般的になりました。でも、本の内容をそのまま伝えるだけでは仕事として成り立たないんです。単にやり方を説明するだけでなく、プラスアルファの価値をつけることが、今も必要ですし、むしろその重要性は変わらないか、もっと高まっているんじゃないかと感じています。

開発現場でAIに期待することはありますか?

開発現場では、基本的にアジャイル手法でイテレーションを回していますが、ドキュメント整備が追いついていないという課題があります。 仕様については、私たち自身が理解できる最低限のものしか使っておらず、網羅的な仕様書が存在しない状況がよくあります。 このような状況下では、ドキュメントの作成やメンテナンスが非常に大変です。そこで、もしAIが自動でこれらの作業を行ってくれたら、とても助かると感じています。 実際、以前GitHub Copilotがドキュメンテーション機能で話題になったように、コードを読み込ませて設計書を作成するとかはできそうです。 すでに、コードを読み込ませて「この瞬間に何をしているか」を説明させることは行っています。同様に、コードから仕様を抽出してくれる仕組みがあれば、さらに業務が楽になるでしょう。ただし、すべての仕様や要求がコードに明示されているわけではないため、単純な逆変換だけでは対応できない部分も多いのが現状です。 具体的に何をインプットすればよいのか、まだ明確なアイデアはありませんが、仕様作成や要件定義といった面倒な作業を担ってくれると非常にありがたいです。 また、エンジニアが今取り組んでいる中で、「これはもう苦労しなくていいだろう」と感じる作業が数多くあります。こうした作業がAIによってどんどん軽減されれば、エンジニアは本来、やっていて楽しいと感じる業務、たとえば「こういうことをやるとエンジニアとして嬉しい」という部分に専念できるようになり、結果として自分の強みをより活かせる環境になると考えています。 最後に、開発業務はコーディングだけではなく、ビジネスの議論や周囲とのコミュニケーション、調整といった多岐にわたる作業も含まれます。こうした業務がさらに楽になることで、余計な負担を感じずに、自分が本当に好きな仕事に専念できる環境になると嬉しいです。

逆にAIに課題などはありますか?

今日は明るい話をするつもりだったんですが、実はAIには期待と同時に不安も感じています。たとえば、「自分たちは大丈夫か?」という不安が常にあります。さっきも少し触れましたが、私たちは自社の技術や開発力を武器にビジネスをしているので、「もし誰でも同じことができるようになったら、私たちはどうしよう?」と思ってしまいます。

その結果、ビジネスの分野にシフトせざるを得ないのではないか、あるいはビジネスのゲームチェンジが起こるのではないかという不安もあります。さらに、AIの進歩があまりにも早く、1週間や1ヶ月単位で全く異なる技術が次々と登場するため、常に最新情報をキャッチアップし続けるのは難しいと感じています。 こうした状況から、キャッチアップが非常に大変であるという実感は、日々強く感じています。

まとめ

岡本さんへのインタビューを通して、AI導入による業務の変化を伺いました。 AI導入から半年、特にコーディングサポートでは、作業スピードが劇的に向上した一方で、未知の分野ではAIの結果を慎重に確認する必要があるなど、試行錯誤の日々も続いているようです。 また、若手エンジニアの育成においては、AIによる効率化と長期的なスキルアップのバランスが課題として浮き彫りになりました。 AIは、開発作業の効率化や創造的な作業への集中を可能にする一方で、急速な進化や情報キャッチアップの難しさ、既存技術の陳腐化など、新たな課題も浮き彫りにしました。 今回のインタビューを通して、AIは大きな可能性を秘めているものの、その恩恵を最大限に活かすためには、人間の視点や判断とのバランスが重要であるという、現場の温かい思いが感じられました。