SAFe的Scrum与Scrum指南中的Scrum是不一样的丨IDCF
来源:小船哥说敏捷 作者:Willem-Jan Ageling
规模化敏捷框架(SAFe)的存在“旨在实现企业在数字时代竞争和发展所需的业务敏捷性”——scaledagileframework.com/about。组织采用SAFe来协调在同一解决方案(solution)或项目群(program)上工作的多个团队。SAFe是众多规模化敏捷框架中的一种。
在SAFe环境中的敏捷团队可以从众多敏捷实践中做出自己的选择,以交付有价值的软件:
“SAFe团队主要使用基于Scrum、看板和极限编程(XP)的敏捷实践来提高他们的绩效"。
——SAFe 5.0/Agile Teams
许多敏捷团队选择采用Scrum。然而,上面的链接并没有指向《Scrum指南》中的Scrum。它指向了一个讨论“ScrumXP”的SAFe网站页面。这暗示着ScrumXP是SAFe内部的首选工作方式。
ScrumXP是SAFe环境下
标准Scrum的改版
根据《Scrum指南》,ScrumXP与Scrum是不同的。不同的主要原因是由于XP元素的加入,但还有一些其他因素。诚然,Scrum确实是一个可扩展的框架。在Scrum中引入XP实践是完全符合Scrum的定义的,而且这也经常发生。然而,SAFe比在Scrum中引入XP更进了一步。
SAFe结合了Scrum和XP框架的特点,创建了自己的ScrumXP流程,并作为其规模化框架的一部分。SAFe赋予了Scrum和XP术语新的含义和结构。这降低了Scrum(和 XP)定义的透明度。本文旨在向从业者澄清官方《Scrum指南》中定义的Scrum和SAFe中定义的ScrumXP之间的区别。
定义和用途
“ScrumXP是一种轻量级的流程,可为SAFe内的跨职能、自组织团队提供价值。”
——SAFe/ScrumXP
SAFe使用Scrum来指导团队的敏捷性,而XP则用于指导技术。
Scrum与ScrumXP的目的是不同的:
“在这个框架内,人们可以解决复杂的适应性问题,同时富有成效和创造性地交付尽可能高价值的产品。”
——2017年Scrum指南
我发现有趣的是,《Scrum指南》是这样说的:
“Scrum不是一个流程、技术或明确的方法。相反,它是一个框架,你可以在其中采用各种流程和技术。”
——2017年Scrum指南
流程和框架之间有一个重要的区别:流程比框架更具有指导性。因此,ScrumXP和Scrum的不同定义说明了对这两种方法的使用也是不一样的。
Scrum是一个解决复杂性和交付价值的框架,而ScrumXP是一个通过SAFe交付价值的流程。这是不一样的。
ScrumXP是你在SAFe容器中运行的一个流程,它不应该改变你的工作方式。
团队的组成和特点
Scrum有Scrum团队(Scrum Team),而ScrumXP有敏捷团队(Agile team)。使用ScrumXP的敏捷团队是自组织、自管理和跨职能的。Scrum并没有提到自管理(译者注:本文发表于2020年,最新版的Scrum指南,已经将“自组织”的描述改为了“自管理”)。两种方法都强调了团队根据意图或目标,从而找到自己交付价值的最佳方式的重要性。两者都承认,拥有这样的团队可以帮助提高生产力和满意度。
产品负责人和Scrum Master
ScrumXP有两个特殊的角色:Scrum Master和产品负责人。Scrum Master专注于ScrumXP的有效使用和消除障碍。产品负责人关注的是敏捷团队将要构建的内容。
ScrumXP中的两个角色与Scrum角色都有很大的不同。你可以在讨论Scrum Master和产品负责人的文章中阅读关于这方面的更多内容。
冲刺(Sprint)/迭代(Iteration)
SAFe对团队构建增量的时间盒使用了一个不同的词汇:迭代(Iteration),这跟XP一样。除此之外,ScrumXP中的迭代目标和Scrum中的冲刺目标是一样的:产生可交付价值的增量。
冲刺计划/迭代计划
ScrumXP迭代计划时长是4小时或更短。Scrum对于一个月冲刺的冲刺计划来说是8个小时,对于较短的冲刺来说则更短。无论是ScrumXP还是Scrum,产品负责人都会提出应该实现的目标,而团队则决定他们能做多少,以及他们将如何构建。
两种计划活动都围绕着定义迭代目标/冲刺目标和选择故事/产品待办事项。ScrumXP从创建迭代待办事项列表开始,然后定义迭代目标。团队承诺实现目标并完成迭代待办事项列表中的故事。
然而,在Scrum中,团队首先讨论冲刺目标,然后创建冲刺待办事项列表(Sprint Backlog),其中包括为实现冲刺目标而选择的产品待办事项(Product Backlog Item)以及交付增量和实现冲刺目标的计划。团队承诺完成冲刺目标,冲刺待办事项列表只是一个预测,因为它可以更改以允许检视和调整,从而优化实现冲刺目标的机会。
正如你所看到的,ScrumXP的迭代待办事项列表和Scrum的冲刺待办事项列表之间存在着关键的差异。
但ScrumXP团队承诺了更多:
“有些团队把每个故事拆分成任务。[......]随着团队成员对任务的承诺,他们的个人迭代容量会逐渐减少,直到为零。”
——SAFE5.0/迭代计划
这里ScrumXP甚至讨论了对单个任务的承诺。Scrum还提到了将工作拆分为一天或更少的单位。然而,团队或个人并不对其做出承诺。ScrumXP的这种做法违反了Scrum的规则,即冲刺目标才是冲刺的北极星指标,而不是待办事项列表。
ScrumXP有关于如何引导迭代计划会的详细指南,比如:
迭代计划议程。
如何估算(使用故事点)。
如何构建能力。
Scrum是没有这些细节的。它只是讨论了冲刺计划有两个部分:
可以完成什么?
如何完成?
如何完成由Scrum团队来决定。
每日站会(Daily Stand-Up)/每日Scrum(Daily Scrum)
SAFe再次使用了XP的术语来描述每天的对齐事件。然而,这并没有改变活动的目的,即了解团队在实现迭代/冲刺目标方面的进展情况,并根据实际进展做适当调整以增加实现目标的机会。SAFe还在事件中加入了一些XP实践。因此,该事件比Scrum指南中的规定性更强。
在SAFe中,Scrum Master确保事件不超过15分钟。Scrum指南只提出了Scrum Master指导(teach)团队这样做。
迭代评审/冲刺评审
在SAFe中,迭代评审是向干系人展示他们所完成的事情。它是一个用来检查增量是否按照干系人的期望在工作,并在需要时进行调整的机会。团队还讨论了实现计划项目群增量(Program Increment)目标的进展。时间盒是1-2小时。
然而,Scrum的冲刺评审包含了更多的内容。这个最长时间为4小时的Scrum事件是一个检查产品是否朝着正确方向发展的机会,并讨论下一步该如何做,如果需要的话,可以调整产品待办事项列表。
“参会的所有人就下一步的工作进行探讨,这样,Sprint评审会议就能够为接下了的Sprint计划会议提供有价值的输入信息。
评审市场或潜在的产品使用方式所带来的接下来要做的最有价值的东西的改变;同时,
为下个预期产品功能或产品能力版本的发布评审时间表、预算、潜力和市场。”
——2017年Scrum指南
SAFe将这个事件推迟到了项目群增量(Program Increment)结束时的“检视与调整(I&A)”活动。这样一来,Scrum经验主义的一个重要方面就在冲刺/迭代和Scrum之外了。它会推迟反馈,影响业务敏捷性。
迭代回顾/冲刺回顾
这个活动基本上对ScrumXP和Scrum都有相同的目标。ScrumXP提出,时间盒应该是一小时或更少。Scrum指南中提到的是应该是3小时或更少。
ScrumXP比Scrum更具规范性,但这应该已经不足为奇了。除此以外,没有太大区别。
不在ScrumXP
Scrum指南中有一些条目是ScrumXP中没有的。下面是一个列表:
Scrum价值观
Scrum把焦点放在承诺、勇气、专注、开放和尊重等价值观上。ScrumXP并没有这些价值观。SAFe有四个价值观:对齐(alignment)、内在质量(built-in quality)、透明(transparency)和项目群执行(program execution)。这些与Scrum价值观有很大不同。
经验主义
ScrumXP没有提到经验主义。Scrum指南认为经验主义是Scrum的基础。它是理解Scrum的一个重要部分。
ScrumXP的主要文章也没有提到透明、检视和调整,这是经验主义的三个支柱。检视和调整这些术语,你会在SAFe的其他拼图中发现,但你很难在ScrumXP的上下文中找到它。
通过移除对经验主义的强调,ScrumXP确实成为了交付产品增量的流程。它们是否有价值,将在项目群增量结束时解决。ScrumXP并不像Scrum那样是一个解决复杂产品的框架。
敏捷发布列车
ScrumXP也有涉及敏捷发布火车和团队间协调的话题。我认为Scrum显然没有讨论这个问题。
结束语
ScrumXP是一个受Scrum和极限编程启发的SAFe交付流程,它与《Scrum指南》中定义的Scrum是不一样的。ScrumXP并不是典型的Scrum和XP的混合体。
最值得注意的是,ScrumXP没有提到Scrum的价值观和经验主义,而这两者对Scrum来说都是至关重要的。
敏捷团队,相当于ScrumXP的Scrum团队,是一个更大图景中的一部分。他们的首要目标是按照项目群增量(Program Increment)的目标提供有价值的产品增量。而Scrum团队有不同的目标,在交付价值的同时解决复杂的产品问题。
SAFe是一个框架,而ScrumXP是一个流程,是这个框架的一部分。
因此,ScrumXP对敏捷团队、产品负责人和Scrum Master都有着不同的期望。
总而言之,ScrumXP和Scrum是完全不同的。这应该不足为奇,因为它们有不同的用途。
#WAVE SUMMIT+2022深度学习开发者峰会来啦!
IDCF专区线上还有席位,现在报名,还能领取专属礼品,赶紧扫码上车~👇