什么是Sprint?
它是Scrum团队工作以完成一定量工作的短暂固定时期。
增量
每个 Sprint 的目标是交付一个可发布的产品增量(Increment),为用户增加价值。增量是之前所有增量的累加——也就是说,产品随着每个 Sprint 不断增长和积累价值。
增量的关键要求:
- 符合 DoD — 每个完成的项目都符合完成定义
- 有用 — 增量为用户提供真实价值
- 可发布 — 增量已准备好发布(但不一定要实际发布)
迭代
Sprint 是迭代(Iterative)过程的一部分,每个 Sprint 以相同的时长紧接着下一个。这种周期性带来:
- 稳定节奏 — 团队建立稳定的工作节奏和可预测的工作量
- 持续改进 — 每次 Sprint Retrospective 都为下一个 Sprint 带来改进
- 可预测性 — 团队的 Velocity 随时间变得更加可预测
- 适应性 — 团队在每个 Sprint 中适应新的需求
Sprint 中的事件
Sprint 包含所有 Scrum 事件:
Sprint Planning(Sprint 计划)
- 时间: Sprint 开始时
- 时长: 一个月的 Sprint 最多8小时(两周 Sprint 约4小时)
- 目标: 定义 Sprint Goal,从 Product Backlog 选择项目,创建工作计划
- 参与者: Scrum Master、Product Owner、开发者
Daily Scrum(每日站会)
- 时间: 每天,固定时间和地点
- 时长: 15分钟
- 目标: 协调日常工作,识别障碍
- 参与者: 开发者(必须)、其他人(可选)
Sprint Review(Sprint 评审)
- 时间: Sprint 结束时
- 时长: 一个月 Sprint 最多4小时
- 目标: 展示增量,获取反馈,更新 Product Backlog
- 参与者: Scrum 团队 + 利益相关者
Sprint Retrospective(Sprint 回顾)
- 时间: Sprint Review 之后
- 时长: 一个月 Sprint 最多3小时
- 目标: 检查流程并识别改进
- 参与者: 完整的 Scrum 团队
持续时间
Sprint 通常持续两周,最长不超过一个月。
如何选择 Sprint 长度?
| 长度 | 适合 | 优点 | 缺点 |
|---|---|---|---|
| 一周 | 有经验的团队、变化快的环境 | 非常快的反馈 | 高开销 |
| 两周 | 大多数团队 | 良好的平衡 | 标准 |
| 三周 | 复杂项目 | 更多工作时间 | 反馈较慢 |
| 一个月 | 大型项目 | 更少开销 | 高风险 |
经验法则
- 从两周开始 — 默认的 Sprint 长度
- 不要改变长度 — 一旦确定,保持不变
- 越短 = 越少风险 — 短 Sprint 允许更快适应
Sprint Goal
Sprint Goal 是团队在 Sprint 中承诺实现的业务目标:
- 提供方向 — 团队知道目标在哪里
- 允许灵活性 — 只要 Goal 达成,团队可以调换项目
- 统一团队 — 所有人朝同一目标工作
- 可衡量 — Sprint 结束时可以判断是否达成
Sprint Goal 示例:
- "让客户能够通过 Google OAuth 登录"
- "将首页加载时间减少到2秒以内"
- "构建基本的推送通知系统"
取消 Sprint
Sprint 只能由 Product Owner 取消,且仅在 Sprint Goal 变得不再相关时。取消 Sprint 是罕见事件,通常表明规划或环境存在问题。
当 Sprint 被取消时:
- 检查已完成的项目——如果可以发布,PO 批准
- 未完成的工作返回 Product Backlog
- Sprint Retrospective 仍然举行
Sprint 指标
- Velocity — 团队每个 Sprint 完成的故事点数
- Sprint Burndown — 显示 Sprint 中剩余工作的图表
- Sprint Goal 达成率 — 达成 Goal 的 Sprint 百分比
- 范围变更 — Sprint 期间的范围变化量
常见问题(FAQ)
如果 Sprint 中没有完成所有工作怎么办?
未完成的项目返回 Product Backlog。Sprint 不会延长。团队在 Retrospective 中讨论并改进估算。
可以在 Sprint 中途添加工作吗?
可以,前提是不影响 Sprint Goal。开发者和 Product Owner 共同决定。最好不要添加计划外的工作。
Sprint 和 Iteration 有什么区别?
Sprint 是 Scrum 的特定术语。Iteration 是 Agile 中更通用的概念。每个 Sprint 都是 Iteration,但并非每个 Iteration 都是 Sprint。
如何处理 Sprint 中发现的 Bug?
与当前工作相关的 Bug 立即修复。旧的 Bug 进入 Product Backlog,由 Product Owner 确定优先级。
相关链接
- Scrum — Sprint 所在的框架
- Product Owner — 决定 Sprint 内容的人
- Scrum Master — 确保 Sprint 正常运行的人
- Backlog — Sprint 项目的来源
- Burndown Chart — 跟踪 Sprint 进度
- Kanban — Sprint 的替代方案——持续流
什么是Sprint Planning?
Sprint Planning是Sprint的第一个事件,为期最长不超过八小时,针对一个月的Sprint。...
什么是Sprint Retrospective?
Sprint Retrospective(回顾会),或简称Retro,是Scrum框架中每个Sprint结束时的一次会议,在会议中团队反思哪些做得好,...
什么是Sprint Zero?
Sprint Zero是敏捷开发中正式冲刺过程的前奏,侧重于初步设置、规划和准备。...
什么是Sprint Review?
Sprint Review是在Sprint结束时举行的Scrum活动,此时检查产品增量并根据收到的反馈调整产品Backlog。...
什么是Design Sprint?
Design Sprint 是一个敏捷的产品开发过程,允许在短短五天内创建和测试一个原型。...