• Agility66
  • 2026-01-28
  • 来源:

第二册【Scrum 模式语言10】免费变更( Change for Free)

译者导读:

“拥抱变化”不仅仅是敏捷开发的口号,而是一种可以落地的机制设定。这种机制在保持固定价格(总开发投资)的前提下,坚持高价值优先的原则,通过开发(Scrum)团队对最终交付价值的相对准确估算,再与客户的密切合作下,在Sprint中合理替换或移动代办事项。这样,既未因变更(替换/移动待办事项)额外增加开发成本,又因为持续的迭代开发增加了对开发的洞察并以此增加了定期产品增量的价值,真正实现“免费变更”。


购买免费的定制 

你手上正持有一份坚持¶51高价值优先原则¶54产品待办列表,而列表是基于供应商和客户之间签订的固定项目成本和固定范围的合约。你想支持客户在开发项目正式启动后的免费更改。你支持的或许是一个单一客户也或许是一个有统一意见的客户群。¶14项目团队的开发速率(详见第320页关于速率的注释)波动较小(约占待办事项的10%-15%),开发团队可能在该领域有类似经验,也可能有一些可证实的期望说明他们有能力为产品创建一套“¶63促成性规范”。可预见的临时变更或者需求变更可能性很小但也不可忽略不计。

有些¶55产品待办事项在某种程度上可以说是与项目开发场景无关且可独立交付的,你想支持的客户变更是被客户盈利性增长期望所驱动的变更。你不允许会导致大量返工的变更,因为这会降低自己作为供应商的投资回报率(ROI)或者其它价值衡量指标(请参阅价值和ROI)。换个角度说,将一个待办事项放到列表里只需少量的投资,删除或者移动待办事项也只需少量的工作。

每个待办事项都有一个相关的成本估算,该估算已由开发团队提供(或可以提供)。11产品负责人(PO)了解每个待办事项的ROI,客户也必须清楚完成这些待办事项后会给带来多大价值。

尽管项目的成本和范围是固定的,新需求还是会随着项目进程不断涌现。如果通过重新协商可以做到百利而无一害,那么一味坚持原先固定的交付物待办列表对客户和供应商而言都是毫无意义的。

预见到任何针对复杂产品的前置合作协议均无法涵盖客户真正需要的内容,一些公司创建了一种商业模式,其主要内容就是迫使客户在最初交付后为他们要求的变更付费(参见《Scrum:事半功倍的艺术[SS14]中的“免费变更与无事也付费”章节,第193页起)。这些做法实际上会侵蚀客户与供应商之间的相互信任,从长远来看,这可能会制造一种对抗性的相互查验和相互制衡氛围——随之而来的便是低效甚至无效。

在需求列表底部的内容对客户来说很少是关键性任务。但如果能够在最初商定的项目预算内完成这些任务,客户就会获得锦上添花的利益。

因此:同样固定成本与范围,但在签订合作协议时承诺完成客户定义的价值排序前80%的待办事项。若供应商在合同预算内已完成这80%的目标工作,他则继续承担适当的超额任务。同时,供应商还向客户提供灵活变更服务:只要新的待办事项成本不超过原任务成本,用新增需求(待办事项)替换现有同等或更低价值的待办事项即可。

团队通过对产品待办列表的价值排序来创建¶85定期产品增量,这既能灵活应对客户需求变更,又能提升整体(交付)价值(至少对客户而言,但最好能同时惠及供应商与客户),且无需增加成本。在控制成本的前提下,供应商可设定合理定价以获得公平利润。其核心就是¶93最大化价值,即在双方共同预期的时间范围内,实现对供应商和客户的最大价值。

这种模式最适合经验丰富的Scrum团队(¶7Scrum团队),这类团队通常稳定可靠并在客户指定的产品领域具有丰富的开发经验。在产品负责人(PO)将待办事项放入产品待办列表前,开发团队应对每个待办事项的成本进行估算。该模式的成功就取决于团队能否在前期准确估算所有产品待办事项(PBI)。这反过来意味着大多数待办事项(PBI)应处在早期推动性规范的状态,因此该模式最适合低风险领域或团队非常熟悉的领域。显然,该模式并不适用于开发团队当前¶46  Sprint中正在处理的任务,因为这类任务通常不在另行协商之列。

一般来说,供应商和客户可以作为一个团队来分享这些好处,而不是各自为政;这就是¶13开发伙伴关系”,Jeff Sutherland在《Scrum:事半功倍的艺术》[SS14]中描述了它是如何运作的:

“这就是我提出“免费变更”理念的初衷。在一份标准的固定价格/成本合同中,我们只需明确变更费用全免。客户列出所有预期的产品功能:比如造一辆坦克,其时速要达到75英里,弹速是10发/分钟、四人座舱、还要有空调等——所有你想要的功能都列出来。供应商看到需求描述后会说:“嗯,制造发动机算100分,装弹机构算50分,座椅算5分...”以此类推。我们就有了一整套关于每个产品功能的估算。随后在每个Sprint期,客户可根据合同与产品负责人紧密协作,调整全部的项目任务优先级。待办列表中的任何产品功能模块都可以自由移动。新增功能呢?没问题:只需从交付物(列表)中移除等量对应的功能即可。“现在您想加激光制导系统?那就要增加50分的工作量——作为补偿,我们只需从待办列表底部移除50分低优先级的功能即可。”

如果需要支持的是多个客户,这种方法可能会变得难以管理,因为一个客户变更请求将影响所有人的日程安排,而且这种利用产品待办列表进行管理的方法设定了一个期望,即连续交付是严格按照业务价值的顺序接连发生的。

请参阅¶53 无事也付费

无事也付费和免费变更的概念源于2006年Jeff Sutherland在荷兰的一次培训。

译者:汉斯

校对:周菲

 Scrum模式语言合集