AI-Driven Development Life Cycle: Reimagining Software Engineering

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

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

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

①AI が実行し人間が監視する:AI は体系的に詳細な作業計画を作成し、積極的に意図のすり合わせとガイダンスを求め、重要な決定は人間に委ねます。これが重要なのは人間だけが情報に基づいた選択を行うために必要なビジネス要件の文脈的理解と知識を持つからです。

②ダイナミックなチームコラボレーション:AI がルーティンタスクを処理する一方で、チームはリアルタイムでの問題解決、創造的思考、迅速な意思決定のために、コラボレーションしやすい環境で協力します。この孤立した作業から活気のあるチーム作業への転換は、イノベーションと成果物の提供を加速します。
AI 中心のソフトウェア開発アプローチを描いた図。AI が中心にあり、その周りに機能横断的なチームメンバーがいて、互いに協働している。

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

以下は個人のメモ:

Mob Elaboration

  • 要件定義や設計段階でチーム全体が集まって議論し、共通理解を深める
  • a single room with a shared screen led by a facilitator
  • Inception Phase: Mob Elaboration
  • AIの役割:Intentを詳細化、Units (独立した機能単位)とBolts(超高速イテレーション)を推奨
  • 人間の役割:セッションを確立し、Intentを提供、検証と改善のサイクルを回す

    Mob Programming

  • 複数の開発者が1つの画面を見ながら、リアルタイムでコードをく
  • Construction Phase: Mob Programming
  • AIの役割:ドメイン設計の提案と検証、NFR(非機能要件)に基づくアーキテクチャ推奨、コードとテストの生成
  • 人間の役割:Boltの開始と管理アーキテクチャ決定の承認、生成されたコードの検証

    Mob Testing

  • テスト設計やテスト実行をチーム全体で行い。品質内上とスキル共有を同時に実現
  • Operations Phose;継続的な最適化
  • AIの役割:テレメトリー分析(メトリクス、ログ、トレース)、インシデント検知とPloybook実行の摂楽
  • 人間の役割:監視と検証、アクション可能な対応の承認と実装

    大きな変化

  • これまで:人間がAIに指を出して、タスクを完了させる
  • AI-DLC:AIが会話を開始、主し、人間は決認者として機能

  • スプリントからポルト(Bolt)へ
  • 従来のスプリントは「4t06 weeks iong in the pre-Alera」でしたが。
  • ボルトは「continuous and in terms of houts or Ooys」です。

    プロセス概要

  • 既存コードからコンテキスト機器(Brown-field開発の場合)
  • IntentをUser Storiesに詳細化
  • 作業単位(Units)の計画
  • ドメインモデリング、コード生成。テスト
  • 非機能要件の決定
  • デブロイメントアーキテクチャの決定
  • laC (Infrastructure as Code)の生成
  • 本番環境へのデプロイ
  • 監視とインシデント管理