aws:AI-Driven Development Life Cycle: Reimagining Software Engineering(人工智能驱动的开发生命周期:重新构想软件工程)
AI驱动的开发生命周期(AI-DLC)这一新型软件工程方法论。该方法包含启动、构建、运营三个阶段:AI将业务需求转化为详细方案,团队实时验证;AI提出技术架构和代码,团队提供决策;AI管理部署运维。
学习目标:
- 翻译、学习、理解AWS AI-DLC 人工智能驱动的开发生命周期
- 摘自核心的内容
人工智能驱动的开发生命周期:重新构想软件工程:
- AI-DLC(AI-Driven Development Life Cycle): Reimagining Software Engineering
AI-DLC is an AI-native, highly collaborative software engineering methodology. AI-DLC 是一种 AI 原生、高度协作的软件工程方法论。
Business and technology leaders are constantly striving to improve productivity, increase velocity, foster experimentation, reduce time-to-market (TTM), and enhance the developer experience. These North Star goals drive innovation in software development practices. This innovation is increasingly being powered by artificial intelligence. Particularly, Generative AI powered tools such as Amazon Q Developer and Kiro have already begun to revolutionize how software is created. As things stand, organizations employ AI in software development through two primary approaches: AI-assisted development, where AI enhances specific tasks like documentation, code completion, and testing; and AI-autonomous development, where AI generates entire applications without human intervention based on user requirements.
商业和技术领导者不断努力提升生产力、提升速度、促进实验、缩短上市时间(TTM)以及提升开发者体验。这些北极星目标推动了软件开发实践的创新。这项创新越来越多地由人工智能驱动。尤其是,基于生成式人工智能的工具,如亚马逊 Q Developer 和 Kiro ,已经开始彻底改变软件的创建方式。目前,组织通过两种主要方式在软件开发中使用人工智能:人工智能辅助开发,增强文档、代码完成和测试等特定任务;以及 AI 自主开发,即 AI 根据用户需求在无需人工干预的情况下生成整个应用。
Why do we need a transformative approach to AI in software? 为什么我们需要对软件中的人工智能采取变革性方法?
现有的软件开发方法,是为人力驱动、长时间运行的流程设计的,产品负责人、开发者和架构师都将大部分时间花在非核心活动上,如规划、会议及其他 SDLC 仪式。因此,仅仅将人工智能改装为助手不仅限制了其能力,还加剧了过时的低效问题。为了真正发挥人工智能的力量并实现生产力,我们需要重新构想软件开发生命周期的整体方法。
To achieve transformative results, we need to position AI as a central collaborator and teammate in the development process, and leverage its capabilities throughout the software development lifecycle. This is why we’re introducing the AI-Driven Development Lifecycle (AI-DLC) , a new methodology designed to fully ingrain AI capabilities into the very fabric of software development.
为了实现变革性成果,我们需要将人工智能定位为开发过程中的核心协作者和团队伙伴,并在整个软件开发生命周期中充分利用其能力。这就是为什么我们推出了人工智能驱动开发生命周期(AI-DLC), 这是一种旨在将人工智能能力完全融入软件开发核心的新方法论。
What is AI Driven Development Life Cycle (AI-DLC)? 什么是 AI 驱动开发生命周期(AI-DLC)?
AI-DLC is an AI-Centric transformative approach to software development that emphasizes on two powerful dimensions:
AI-DLC 是一种以 AI 为中心的变革性软件开发方法,强调两个强大的维度:
- AI Powered Execution with Human Oversight-AI 驱动的执行与人工监督 :AI 系统地制定详细的工作计划,积极寻求澄清和指导,并将关键决策交由人类完成,确保没有任何重要决策在没有人类监督的情况下做出。这至关重要,因为只有人类具备做出明智决策所需的上下文理解和业务需求知识。
- Dynamic Team Collaboration动态团队协作 :当 AI 处理日常任务时,团队在协作空间中团结起来,实现实时问题解决和创造性思维。rapid-decision-making. 这种从孤立工作向高能量团队合作的转变加速了创新和交付。
These two dimensions enable to deliver software faster without compromising on quality.
这两个维度使得在不牺牲质量的前提下更快地交付软件。
How does AI-DLC work? AIDLC 是如何运作的?
At its core, AI-DLC operates by having AI initiate and direct workflows through a new mental model:
AI-DLC 的核心是通过 AI 发启动并引导工作流程来运作:
人工智能制定计划、寻求澄清并执行计划,而人类则做出关键决策
This pattern, where AI creates a plan, asks clarifying questions to seek context, and implements solutions only after receiving human validation, repeats rapidly for every SDLC activity, to provide a unified vision and approach for all development pathways.
这种模式中,AI 制定计划,提出澄清性问题以寻求上下文,并在获得人工验证后才实施解决方案,这一模式在每项 SDLC 活动中迅速重复,为所有发展路径提供统一的愿景和方法。
With this mental model at its core, the software development in AI-DLC takes place in three straightforward phases: 以这一思维模型为核心,AI-DLC 的软件开发分为三个明确的阶段:
- In the Inception phase, AI transforms business intents into detailed requirements, stories and units through “Mob Elaboration” – where the entire team actively validates AI’s questions and proposals.
在启动阶段 ,AI 通过*“群体详细化”*将业务意图转化为详细的需求、故事和单元——整个团队积极验证 AI 的问题和提案。 - In the Construction phase, using the validated context from Inception, AI proposes logical architecture, domain models, code solution and tests through “Mob Construction” – where the team provides clarification on technical decisions and architectural choices in real time.
在构建阶段 ,利用从Inception阶段验证的上下文,AI 通过“群构建”提出逻辑架构、域模型、代码解决方案和测试——团队实时澄清技术决策和架构选择。 - In the Operations phase, AI applies the accumulated context from previous phases to manage infrastructure as code and deployments, with team oversight.
在运营阶段 ,AI 应用前几个阶段积累的上下文,管理基础设施代码和部署,团队监督。
每个阶段都为下一阶段提供了更丰富的背景,从而使人工智能能够提供越来越有根据的建议。
AI-DLC的三个阶段:启动、建设、运营图:
What are the benefits of this methodology? 这种方法有哪些好处?
- Velocity(速度):AI-DLC 带来的最大优势是速度提升了 5 倍到 20 倍,开发周期缩短、AI 能够快速生成和完善工件,如需求、故事、设计、代码和测试,使产品负责人、架构师和开发人员能够在数小时甚至数天内完成以前需要数周的任务。
- Innovation(创新):AI 的加速和重担为创新腾出了大量时间,使开发者能够探索创新解决方案,推动可能性的边界。
- Quality(质量):通过持续的澄清,团队能够准确构建他们心中所想的内容,而非抽象的 AI 对意图的解读。这导致产品更贴近业务目标。AI 通过持续应用组织特定的标准——你的编码实践、设计模式和安全要求——来提升质量,同时生成全面的测试套件。这种端到端的人工智能集成确保了从需求到部署的一致性和可追溯性。
观点:
- AI-DLC提出了一种新颖的软件工程方法,尝试从基础重新构想流程,而非将人工智能强加到传统软件开发生命周期(SDLC,Software Development Life Cycle)框架中。
- AI-DLC 的核心见解——即为“人类驱动、长期运行的进程”设计的传统 SDLC 方法,可以基于 AI 的“速度、灵活性和先进能力”从根本上重新构想——代表了一次极佳的范式转变。
- AI-DLC 展现出明显的智能特征:它感知意图,通过分解推理,通过建议行动,跨迭代保持上下文记忆,并学习。它将 LLM 的力量扎根于严格定义的流程结构(起始、构建、运营)和规定的仪式(Mob Elaboration, Mob Construction)相结合,这种结合充分利用 LLM 的能力,同时不牺牲基于规则的执行流程主干,完美地维持了治理-governance 与模型权威-model authority的平衡。
- AI-DLC 的人机协作方法——将人类定位为验证者和决策者,而 AI 负责规划和分解——完美地满足了当代对当前 AI 能力和局限性的理解。它认识到人工智能在结构化推理任务中表现出色,而人类则能提供更精细的上下文判断和风险评估。
- AI-DLC 讨论了顺序知识交接,每个 SDLC 流程步骤都接收其前身(人工验证的)结果/产品。需要先进的记忆力考量来有效推动学习。
SDLC,Software Development Life Cycle:
一套系统化的流程框架,用于指导软件项目从概念设计到最终维护的全过程。它通过分阶段管理任务,确保开发团队高效协作、控制成本、保证质量,并最终交付符合用户需求的软件产品。以下是SDLC的核心阶段和常见模型:
一、SDLC的核心阶段
- 需求分析(Requirement Analysis)
目标:明确项目目标、用户需求和功能范围。
关键活动:与利益相关者沟通、收集需求、分析可行性、编写需求文档(如SRS,软件需求规格说明书)。
输出:需求规格说明书、风险评估报告。 - 设计(Design)
目标:将需求转化为技术方案,定义系统架构和细节。
关键活动:
架构设计:确定系统模块、数据库结构、接口等。
UI/UX设计:设计用户界面和交互流程。
技术选型:选择编程语言、框架、工具等。
输出:设计文档(如UML图、流程图、原型图)。 - 开发(Development/Coding)
目标:根据设计文档编写代码,实现功能。
关键活动:
模块化开发,遵循编码规范。
使用版本控制工具(如Git)管理代码。
定期代码审查(Code Review)确保质量。
输出:可运行的软件模块或组件。 - 测试(Testing)
目标:验证软件是否符合需求,发现并修复缺陷。
关键活动:
单元测试:测试单个模块的功能。
集成测试:测试模块间的交互。
系统测试:整体功能验证。
用户验收测试(UAT):由用户确认是否满足需求。
输出:测试报告、缺陷跟踪记录。 - 部署(Deployment)
目标:将软件发布到生产环境,供用户使用。
关键活动:
配置服务器、数据库等基础设施。
使用自动化工具(如CI/CD流水线)部署。
灰度发布或分阶段上线以降低风险。
输出:上线后的软件系统。 - 维护(Maintenance)
目标:持续优化软件,修复问题并更新功能。
关键活动:
监控性能(如响应时间、错误率)。
处理用户反馈和Bug修复。
定期更新以适应新需求或技术变化。
输出:升级后的软件版本。
二、常见的SDLC模型
- 瀑布模型(Waterfall)
- 敏捷开发(Agile)
- 迭代模型(Iterative)
- 螺旋模型(Spiral)
- DevOps模型
备注:
更多推荐



所有评论(0)