一个敏捷项目有它的仪式(sprint计划,发布计划,sprint回顾等)和度量(sprint &发布燃尽图),旨在确保该项目处在一个健康的状态。不幸的是,在严格地按照所有的仪式操作之后,很多敏捷项目仍然失败了。为什么?主要原因之一是,他们没有能够在每个sprint结束时提供给客户价值。他们在每个sprint结束时提供了产品,但不是潜在可交付的软件成品。这里有失败的根本原因。在每个sprint结束时,这些项目提供的软件只是半测试、半证明、半重构以及半预备好发布的。
一个对于“完成”的明确而具体的定义,看起来很微小,但它可能是敏捷项目最具决定性的关卡。没有一个关于“完成”的一致定义,速度也将无法估计。相反,一个共同的“完成”定义,可以确保在sprint结束时产生的增量是高质量和缺陷最小的。关于“完成”的定义是整个Scrum过程的灵魂。
在探讨完成的定义之前,很重要的是定义另一个Scrum术语:潜在可交付产品。
什么是潜在的可交付产品?
一个潜在的可交付产品是一个已经被设计、开发和测试,因此准备分配给在该公司的任何人审查,甚至是给任何外部利益相关者。坚持遵照“完成”标准的清单,可以确保该sprint的产品是真正可交付的。
敏捷团体在什么是可交付和什么是潜在可交付上意见有所不同。很多敏捷的从业人员认为,潜在的可交付就是离发布只差一个sprint。另一些人则认为潜在可交付意味着那个sprint一结束就准备交给客户。那我们对它的定义是什么呢?
为了建立一个参考,在本文中“完成”是指在每个sprint开发的特性应当百分之百地完成,无论这个要求对于你特殊的情况意味着什么。
阅读全文 |