Coursera 笔记

Module 03 · Agile & Scrum敏捷与 Scrum

Sprint PlanningSprint 计划与管理

Coursera ↗

学习目标

观看本视频后,你将能够:

  • 描述Sprint 计划
  • 解释Sprint 目标为何重要
  • 描述如何主持Sprint 计划会议
  • 为用户故事分配估算与标签
  • 制定一个Sprint 计划

Sprint 计划会议

在Scrum过程中,我们已经讨论过产品待办事项列表(Product Backlog)和待办事项精炼(Backlog Refinement),接下来我们要进行Sprint 计划会议,目标是生成Sprint 待办事项列表(Sprint Backlog)。

Sprint 计划会议的目标

Sprint 计划会议的目的是决定下一次 Sprint 中要完成的用户故事,并明确我们在接下来的两周内能够完成多少工作。最终的成果是制定出一个Sprint待办事项列表。


谁应该参加Sprint计划会议?

参与此会议的人员包括:

  • 产品负责人(Product Owner)
  • Scrum Master
  • 开发团队(Development Team)

这个会议只包括核心团队,不邀请利益相关者或其他外部人员。

Scrum中的三个角色

  1. 产品负责人(Product Owner)
  2. Scrum Master
  3. 开发团队(Development Team):
  • 这包括软件工程师、测试人员、运维人员,甚至是业务分析师等。
  • 重要的是,开发团队是一个跨职能的团队,不仅仅包括软件工程师。

每个Sprint都应有目标

每个Sprint都应该有一个清晰的目标,确保团队明白要达成什么。

  • 产品负责人需要明确表达Sprint的目标。
  • 有时产品负责人可能难以确定Sprint的目标,他们可能会想着完成整个项目,但实际上需要思考在接下来的两周内能完成哪些任务。
  • 目标明确后,团队会从产品待办事项列表中选出那些能支持目标的故事,确保每个人都理解这些故事的意义及它们如何帮助实现目标。

目标的重要性:
在Sprint过程中,团队成员时常需要回顾目标,确保自己没有偏离方向。如果任务过于复杂或者过度工程化,团队可以根据目标进行调整,确保交付符合客户需求。


Sprint计划的执行

开发团队将执行以下任务:

  1. 从产品待办事项列表中选取故事,并将其移动到Sprint待办事项列表中。
  2. 为每个故事分配故事点(Story Points)。
  3. 如果待办事项精炼时已经为故事分配了故事点,开发团队需要检查并确认这些估算是否合适。

规划扑克(Planning Poker)

  • 规划扑克是一种估算故事点的常见方法。团队成员通过投票的方式(例如展示数字3、5、8等),讨论并最终达成共识,决定每个故事的规模。
  • 团队的共识非常重要,确保大家对故事的估算达成一致。

确认每个故事的可执行性

  • 确保每个故事都包含足够的信息,以便开发团队可以开始工作。
  • 在Sprint过程中,团队不应该频繁地提问,而是应该能直接进入开发状态。

达到团队的速度(Velocity)

  • **团队速度(Velocity)**是指团队在一个Sprint中能够完成的故事点数量。
  • 速度的重要性:
    • 速度会随着团队经验的积累而变化,估算会越来越准确,团队的工作能力也会逐渐提升。
    • 速度在不同团队之间不可比较。每个团队的估算标准不同,因此不能直接比较两个团队的速度。

关于团队速度:
团队的速度随着经验变化而变化。一个团队可能会认为3个故事点代表中等难度,而另一个团队可能认为5个故事点代表中等难度。因此,速度与团队的估算方式息息相关,不能拿不同团队的速度直接做对比。


创建Sprint里程碑

在Sprint计划中,一个里程碑(Milestone)可以帮助团队明确目标。在ZenHub中,可以使用里程碑或Sprint来跟踪进度。

  • 我通常会创建一个里程碑(Milestone),给它一个简短的标题,标明目标,例如Sprint 1: 部署到云端。

创建里程碑的步骤

  1. 标题:简短明了的标题,例如“Sprint 1: 单个计数器”。
  2. 描述:详细描述本次Sprint的目标,例如“实现一个单计数器并部署到云端”。
  3. 起止日期:设定Sprint的起始日期和结束日期,例如“开始日期:7号,结束日期:18号”。
  4. 持续时间:建议设置为两周,有些团队可能选择一周,但三到四周的Sprint可能导致频繁的变化。

从产品待办事项列表创建Sprint待办事项列表

通过将产品待办事项列表中的故事移动到Sprint待办事项列表,我们开始构建Sprint计划。

  • 每个故事都会分配故事点,并决定其大小(小、中、大)。
  • 通过这种方式,我们确保在Sprint计划中不会超出团队的速度。

分配故事点

  • 打开每个故事,团队讨论并决定其估算值(例如,小故事1点,中等故事3点,大故事8点)。
  • 每个故事分配完成后,将其移入Sprint待办事项列表,并更新当前Sprint的故事点数。

停止添加故事,达到团队速度上限

  • 一旦达到了团队的速度上限,就停止添加更多的故事。
  • 假设团队速度是18个故事点,我们会停止在达到这个数量时,确保不会过度承诺。

故事点与时间无关:
故事点代表的是工作量,而不是墙上的时钟时间。通过使用故事点,团队可以灵活地处理不同规模的任务,确保每个Sprint的工作量符合团队的历史承诺。


总结

在本视频中,你学习到:

  • 产品负责人的责任是明确表达Sprint目标
  • 开发团队的责任是创建Sprint计划
  • Sprint计划通过将故事从产品待办事项列表转移到Sprint待办事项列表,直到达到团队的速度上限。