ソフトウェア開発において急速に生成AIが導入されるなか、デベロッパーの生産性を測定する方法の課題が問われてきています。本稿では、生成AIを活用したソフトウェア開発した際の生産性測定のメトリクスを説明していきます。
ソフトウェア開発における生成AIの現状と課題
2024年は、生成AIにとって、熱狂、楽観、そして慎重さが交錯する節目の年となりました。生成AI搭載の生産性向上ツールを使用すれば、反復的なコーディングや面倒な作業、さらにコード生成を自動化して効率を高めることができます。しかし、約1年が経過した今、多くの組織が生成AIを活用した取り組みから得られる成果を定量化することに苦労しており、組織が求めるビジネス成果が反映されるように生産性測定のメトリクスの見直しを進めています。
これまでも、生成AI搭載のデベロッパーツールの有無にかかわらず、デベロッパーの生産性を測定することは難しい課題とされてきました。2023年、マッキンゼー・
生成AIを活用したコーディングの生産性を評価するには、従来の定量的データを示すメトリクス
生成AIを活用してより多くのコードを迅速に生成することは有益である一方で、生成されたコードの品質やセキュリティが十分に確保されていない場合、技術的負債をもたらす可能性があります。生成AIによって生成されたコードのレビュー、テスト、メンテナンス作業には、通常よりも時間がかかることもあります。たとえば、デベロッパーが生成AIを活用してコード生成の時間を一時的に短縮できたとしても、生成されたコードに欠陥があった場合、ソフトウェア開発ライフサイクル
したがって、生成AIがソフトウェア開発にもたらす価値を評価する際は、生成AIが人間に代わるものではなく、デベロッパーを補完する存在である点を考慮する必要があります。
より良い生産性メトリクスの導入
組織にとって重要なのは、採用率や生成されたコード行数といったメトリクスに注目するのではなく、生成AIが生産性や収益に与える影響をより包括的に捉えることです。このような方法を取ることで、生成AIを活用したソフトウェア開発の実際のメリットを十分に認識し、正当に評価できるようになります。
生成AIがソフトウェア開発にもたらす価値を評価する最善の方法は、ソフトウェア開発ライフサイクル全体から得られる定量的データと、デベロッパーから収集した、生成AIが日常業務や長期的な開発戦略に実際に与える影響に関する定性的なインサイトを組み合わせることです。たとえば、GitLabが2024年に発表したGitLabグローバルDevSecOpsレポートによると、デベロッパーは全作業時間の75%以上をコード生成以外のタスクに費やしていることがわかりました。この定量的データをもとに、デベロッパーは生成AIをより効果的に活用すればコード生成以外のタスクであるコードのレビューやテスト、メンテナンスなどにかかる時間を短縮できる可能性を明らかにしました。
推奨される定量的データの測定手法としては、DORAフレームワークやバリューストリーム分析が挙げられます。DORAフレームワークは、特定の期間におけるソフトウェア開発チームのパフォーマンスを測定する手法です。DORAフレームワークでは、デプロイ頻度、変更のリードタイム
一方、バリューストリーム分析は、構想から本番稼働までのワークフロー全体を評価する測定手法です。バリューストリーム分析では単一のメトリクスに依存せず、リードタイム、サイクルタイム、デプロイ頻度、本番環境の欠陥などのメトリクスを継続的にモニタリングします。デベロッパーの行動よりもビジネスの結果に焦点を当てています。
生成AIの効果的な導入
生成AIはまだ新しい技術であり、組織は生成AI導入に伴い、一般的な課題に直面することを想定しておく必要があります。また、組織はソフトウェア開発チームやセキュリティチームが現時点で生成AIを完全に信頼していないことも認識しておくべきです。なお既存のワークフローに新しい生成AIツールを導入する際には、新たにコードレビュー、テスト、ドキュメント作成などの作業が加わることでプロセス変更が必要となる場合もあります。
組織ははじめに生成AIの活用を低リスクの分野で作業を行いながら最善の方法を構築し、その後安全かつ持続可能な範囲で拡大することが重要です。たとえば、生成AIによるコード生成を使用すると、スキャフォールディング
生成AIは、DevSecOpsプラットフォームの進化において重要な役割を果たしており、開発、セキュリティ、および運用のソフトウェア 開発チームが協力して、品質やセキュリティを損なうことなくソフトウェア開発を加速できるようにさせます。今後組織は、生成AI搭載ツールへの投資がどのような成果をもたらしているかを見るために生産性測定のメトリクスを活用していきます。デベロッパーは、このメトリクスを活用し自分たちの仕事が組織の目標にどのように貢献しているかを明確にする機会になるでしょう。
ソフトウェア開発における生成AIの導入によるデベロッパーの生産性の測定には、コード品質、コラボレーション、ダウンストリームコスト、デベロッパーエクスペリエンスを包括的に評価することが重要です。これらの評価を軸にすることで、デベロッパーの能力のさらなる強化に取り組むことができるのです。