ソフトウェア開発の強化に向けたAI導入のヒントGartner Insights Pickup(328)

本稿では、先進的なソフトウェアエンジニアが、ソフトウェア開発ライフサイクルに沿ってAIを重要な活動にすぐに取り入れる5つの方法と、ソフトウェアエンジニアリングリーダーがチームに、計画からテストまでの各段階にAIを持続的に統合できるように準備を整えさせる7つの方法を紹介する。

» 2023年12月01日 05時00分 公開
[Kasey Panetta,Gartner]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

ガートナーの米国本社発のオフィシャルサイト「Insights」などのグローバルコンテンツから、@IT編集部が独自の視点で“読むべき記事”をピックアップして翻訳。グローバルのITトレンドを先取りし「今、何が起きているのか、起きようとしているのか」を展望する。

要約

  • AIは、現在の日常的なソフトウェア開発作業の多くを自動化する
  • ソフトウェアエンジニアがより迅速にコードを作成するのにも役立つ

AIはソフトウェア開発ライフサイクル全体に浸透していく

 本稿では、先進的なソフトウェアエンジニアが、ソフトウェア開発ライフサイクルに沿ってAIを重要な活動にすぐに取り入れる5つの方法と、ソフトウェアエンジニアリングリーダーがチームに、計画からテストまでの各段階にAIを持続的に統合できるように準備を整えさせる7つの方法を紹介する。

1.生成AIを使ってソフトウェアコードを作成、理解

  • 生成AIベースのコード生成ツール(「GitHub Copilot」「Amazon CodeWhisperer」「Google Codey」など)は、AIによるコード生成ツールを求めるほぼ全ての企業にとって良い選択肢になる
  • これに対し、OpenAIの「ChatGPT」や「Google Bard」など、大規模言語モデル(LLM)に基づいているが企業向けではない生成AIツールを使用することには、多くの企業にとって受け入れられないさまざまなデメリットがある。例えば、ユーザーのプロンプトやコードが、ベンダー製品の将来のアップデート版に含まれる可能性がある。そうなれば、データプライバシー規制に違反したり、重要な知的財産が漏えいしたりするかもしれない
  • 機械学習を用いたコーディングアシスタントプラグインを利用すれば、1つまたは複数のどんなコードスニペットが次に入るかを予測させ、コーディングをスピードアップできる
  • コードアシスタントと会話形式でやりとりしながら漠然としたアイデアを具体化し、プログラムを作ることもできる

2.アプリケーションモダナイゼーションツールとして生成AIをデプロイ(展開)

  • 既に、チャットbotのChatGPTは、ソフトウェアコードをある言語から別の言語に変換できる。これにより、ソフトウェアコードの変革とモダナイゼーションを迅速かつ簡単に自動化する方法を提供している
  • 生成AIツールは、このように開発者によるアプリケーションモダナイゼーションの取り組みをサポートできる。だが、Gartnerは、こうした使用を制限することを勧めている
  • コードが正確に変換されないと大きなリスクがあるからだ。コードの不正確な変換は、生成AIソリューションがハルシネーション(AIがもっともらしいが誤った回答を返すことを指す)や、事実に関する誤りをコードに混入することで起こる場合がある

2027年までにプロ開発者の70%が、AIベースのコーディングツールを使用するようになる見通しだ。この割合は現在、10%に満たない。(出所:Gartner)

3.技術的負債とその影響を説明、検出、評価するために生成AIを使用

  • 技術的負債とは、組織がデジタル技術上の問題を修正する義務を果たし、ビジネスを継続するために支出しなければならない金額を指す。これはソフトウェアアプリケーションのアーキテクチャや設計、開発に起因する費用だ。生成AIは、その負担を管理するのに役立つ
  • ビジネスパートナーとともに、技術的負債のリスクと問題の修正コストに効果的に優先順位を付けるには、生成AIを用いて、技術的負債の原因となる問題を検出、評価し、その影響やリスク、修正に必要な労力のレベルを端的に示す
  • 技術的負債の修正や追跡に生成AI製品を使用してはならない。使用すると、コストが高くつき不正確な結果になる場合があるからだ

4.AIベースの製品やサービスに対するユーザーの期待に対応

  • 生成AIの台頭に伴い、ユーザー体験(UX)デザイナーは、AIベースの製品やサービスに対するユーザーの期待の高まりに応える必要に迫られている
  • 会話プロンプトベースのインタフェースが増える中、ユーザーは、ソフトウェア製品へのこの機能の搭載を求めている。この機能を提供しなければ、あるいは適切に提供できなければユーザーの不満を招くだろう
(出所:Gartner)

5.ソフトウェアテストのライフサイクル全体でAIを利用

  • AIはテストの効果を高め、デリバリーサイクルを短縮することで、ソフトウェアテストを変革しつつある
  • AIによる拡張は、ソフトウェアテストの5つの領域全体にメリットをもたらす

  テストの計画作成と優先順位付け
  テストの作成と保守
  テストデータの生成
  ビジュアルテスト
  テストと欠陥の分析

開発者にAIをパートナーとして受け入れさせるには:ソフトウェアエンジニアリングリーダーにできる7つのアクション

  1. AIファーストの考え方を備え付ける。例えば、プロジェクトの開始時に、予測や自動化のようなAI技術でどのようにアプリを改善できるかを尋ねる
  2. より良い結果を出すためにどんな場合にAIを適用できるか、あるいは必要とするかを示すフレームワークを開発者に提供する
  3. 設計やコーディング、テスト、統合のような分野でソフトウェアエンジニアリングの役割、タスク、ワークフローをサポートするために、AIを活用した専用ソリューションに投資する
  4. AIエンリッチメントを利用し、スマートアプリケーションを支えるメタデータを作成する取り組みをデータエンジニアリングパイプラインで展開する
  5. 開発チームとモデル構築チームが責任の重複を回避し、アプリケーションのスムーズなデプロイ(展開)を確保するために、どのように連携すべきかを明確にする
  6. AI TRiSM(AIの信頼性/リスク/セキュリティ管理)プログラムの全要素について、データとアナリティクス(D&A)チームおよびAIガバナンスチームと協力する
  7. チームのスキルを向上させる。職務にかかわらず、AIは全てのワーカーにとって職場の未来の一部だ。特に、これはソフトウェアエンジニアに当てはまる。AIは、ソフトウェアエンジニアの多様なスキルセットに加わることになる

背景

 Gartnerのバイスプレジデント アナリストのアルン・バチュ(Arun Batchu)氏はこう話す。

「AIを活用したソフトウェアエンジニアリングツールは、開発者がより多くの、より良いコードを作成するのに役立つ。新たに登場してきたAIツールは、機能要件と運用要件を満たす最適なコードスニペットを提案できるからだ。こうしたツールを使うソフトウェアエンジニアは、そうでないエンジニアよりも生産性や満足度が高く、仕事を長く続ける傾向がある」

同僚に伝えるべき3つのこと

  1. 生成AIやコーディングアシスタントは、ソフトウェア開発ライフサイクルにおける設計からテストまでの活動をサポートし、スピードアップする
  2. テストだけでも、AIは効果を発揮し、デリバリーサイクルを短縮する
  3. ソフトウェア開発パートナーとしてのAIの価値を最大化するには、チームの業務モデルや文化、スキルの転換が必要になる

出典:Set Up Now for AI to Augment Software Development(Insights)

筆者 Kasey Panetta

Brand Content Manager at Gartner


Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。