Amazon Web Services ブログ

AI 駆動開発ライフサイクル:ソフトウェアエンジニアリングの再構築

本記事は「AI-Driven Development Life Cycle: Reimagining Software Engineering」を翻訳したものです。

ビジネスとテクノロジーのリーダーは、生産性の向上、開発速度の向上、実験の促進、市場投入時間( TTM )の短縮、開発者体験の向上を常に目指しています。これらの長期的な目標が、ソフトウェア開発のプラクティスのイノベーションを推進しています。このイノベーションは、人工知能によってますます加速しています。特に、Amazon Q DeveloperKiro などの生成 AI を活用したツールは、すでにソフトウェアの作成方法に革命をもたらし始めています。現状、多くの組織は主に 2 つのアプローチでソフトウェア開発に AI を活用しています:1 つは AI 支援型開発で、ドキュメント作成、コード補完、テストなどの特定のタスクを AI が強化するアプローチです。もう 1 つは AI 自律型開発で、ユーザーの要件に基づいて人間の介入なしに AI がアプリケーション全体を生成することを期待するアプローチです。これらのアプローチはいずれも、開発速度とソフトウェア品質の面で最適とは言えない結果を生み出しており、AI-DLC はこれらの課題に対処することを目的としています。

ソフトウェアにおける AI の革新的アプローチの必要性

既存のソフトウェア開発手法は、人間主導の長期的なプロセスとして設計されており、プロダクトオーナー、開発者、アーキテクトは皆、計画、会議、その他のソフトウェア開発ライフサイクル( SDLC )の儀式などの本質的ではない活動に時間の大部分を費やしています。AI をアシスタントとして単純に後付けすることは、その能力を制約するだけでなく、時代遅れの非効率性を助長することにもなります。AI の力を真に活用し、生産性向上の長期的な目標を達成するには、ソフトウェア開発ライフサイクルへのアプローチ全体を再構築する必要があります。

革新的な結果を達成するには、AI を開発プロセスの中心的な協力者およびチームメイトとして位置づけ、ソフトウェア開発ライフサイクル全体を通じてその能力を活用する必要があります。これが、AI の能力をソフトウェア開発の構造そのものに完全に組み込むよう設計された新しい方法論である AI 駆動開発ライフサイクル(AI-DLC) を導入する理由です。

AI 駆動開発ライフサイクル(AI-DLC)とは?

AI-DLC は、ソフトウェア開発に対する AI 中心の革新的なアプローチで、2 つの重要な要素を重視しています。:

  • AI が実行し人間が監視する:AI は体系的に詳細な作業計画を作成し、積極的に意図のすり合わせとガイダンスを求め、重要な決定は人間に委ねます。これが重要なのは人間だけが情報に基づいた選択を行うために必要なビジネス要件の文脈的理解と知識を持つからです。
  • ダイナミックなチームコラボレーション:AI がルーティンタスクを処理する一方で、チームはリアルタイムでの問題解決、創造的思考、迅速な意思決定のために、コラボレーションしやすい環境で協力します。この孤立した作業から活気のあるチーム作業への転換は、イノベーションと成果物の提供を加速します。

AI 中心のソフトウェア開発アプローチを描いた図。AI が中心にあり、その周りに機能横断的なチームメンバーがいて、互いに協働している。

これら 2 つの要素により、品質を犠牲にすることなく、より迅速にソフトウェアを提供できるようになります。

AI-DLC の仕組み

AI-DLC の本質は、新しいメンタルモデルを通じて AI にワークフローを開始させ、指示することです:

AI が計画を作成し、明確化を求め、計画を実装する一方で、人間が重要な決定を行う

このパターンでは、AI が計画を作成し、文脈を理解するためにすり合わせのための質問をし、人間の検証を受けた後にのみソリューションを実装します。このパターンは、すべての SDLC 活動に対して迅速に繰り返され、すべての開発パスに統一されたビジョンとアプローチを提供します。

このメンタルモデルを核として、AI-DLC でのソフトウェア開発は 3 つシンプルなフェーズで行われます:

  • 開始( Inception )フェーズでは、AI がビジネス意図を詳細な要件、ストーリー、ユニットに変換します。これは「モブエラボレーション( Mob Elaboration (※) )」を通じて行われ、チーム全体が AI の質問や提案を積極的に検証します。( ※訳註: elaboration は”推敲”や”入念な準備”と言う意味を持つ英単語です)
  • 構築( Construction )フェーズでは、開始フェーズで検証されたコンテキストを使用して、AI が論理アーキテクチャ、ドメインモデル、コードによる実装、テストを「モブコンストラクション ( Mob Construction )」を通じて提案します。そこでは、チームが技術的決定とアーキテクチャの選択についてリアルタイムで明確化していきます。
  • 運用( Operation )フェーズでは、AI が前のフェーズから蓄積されたコンテキストを適用して、チームの監督のもとで Infrastructure as Code とデプロイメントを管理します。

