乐于分享
好东西不私藏

用 AI-DLC 方法论做软件研发:一句话需求的全生命周期的实践

用 AI-DLC 方法论做软件研发:一句话需求的全生命周期的实践

引言

你有没有想过,AI 不仅能帮你写代码,还能像一位经验丰富的架构师一样,引导你完成从需求分析到系统设计再到代码生成的完整开发流程?

今天我要分享的,是一次使用 AI-DLC(AI-Driven Development Lifecycle) 方法论开发桌面应用的真实实践。从一个简单的需求——"做一个能创建 Jira Issue 的桌面工具"——到最终生成完整可运行的代码,整个过程不到一个小时。


什么是 AI-DLC?

AI-DLC 是 AWS 提出的一种 AI 原生 的软件开发方法论。它不是在传统 Scrum 或 Kanban 上"贴"一层 AI,而是从第一性原理出发,重新思考:当 AI 成为开发的核心驱动力时,软件开发流程应该是什么样的?。

核心理念:重新想象,而非改装

AI-DLC 的第一原则就是"Reimagine Rather Than Retrofit"。传统方法论是为人类设计的——周为单位的迭代、大量的会议、手工编写的文档。而 AI 的速度和能力完全不同,它可以在几分钟内完成需求分析、架构设计和代码生成。

对话方向的反转

在传统开发中,开发者主动编写代码,AI 辅助补全。而在 AI-DLC 中,AI 主导对话方向,人类担任验证者和决策者。就像使用导航软件:你设定目的地(需求),AI 规划路线(设计方案),你在关键路口确认方向(审批节点)。

AI-DLC核心框架

在AI-DLC 框架中,AI通过结构化流程与人类协作,将业务意图转化为可部署的软件系统。

AI-DLC的核心框架包含三个维度,其中交付物构成了不同阶段衔接的桥梁文档。

  • 交付物(ARTEFACTS): PRFAQs, User Stories, NFRs, Risks
  • 阶段(PHASES): Inception 、Construction、Operation
  • 角色(ROLES):PO、Developers、AI 一起Mob Programming

核心概念:

  • **业务意图(Intent):**流程起点,代表高层次业务需求
  • **工作单元(Unit):**AI理解并分解意图后生成的独立任务包
  • **敏捷迭代周期(Bolt):**执行工作单元的快速循环流程
  • **领域设计(Domain Design):**业务逻辑经过建模后的结构化呈现
  • **部署单元(Deployment Unit):**最终可交付的软件包

三个阶段

  • INCEPTION(启动)

    确定"做什么"和"为什么做"  :需求分析、架构设计、工作分解

  • CONSTRUCTION(构建)

    确定"怎么做" :功能设计、代码生成、测试验证

  • OPERATIONS(运维)

    确定"如何运行"  :部署、监控、维护


实战:用 AI-DLC 开发 SmartJira

下面是我这次开发的过程记录(只包括前两个阶段)。

背景

我有一个现有的 Python 项目——一个 Jira Issue 查询的命令行工具。现在我想把它扩展成一个桌面应用,新增两个核心功能:

  1. 创建 Jira Issue,支持模板设置,常用字段不用每次重复填写
  2. 从 Excel 批量创建,一键导入多个 Issue

Phase 1: INCEPTION — 启动阶段

工作区检测

AI-DLC 的第一步是"感知环境"。AI 自动扫描了我的工作区,识别出:

  • 这是一个 Brownfield 项目(已有代码)
  • 语言:Python
  • 核心模块:JiraIssueFetcher 类
  • 依赖:jira 3.8.0, requests 2.31.0

逆向工程

对于已有代码库,AI-DLC 会先进行逆向工程——理解现有系统的架构、API、依赖关系。这一步生成了 8 份文档,包括业务概览、架构图、代码结构、API 文档等。

这就是 AI-DLC 论文中提到的 "Elevate existing code into semantic-rich models"——将代码提升为语义丰富的模型,为后续设计提供上下文。

需求分析

AI 不是直接开始写代码,而是先提出了 7 个澄清问题:

  • 新程序与现有代码的关系?
  • 需要支持哪些字段?
  • 模板存储方式?
  • Excel 格式要求?
  • 错误处理策略?
  • 界面语言?
  • 配置方式?

这些问题以结构化的多选题形式呈现,我只需要选择选项即可。这正是 AI-DLC 的核心模式:AI 提出方案,人类做决策。

应用设计

基于我的回答,AI 设计了完整的组件架构:

  • 9 个组件:MainWindow、4 个页面(查询、创建、批量创建、设置)、4 个服务(JiraService、TemplateManager、ExcelHandler、ConfigManager)
  • 依赖关系图:清晰展示组件间的调用关系
  • 文件结构规划:ui/、services/、templates/ 三层目录

工作单元分解

系统被分解为 4 个工作单元(Unit):

单元
内容
依赖
Unit 1
基础框架与配置管理
无
Unit 2
查询功能
Unit 1
Unit 3
模板系统与 Issue 创建
Unit 1
Unit 4
Excel 批量创建
Unit 1, 3

