Neural Project Institute面向 AI 时代的项目管理认证

敏捷指南 · 敏捷基础

敏捷开发生命周期:6 个阶段简明讲解

敏捷开发生命周期是产品采用敏捷方法构建时所经历的一系列阶段:从最初的构想,经过多次短迭代(每次都交付可用成果),到发布、支持以及最终退役。与线性生命周期不同,构建阶段会循环多次,每一轮都由反馈来塑造。

要点总结

  • 敏捷生命周期从概念和启动开始,经过多次迭代,到发布、维护和退役。
  • 计划、构建和测试在每次迭代中同时进行,而不是分属不同阶段。
  • 尽早发布增量以获取反馈,并为维护工作规划产能。
  • 并不存在唯一官方模型,因此请根据自身情况调整阶段名称。

什么是敏捷生命周期

生命周期描述了工作如何从构想流转为成品。在 瀑布 生命周期中,每个阶段(需求、设计、构建、测试、部署)按顺序只进行一次。在敏捷中,计划、设计、构建和测试在每个短迭代中同时进行,产品以 增量。以下各阶段描述了产品的整体历程;大部分时间都花在迭代阶段。

六个阶段

阶段主要工作典型输出
1. 概念识别机会、用户和期望成果;判断是否值得探索问题陈述、大致范围、继续/终止决策
2. 启动组建团队,就产品愿景达成一致,建立初始待办事项列表,并搭建工具和环境产品愿景、初始 产品待办事项列表、团队工作协议
3. 迭代(构建)在反复进行的 冲刺 或持续流动经过测试的可用增量;反馈;更新后的待办事项列表
4. 发布最终检查、编写文档和培训,然后部署给用户已发布的产品或功能集
5. 维护(生产)为用户提供支持、修复缺陷并持续改进产品,通常通过后续迭代完成修复、增强功能、运营数据
6. 退役下线产品、迁移用户和数据,并终止支持停用计划、归档数据

一次迭代如何运作

  1. 计划: 团队从待办事项列表中挑选价值最高的条目,并就本次迭代的目标达成一致。
  2. 设计与构建: 开发人员、测试人员和设计人员针对每个条目协同工作,而不是沿着链条逐级移交。
  3. 测试: 测试持续进行,使每个条目都符合 完成的定义 ,然后才算完成。
  4. 评审: 团队向相关方展示可用成果并收集反馈。
  5. 反思: 团队在回顾会上就工作方式的一两项改进达成一致。
  6. 调整: 反馈和新信息用于更新待办事项列表,然后开始下一次迭代。

实例:一款预约应用

一家连锁健身房希望会员能够在线预约课程。

  • 概念(1 周): 产品经理确认电话预约每周占用员工约 20 小时,并设定将大部分预约转移到线上的目标。
  • 启动(2 周): 组建一支六人团队,编写愿景并创建 40 个 用户故事 ,归入四个 史诗.
  • 迭代(6 个为期两周的冲刺): 第 1 个冲刺交付简单的课程表;第 2 个冲刺增加预约和取消功能;后续冲刺增加候补名单、提醒和支付功能。
  • 发布: 第 3 个冲刺后,基础版本在两家试点健身房上线;第 6 个冲刺后推广到所有门店。
  • 维护: 团队保留较小的产能,根据使用数据进行修复和开发新功能。
  • 退役: 数年后,该应用被新的会员平台取代,旧的预约数据被迁移。

敏捷生命周期与传统 SDLC 对比

传统(瀑布式)SDLC敏捷生命周期
工作顺序各阶段按顺序只进行一次构建阶段以短迭代方式重复进行
需求预先固定在按优先级排序的待办事项列表中不断演进
测试接近尾声时的独立阶段持续进行,在每次迭代之中
交付在最后一次性发布频繁交付增量,通常尽早发布
变更通过正式的 变更控制在预期之中,并通过待办事项列表吸收
客户参与主要在开始和结束时全程参与,每次评审都参与

请参阅 敏捷与瀑布 以获取更全面的比较。

常见错误

  • 迷你瀑布式冲刺: 在一个冲刺中完成全部设计,下一个冲刺完成全部构建,之后再进行全部测试。
  • 跳过启动阶段: 在没有共同愿景的情况下开始冲刺,导致待办事项列表偏离方向。
  • 迟迟不发布: 构建了许多增量,却全部压着等待一次大规模发布,从而失去了让敏捷发挥作用的反馈。
  • 忘记维护所需产能: 在规划每个冲刺时都假设没有支持工作。
  • 忽视退役: 让旧产品在无人负责、没有计划的情况下继续运行。

本主题的免费模板

浏览所有模板

常见问题

敏捷开发生命周期有哪些阶段?

一种常见模型包含六个阶段:概念、启动、迭代(构建)、发布、维护(生产)和退役。

敏捷生命周期与 SDLC 相同吗?

软件开发生命周期(SDLC)是对软件构建各阶段的统称。敏捷生命周期是运行 SDLC 的一种方式,其构建阶段以短迭代方式重复进行。

敏捷开发生命周期中哪个阶段耗时最长?

迭代阶段,因为团队会多次重复这一阶段,而且往往在首次发布后仍持续进行。

敏捷开发生命周期中一次迭代有多长?

通常为一到四周。许多团队采用两周的 冲刺.

敏捷开发生命周期有设计阶段吗?

没有单独的设计阶段。设计在每次迭代中持续进行,部分高层设计在启动阶段完成。

在敏捷生命周期中,测试在什么时候进行?

在每次迭代中进行。工作必须经过测试并符合 完成的定义.

Scrum 是一种敏捷开发生命周期吗?

Scrum 是用于运行迭代阶段的框架,并未定义概念、发布或退役阶段;参见 什么是 Scrum.

可以在敏捷生命周期结束前发布吗?

可以,而且值得鼓励。尽早发布增量可以更快获得真实的用户反馈。

敏捷生命周期的启动阶段会发生什么?

组建团队,就产品愿景达成一致,搭建工具和环境,并创建初始 产品待办事项列表.

Kanban 如何融入敏捷生命周期?

Kanban 团队用持续的工作流取代固定迭代,但从概念到退役的整体历程是相同的;参见 什么是 Kanban.

非软件团队会使用敏捷生命周期吗?

是的。营销、创意及其他团队也采用同样的理念:通过短周期交付可用成果并收集反馈;参见 敏捷是否仅适用于软件.