NTTドコモR&Dの技術ブログです。

AI-DLCはAI駆動開発を実現するか?

AI-DLCのホワイトペーパーの原文は以下より参照ください。
AI-Driven Development Life Cycle (AI-DLC) - AWS White Paper

I. はじめに

第一プロダクトデザイン部の廣瀬と申します。
今年はAI駆動開発という言葉をよく耳にした1年でした。
特にAmazon(AWS)から2025年8月に提唱されたAI-DLC(AI-Driven Development Life Cycle)は大きな話題となりました。
AI駆動開発は本当にエンタープライズレベルの開発に耐えうるソフトウェア開発パラダイムとなったのでしょうか?

今回は、AI-DLCの内容を既存の開発パラダイムと比較しながら、その実用性と課題について考察したいと思います。

II. 既存ソフトウェア開発パラダイムとの比較

今日までソフトウェア開発はウォーターフォールモデルに代表される計画駆動からスクラムに代表される適応型パラダイムへと推移してきました。そして現在、AIを開発の中心に据えるAI駆動開発が新たな潮流として台頭しています。

1. パラダイムの成立要件

あるパラダイムが確立されるには、ウォーターフォールモデルのような、それを実現するためのメソドロジー(方法論)が不可欠だと考えます。つまり、概念を具現化するための具体的な手法が必要だということです。

2. メソドロジーの構成要素

既存のメソドロジーと比較し考察するため、ここでは4つの要素に抽象化して考えました。
a) 組織・チーム (Structure)
b) 役割 (Roles)
c) イベント (Events/Ceremonies)
d) 成果物 (Artifacts)

  • 定義された役割を持つチームがイベントを通じて成果物を出力
  • イベント、ロール、成果物の組み合わせによりプロセスが規定

これにより工学的に再現可能な手法として成立しているという考え方です。

3. AI-DLCとの比較

ここで上記の観点からこれまでの開発手法とAI-DLCを比較してみましょう。

構成要素 ウォーターフォール スクラム AI-DLC
a) 組織・チーム
(Structure)
機能別組織
・設計部門、開発部門、テスト部門
・フェーズ毎に担当が移行
クロスファンクショナルチーム
10名以下
・専任メンバー
・自己組織化
Mob形式での全員参加
・"all teams co-located in a single room"
・人数規定なし
・編成原則不明
b) 役割
(Roles)
PM
アーキテクト
プログラマー
テスター
3つの役割
Product Owner
Scrum Master
Developers
4つの役割
Product Owner: 詳細不明
Developers: "validate", "review", "approve"のみ
QA: ほぼ記述なし
AI: "initiates conversations"(責任・権限・制約・アカウンタビリティ不明)

→ 具体的作業内容不明
c) イベント
(Events/
Ceremonies)
フェーズゲート管理
・要件定義レビュー
・設計レビュー
・コードレビュー
・各種テスト工程

5つの定義されたイベント
Sprint Planning
Daily Scrum
Sprint Review
Retrospective
Sprint

3つのMobイベント
Mob Elaboration (Inception)
Mob Programming (Construction)
Mob Testing (Construction)

→ 詳細については記載なし
d) 成果物
(Artifacts)
重厚な文書体系
・要件定義書
・設計書
・ソースコード
・テスト仕様書
軽量な成果物
Product Backlog
Sprint Backlog
Increment
・各種補助的メトリクス
階層的成果物定義
Intent: 高レベルの目的記述
Unit: 独立した作業単位(Subdomain/Epic相当)
Bolt: 最小実行単位(数時間〜数日)
Domain Design: エンティティ、値オブジェクト、集約等
Logical Design: NFR、アーキテクチャパターン
Code & Unit Tests: AWSサービスマッピング
Deployment Units: コンテナ、Lambda等

既存手法と比較すると、AI-DLCは:
- 成果物:詳細に定義されている
- 役割:人やAIの責任範囲が不明確
- イベント:具体的な進め方は未定義
- 組織・チーム:チーム編成の原則が未定義

であることが分かります。
AI-DLCはまだビジョンペーパーの段階ではありますが、実践する上では特にロールとイベントの具体化は今後の課題となるでしょう。 あるいは、XPやカンバンのように部分的にカバーするフレームワークと組み合わせる方向性になるのかもしれません。

III. 気になったポイント

KEY PRINCIPLESについて

主要原則として挙げられている項目で、特に気になった点について述べます。

2. REVERSE THE CONVERSATION DIRECTION
この原則が示す「会話の方向性の逆転」の具体的な構造がホワイトペーパーからは読み取れませんでした。
Appendixを見る限り実際には各フェーズで定型化されたプロンプトを実行する構造となっており、「逆転」というより「構造化」であり、開発ワークフローをプロンプト自体に内包するものだと解釈しています。

3. INTEGRATION OF DESIGN TECHNIQUES INTO THE CORE
アジャイル開発フレームワークは設計技術に関する具体的な規定を含まずチームに選択させたため品質低下を招いた、としDDD*1をコア技術とすることを主張しています。
しかし、この原則にも論理的弱点があり、AI-DLCは品質保証を「開発者による検証、意思決定、監視」に委ねています(原則4)。 つまり、最終的には人間のレビュー能力に依存する構造です。

もしアジャイルで「チームの自由な技術選択→品質低下」という因果関係が成立するのであれば、その真因は技術選択の自由ではなく、チーム自体のスキル不足でしょう。