这对应 AI-DLC 论文中的 Unit 概念——"Cohesive, self-contained work element",每个单元都是内聚的、自包含的工作元素。

Phase 2: CONSTRUCTION — 构建阶段

功能设计

在写代码之前,AI 先为 Unit 1 生成了详细的功能设计:

  • 业务逻辑模型(启动流程、配置合并规则、认证策略)
  • 领域实体(AppConfig、ConnectionStatus)
  • 业务规则(16 条验证和行为规则)

代码生成

然后按照 Unit 1 → 2 → 3 → 4 的顺序,逐步生成代码。每个单元完成后立即验证导入是否正常。

最终生成了 11 个源文件,涵盖:

  • 完整的 PyQt6 GUI 应用
  • 工具栏导航 + 页面切换
  • JSON 模板系统(加载/保存/删除)
  • Excel 导入 + 预览 + 校验 + 批量创建
  • 异步操作(QThread + Signal)
  • 配置管理(.env + GUI 双模式)

构建验证

ConfigManager OK, keys: ['jira_url', 'username', ...]JiraService OK, connected: FalseTemplateManager OK, templates: ['default']Default template loaded, fields: 11ExcelHandler OKAll components initialized successfully!

一次通过,零错误。


关键洞察

1. Operations 阶段:开发即生产的未来

这次实践中我没有走到第三阶段 OPERATIONS,因为 AI-DLC 目前还没有完整实现这个阶段——但这恰恰是最值得期待的部分。

传统研发流程中,开发环境和生产环境是严格分离的:开发→测试→预发→生产,每一步都有人工介入和环境切换。但我认为 AI 时代的终极形态是 开发即生产环境。当 AI 具备了足够的环境感知和自愈能力,它可以在检测到问题的瞬间自动接管运维——代码部署、异常检测、故障恢复、性能调优,全部在一个连续的闭环中完成。

开发和运维之间的那堵墙,终将被 AI 推倒。

2. 从"AI 交互式开发"到"AI 驱动开发生命周期"

当下大多数人使用 AI 写代码的方式,本质上是 AI 交互式开发——打开对话框,想到什么问什么,需求、设计、编码、调试随机穿插。今天让 AI 写个函数,明天让它改个 bug,后天又让它重构一段逻辑。没有全局规划,没有阶段划分,需求在对话中零散地冒出来,架构在一次次修补中逐渐变形。

这种模式在解决单点问题时很高效,但面对一个完整的软件项目时,它就像一场乱战——你永远不知道下一步该做什么,AI 也不知道整体方向在哪里。

AI-DLC 的本质区别在于:它给 AI 驱动的开发加上了生命周期的骨架。

同样是 AI 在干活,但 AI-DLC 下的 AI 知道自己处于哪个阶段、该产出什么、下一步去哪里。需求分析就是需求分析,不会突然跳去写代码;架构设计就是架构设计,不会中途去修 bug。每个阶段有明确的输入、输出和审批节点,整个流程有序推进。

AI 交互式开发
AI-DLC
流程
无固定流程,随机穿插
阶段明确,有序推进
需求
对话中零散提出
结构化收集和分析
设计
隐含在代码中
显式输出设计文档
上下文
容易丢失和碎片化
文档承载,持续积累
质量
依赖人工把关
流程内建质量门禁

一句话总结:AI 交互式开发是让 AI 当你的手,AI-DLC 是让 AI 当你的参谋部。

3. 一个可定制的范式

AI-DLC 最有价值的地方在于:它是一个范式,而不是一个固定流程。

当前的三阶段(Inception → Construction → Operations)是一个基础框架,但你完全可以根据自己团队的实际情况去定制。比如:

  • 在 Inception 和 Construction 之间加入 测试策略阶段,让 AI 先规划测试方案再写代码
  • 在 Inception 之前加入 需求挖掘阶段,让 AI 帮你做用户调研、竞品分析、需求优先级排序
  • 在 Operations 之后加入 持续优化阶段,让 AI 基于生产数据自动提出改进建议
  • 根据项目类型调整每个阶段的深度——简单项目跳过设计直接生成,复杂项目加入安全评审和性能设计

这就是范式的力量:它给你一个思考框架,而不是一套死板的规则。你可以在这个框架上长出适合自己的开发流程。


结语

AI-DLC 代表了软件开发的一个新范式:AI 驱动,人类决策。它不是要取代开发者,而是让开发者从繁琐的实现细节中解放出来,专注于真正需要人类智慧的部分——定义问题、做出权衡、验证方向。

当 AI 能在一小时内完成从需求到代码的全流程时,开发者的核心竞争力就不再是"写代码的速度",而是 "定义正确问题的能力" 和 "在关键节点做出正确判断的能力"。

这,或许就是软件开发的未来。


本文中的 SmartJira 项目使用 AI-DLC 工作流开发,从需求描述到可运行代码,全程由 AI 驱动、人类审批。

参考资料:

  • AI-Driven Development Lifecycle (AI-DLC) Method Definition, Raja SP, AWS
  • AI-DLC GitHub: https://github.com/kiro-community/powers/tree/main/aidlc

相关学习资料