Scrum的五个事件
Sprint 是所有其他事件的容器。Scrum 中的每个事件都是检视和适应 Scrum 工件的正式机会。这些事件都是为实现所需的透明度而特别设计的。未能按规定运作任何事件将导致失去检视和适应的 机会。Scrum 使用事件来创造规律性,并以此最小化对 Scrum 中未定义的会议的需要。 最理想的是,所有事件都在同一时间同一地点举行,以便减少复杂性。
事件一:Sprint
Sprint 是 Scrum 的核心,在这里创意(idea)转化为价值。
它们是固定时长的事件,为期一个月或更短,以保持一致性。前一个 Sprint 结束后,下一个新的 Sprint 紧接着立即开始。
实现 Product Goal 所需的所有工作,包括 Sprint Planning、Daily Scrum、Sprint Review 和 Sprint Retrospective,都发生在 Sprint 内。
在 Sprint 期间:
- 不能做出危及 Sprint Goal 的改变;
- 不能降低质量;
- Product Backlog 按需进行精化(refined)
- 随着学到更多,可以与 Product Owner 就范围加以澄清和重新协商。
Sprint 通过确保至少每个日历月一次对达成 Product Goal 的进展进行检视和适应,来实现可预测性。当 Sprint 的长度拉得太长时,Sprint Goal 可能会失效,复杂性可能会上升,同时风险可能会增加。可以使用较短的 Sprint 来产生更多的学习周期,并将成本与工作投入(effort)的风险限制在更短的一段时间内。每个 Sprint 都可以视为一个短期的项目。
存在各种各样的实践来预测进展,例如,燃尽图(burn-downs)、燃起图(burn-ups)或累积流图(cumulative flows)。尽管被证明是有用的,然而这些实践并不能用来取代经验主义的重要性。在复杂的环境中,未来将要发生什么是未知的。只有已经发生的事情才能用来做前瞻性的决策。
如果 Sprint Goal 已过时,那么就可以取消 Sprint。只有 Product Owner 有取消 Sprint 的权力。
事件二:Sprint Planning
Sprint Planning 通过安排在 Sprint 中要做的工作来启动 Sprint。最终的计划是由整个 Scrum 团队协作创建的。
Product Owner 要确保与会者准备好讨论最重要的 Product Backlog 条目 ,以及它们如何映射到 Product Goal 。Scrum 团队还可以邀请其他人参加 Sprint Planning 以提供建议。
Sprint Planning 处理以下话题:
话题一:为什么这次 Sprint 有价值?
Product Owner 提议产品如何在当前的 Sprint 中增加其价值和效用。然后,整个 Scrum 团队将共同制定一个 Sprint Goal ,用以沟通当前 Sprint 对干系人有价值的原因。必须在 Sprint Planning 结束之前最终确定 Sprint Goal 。
话题二:这次 Sprint 能完成(Done)什么?
通过与 Product Owner 讨论, Developers 从 Product Backlog 中选择一些条目,放入当前 Sprint 中。 Scrum 团队可以在此过程中精化这些 Product Backlog 条目,从而增加理解和信心。
选择在 Sprint 中可以完成多少任务可能会有挑战。 但是,Developers 对他们以往的表现,他们在即将到来的 Sprint 内的产能以及对他们的 Definition of Done 了解得越多,他们对 Sprint 预测就越有信心。
话题三:如何完成所选的工作?
对于每个选定的 Product Backlog 条目,Developers 都会规划必要的工作,以便创建符合 Definition of Done 的 Increment。这通常是通过将 Product Backlog 条目分解为一天或更短的较小条目来完成的。Developers 自行决定如何完成这一工作。没有人告诉他们如何将 Product Backlog 条目转化为价值的 Increment。
Sprint Goal 、这次 Sprint 所选出的 Product Backlog 条目加上如何交付它们的计划称之为 Sprint Backlog。
Sprint Planning 是有时间盒限定的,以一个月的 Sprint 来说最多为 8 个小时。对于更短的 Sprint, Sprint Planning 所需时间通常会更短。
事件三:Daily Scrum
Daily Scrum 的目的是检视达成 Sprint Goal 的进展,并根据需要调整适应 Sprint Backlog,以调整即将进行的计划工作。
Daily Scrum 是一个属于 Scrum 团队的 Developers 的 15 分钟的事件。为了降低复杂性,它在 Sprint 的每个工作日都在同一时间同一地点举行。如果 Product Owner 或 Scrum Master 正在积极处理 Sprint Backlog 条目,那么他们将作为 Developers 参与其中。
Developers 可以选择他们想要的任何举行 Daily Scrum 的结构和技术,只要他们专注于实现 Sprint Goal 的进展,并为下一工作日的工作制定可行的计划即可。这可以创建专注点并改进自管理。
Daily Scrum 改善沟通,发现障碍,促进快速决策,从而消除其他会议的需要。
Daily Scrum 并不是唯一一次允许 Developers 调整计划的时间。他们可以在一天中任何时间碰面,详细讨论如何调整适应或重新规划 Sprint 的剩余工作。
事件四:Sprint Review
Sprint Review (Sprint 评审会)的目的是检视 Sprint 的成果并确定未来的适应性。Scrum 团队向关键干系人展示他们的工作结果,并讨论 Product Goal 的进展情况。
在 Sprint Review 期间,Scrum 团队和干系人将评审在这次 Sprint 中完成了什么,以及环境发生了什么变化。基于这些信息,与会者可以就下一步的工作进行协作。Product Backlog 也可能会进行调整以适应新的机会。Sprint Review 是一个工作会议,Scrum 团队应避免将其仅限于展示。
Sprint Review 是 Sprint 的倒数第二个事件,Sprint Review 是有时间盒限定的,以一个月的 Sprint 来说,最多为 4 个小时。 对于更短的 Sprint,Sprint Review 通常所需的时间更短。
事件五:Sprint Retrospective
Sprint Retrospective(Sprint回顾会)的目的是规划提高质量和效能的方法。
Scrum 团队检视最近 Sprint 中有关个体、交互、过程、工具和他们的 Definition of Done 的情况如何。被检查的元素通常随工作领域而变化。识别使他们误入歧途的假设,并探究其起源。Scrum 团队讨论在 Sprint 期间哪些进展顺利,遭遇到哪些问题以及这些问题是如何解决(或未解决)的。
Scrum 团队识别出最有用的改变以提高其效能。最有影响力的改进将尽快得到执行。甚至可以将它们添加到下一个 Sprint 的 Sprint Backlog 中。
Sprint Retrospective 结束 Sprint。它是有时间盒限定的,以一个月的 Sprint 来说,最多为 3 个小时。对于更短的 Sprint,Sprint Retrospective 通常所需的时间更短。