AI-DLCにおいても、スキルの低いメンバーがレビューすれば品質は低下します。
これは問題を「技術選択」から「レビュープロセス」へ移しただけとも言えます。

ホワイトペーパーの中でスキル問題を解消するようなレビュー手法が提示されていれば話は別でしたが、ペーパー中ではモブ(Mob)で実施する、という以上の具体的な情報はありませんでした。
換言すれば、AI-DLCは「設計技術の標準化」で品質を担保しようとする一方で、「レビュー能力」はチームに委ねているという非対称性があります。
品質保証の要をレビューとするのであれば、この非対称性をどう解消するかが実践における重要な課題となるでしょう。

個別の中核技術要素として挙げられている、DDD/BDD/TDDのAI駆動開発における有効性については、少なくとも現時点ではベストプラクティスとされていますし、Transformerの仕組みを考えても納得感のあるところかと思います。

4. ALIGN WITH AI CAPABILITY
現状のAIの限界についての認識としては同感である一方で、モブでのレビューによって「開発者が検証、意思決定、監視の最終責任を負う」ことでこの問題を解消できるかは先述のとおり懐疑的な部分があります。

実際にAIを用いた開発経験がある方は実感があるかもしれませんが、AIの成果物レビューは人間にとって認知負荷が高いです。
これは主に、大規模言語モデルの出力は一貫性より尤度を重視するため、整合性の検証(例:仕様とコードの照合、ハルシネーションの検知)は難易度が高く、時間がかかることに起因します。
また、AI-DLCやスペック駆動開発*2では成果物はAIフレンドリーになるように作られます。これは裏を返せば、人間にとっての可読性は従来のドキュメントより劣る可能性があるということです。 更に、開発者が実際の設計作業に携わっていないことを考慮すれば、従来の開発手法での成果物レビューより確実に認知負荷は上がるでしょう。

AI駆動開発では人間の作業範囲が明確なボトルネックとなります。そのため、「AIが1日で作成した成果物を1週間かけてレビューする」といった十分な時間を確保することは難しいでしょう。結果として人間は、AIが生成した大量の成果物の中から「難しい間違い探し」を短時間で強いられることになりかねません。

「現状のAIの出力に全幅の信頼はおけない」は真であり、それに対して「人間によるレビューで担保する」ことは論理の帰結の一つではありますが、実際の人間のケイパビリティを考慮するとアジャイルのように「小さく早く失敗する」アプローチも検討の余地があるのではないでしょうか。
AIの成果物の正解を想像することは難しいですが、BDDなどシステムに期待する振る舞いについては人間にとって定義や想像が簡単なこともそう思う一因です。

ブラウンフィールド開発について

ペーパーではかなり簡素な記述で、AIによるリバースエンジニアリングで高レベルのモデル表現にした後はグリーンフィールド開発と同様というようなことが書いてあります。
現状、この「既存コードベースのセマンティクスをAIにリバースエンジニアリングさせること」が技術的にとても高いハードルであることに注意が必要です。
コードベースの規模とAIによる解釈の正確性は線形の関係にはなりません。
特に以下の点で技術的ハードルが高くなります:
- コンテキストの制約:大規模コードベースは単一のコンテキストに収まらない
- 暗黙知の欠如:ビジネスロジックの意図や歴史的経緯はコードから読み取れない
- 依存関係の複雑性:モジュール間の暗黙の依存が誤解釈のリスクを高める

これらは「AIにコードを読ませる」だけでは解決できない本質的な課題であり、小規模なプロトタイプ規模での検証は困難だと思われます。

IV. 所感と今後の展望

AI-DLCはAI駆動開発の理想を示す青写真であり、実践的メソドロジーとしてはまだ発展途上です。
要件をIntentからDomain Design、Logical Designへと階層的に分解していくプロセスは興味深く、今後有用なフレームワークとなり得る可能性があります
現時点で注意すべきは、PoCや短期ハンズオンでの成功体験を過信することでしょう。 2〜3日で開発可能なプロトタイプであれば、それはおそらくVibe Coding*3でも問題なく開発可能であり、そのまま実プロダクトでも適用できることの根拠にはなりません。

実践に向けた課題

既存プロダクトへの適用に向けて特に大きな壁だと考えているのが

  • 既存コードベースのAIリーダブル*4なドキュメント化と参照機構
  • 開発と連動したドキュメントの保守プロセス
  • コードへのセマンティクス埋め込み
  • 新たな品質保証プロセスの設計

であり、これらの課題を一つずつ実証的に検証していくこと、AI-DLCでまだ具体化されていないロールやイベントの定義を明確にすることがAI駆動開発を次の段階へ進めるための鍵になると考えます。


これらの課題にどう向き合っていくか、現在ドコモでもAI-DLCを始めとした検証に取り組んでいます。
来年はドコモ流AI駆動開発の実践法をアドベントカレンダーとしてお伝えすることを抱負に、今回は締めさせて頂こうと思います。
皆さんの組織では、AI駆動開発をどのように実践されていますか?

*1:ドメイン駆動設計

*2:仕様をAIが解釈しやすい形式で記述し、AIにコード生成させる開発手法

*3:大まかな仕様からAIにコードを生成させ、試行しながら整える軽量なアプローチ

*4:MarkdownやYAML、JSONなどAIが解釈しやすい構造文