AIがソフトウェア開発の共同作業を推進–変わる開発者の働き方
今回は「AIがソフトウェア開発の共同作業を推進–変わる開発者の働き方」についてご紹介します。
関連ワード (AIが企業にもたらす変化、CIO/経営等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
ソフトウェア開発者に対する一般的な認識は、何十年にもわたり、頭が良くてやや内向的、1人で最高の成果をあげる、というものだった。しかし、調査結果が示す現在のソフトウェア開発者の人物像は、実際には外向的で、幅広いチームやエンドユーザーと可能な限り積極的に関わることを好む人々だ。さらに、人工知能(AI)がIT部門に浸透しているため、より高度な顧問職に携わる機会は今後増すばかりだろう。
生成AIは、アジャイルやDevOpsなどの方法論と同様に、開発プロセスを企業に広く開放する、とKPMGは予測する。「企業のソフトウェア開発や保守という点において生成AIが促す変化は、刻一刻と変わるソフトウェア要件や顧客フィードバックへの迅速な対応を可能にするアジャイル開発手法と同じくらい大きく、それ以上に強い影響をもたらすはずだ」
まず、あらゆるプラットフォームで動作するあらゆる言語のコードを自動的に生成してテストできるため、開発者はプロジェクトからプロジェクトへと自由に移動し、自分の力を企業内で幅広く発揮できるようになる。「大規模な開発者グループを迅速に参加させて、新機能の開発やソフトウェアの大きな変更を加速させよう」。KPMGのアナリストはこう助言する。「これらの開発者はすぐに生産性を発揮し、既存の開発者からの指導を求めることが少なくなる」
コードホスティングプラットフォームGitHubが500人の開発者を対象に実施した調査によると、開発者自身も自社や他の開発者との共同作業が拡大する可能性を感じている。「開発者は共同作業環境で成功する」。GitHubの最高製品責任者(CPO)であるInbal Shani氏はこのように記し、次のように結論付けた。「開発者の望みは、スキルの向上、ソリューションの設計、エンドユーザーからのフィードバック、そして自分のコミュニケーションスキルに対する評価だ」
開発者の80%以上は、AIコーディングツールによってチームの共同作業が促進されると予測している。また、多くの開発者は、共同作業とコミュニケーションをパフォーマンス測定においてコード品質と同じくらい重視すべきだと考えているが、所属企業が共同作業とコミュニケーションをパフォーマンス指標として用いていると回答した開発者は33%にとどまった。
この調査では、開発者が典型的なプロジェクトで平均21人の他の開発者と共同作業をしていることが判明し、52%が毎日または毎週他のチームと共同作業をしていると回答した。効果的な共同作業に最も重要な要素として挙げられたのは、定期的な接点だ。一方で、開発者からは、ビルドとテストに費やす時間があまりにも長く、現行のパフォーマンス指標には、組織に対する自分たちの貢献が十分に反映されないとの回答もあった。
組織は開発者体験の優先度を顧客体験やユーザー体験と同じくらい高く設定すべきだ、とShani氏は考えている。コードの品質を高める最善の方法は、全社的な共同作業に基づいて生産的な開発者体験を構築することだ。
「通知やメッセージが多すぎると、フローに影響する可能性があるが、それでも連絡を取り合う必要はある」とShani氏。「開発者たちは当社の調査で、効果的な共同作業によってテストカバレッジが向上し、よりクリーンで安全なコードをより早く作成可能になったと回答している。これはあらゆる開発チームにとってのベストプラクティスだ。開発者は、他者と効果的な共同作業をすることで、より高品質で安全性の高いソフトウェアを構築できると考えていることが分かった」
AIは開発者の時間とリソースを解放して、共同作業の拡大を図る役割を果たすようになったことが、GitHubの調査で明らかなった。業界リーダーたちは、AI、特に生成AIに、社内における開発者の役割を顧問やビジネスアドボケイトの役割にまで高める可能性があると考えている。「生成AIツールが普及するにつれて、IT担当者に求められる役割が、構築者からファシリテーターへと移り変わっていくと考えられる」。Salesforce Platformのエグゼクティブバイスプレジデント兼ゼネラルマネージャーのPatrick Stokes氏はこのように述べた。
ソフトウェアの開発と展開の自動化がAIによって可能になったことにより、「従来のIT担当者の職務範囲が広がった」とLTIMindtreeの最高情報責任者(CIO)のRajesh Kumar R氏は考えている。「高度に自動化された環境によって、IT担当者の負担が軽減され、反復的なタスクに時間を費やすのではなく、心を配ったイノベーションや発明に積極的に関与し、ビジネスの複雑な問題を迅速に解決して、ソフトウェアの使い勝手を向上させることが可能になった」
同氏はさらに次のように語る。「現在の形態の生成AIは、シンプルで実績のあるアルゴリズムのコードをオンデマンドで構築することで、開発者の生産性を向上させるとともに、テストケースでのコード品質を高め、コードの文書化によって保守を容易にする」
生成AIの発展は、「この取り組みが大きく前進したことを示している。というのも、正常に機能するプログラムの作成をほぼ誰でもAIに頼めるようになったからだ」とStokes氏。「コードの記述に何時間もかけるのではなく、コードのテスト、保護、インターフェースの微調整によって、ユーザーを最大限満足させるために時間を使うことができる。その結果、より高品質なアプリを大幅に短い時間で作成可能になり、開発者は必然的にエンドユーザー体験との距離をさらに縮めることになるだろう」