各フェーズは次のフェーズにより豊富なコンテキストを提供し、AI がより的確な提案を提供できるようにします。

AI-DLC の 3 つのフェーズ:開始、構築、運用

AI は、プロジェクトリポジトリに計画、要件、設計成果物を保存し、すべてのフェーズにわたって永続的なコンテキストを保存・維持し、複数のセッションにわたって作業をシームレスに継続できるようにします。

AI 駆動の高度に協調的なアプローチを反映してAI-DLC は新しい用語と習慣を導入します。従来の「スプリント」は「ボルト ( bolts )」に置き換えられます。これは、週単位ではなく時間や日単位で測定される、より短く集中的な作業サイクルです。エピックは作業単位 ( Units of Work) に置き換えられます。この用語の変更は、この手法がスピードと継続的デリバリーを重視していることを強調しています。同様に、他の一般的なアジャイルの用語も AI 中心のワークフローに合わせて再定義され、この手法のソフトウェア開発における革新的なアプローチをより適切に表現する用語体系が作られています。

この手法のメリット

  • 開発速度:AI-DLC が提供する最大の利点は、開発速度の向上です。AI が要件、ストーリー、設計、コード、テストなどの成果物を迅速に生成・改良することで、プロダクトオーナー、アーキテクト、開発者が以前は数週間かかっていたタスクを数時間または数日で完了できるようになります。
  • イノベーション:その結果、開発速度の向上と AI による重労働の肩代わりにより、イノベーションのための時間が大きく確保され、ビルダーは創造的なソリューションを探求し、可能性の限界に挑戦することができます。
  • 品質:継続的な意図のすり合わせにより、チームは AI による抽象的/曖昧な意図の解釈ではなく、頭に描いているものを正確に構築できます。これにより、ビジネス目標により適合した製品が実現します。AI は、組織固有の標準(コーディング規約、設計パターン、セキュリティ要件)を一貫して適用しながら、包括的なテストスイートを生成することで品質を向上させます。このエンドツーエンドの AI 統合により、要件からデプロイメントまでの一貫性とトレーサビリティが向上します。
  • 市場対応力:AI-DLC の迅速な開発サイクルにより、市場の需要とユーザーフィードバックに迅速に対応でき、結果として要件への迅速な適応が可能になります。
  • 開発者体験:AI-DLC は、日常的なコーディングタスクから重要な問題解決にフォーカスを移すことで、開発者体験を変革します。AI が反復的なタスクを処理することで認知負荷を軽減し、開発者がビジネスコンテキストをより深く理解し、自分の作業がビジネス価値に直接影響を与えることを実感できるため、満足度が向上します。

開始方法

AI-DLC の導入には、3 つの明確なパスがあります:包括的な AI-DLC ホワイトペーパー を読む、Amazon Q Developer ルールKiro カスタムワークフロー を活用して組織全体で一貫した AI-DLC の実装方法を探る、または AWS アカウントチームと連絡を取り、AI-DLC を組織の特定のニーズに合わせてカスタマイズする方法について相談する、のいずれかから始めることができます。

ソフトウェア開発の未来が到来しました。私たちは、AI を活用してシステム開発をより速く行うだけでなく、人間による重要な監督とコラボレーションを通じて正確性と品質を維持することをお手伝いできることを嬉しく思います。今すぐ AI-DLC の旅を始めて、AI 駆動型のイノベーションを通じて開発プラクティスを変革している組織のコミュニティに参加しましょう。


翻訳は、ソリューションアーキテクトの金森が担当しました。原文はこちらです。

Raja SP

Raja は AWS のプリンシパルソリューションアーキテクトで、Developer Transformation プログラムを率いています。彼は 100 を超える大企業と協働し、モダンなアーキテクチャ、プラットフォームエンジニアリングプラクティス、Amazon にインスパイアされた運用モデルに基づいて構築されたミッションクリティカルなシステムの設計と提供を支援してきました。生成 AI がソフトウェア開発の状況を再構築する中、Raja と彼のチームは AI 駆動開発ライフサイクル(AI DLC)を作成しました。これは、AI 時代に大規模チームが協働してプロダクショングレードのソフトウェアを構築する方法を再構築する、エンドツーエンドの AI ネイティブ方法論です。