1.6. 规划发布和迭代

一个发布由一个或多轮迭代组成。

发布规划指的是确定项目实际表和预期功能集合之间达到平衡。

迭代规划涉及选择迭代包含的故事。

客户团队和开发人员在发布和迭代规划中都要参与。

在进行发布规划时,客户团队首先从排列目标优先级开始。在排列优先级是,需要考虑下面几点。

  • 大部分用户和客户对特定特性的渴望程度
  • 小部分重要客户和用户对特定特性的渴望程度
  • 故事之间的关系。例如,“缩小(zoom out)”这个故事的优先级可能不高,但是它可能被看做高优先级的,因为它和高优先级的另一个故事“放大(zoom in)”互补。

在许多故事的优先级上,开发人员可能与客户团队意见相左。他们可能基于技术风险方面的考虑,或者由某个故事是其他故事的互补故事,而建议更改故事的优先级。客户团队应该倾听他们的观点,但是随后排列故事优先级时,应该坚持客户组织利益最大化的原则。

排列故事优先级时不能不考虑它们的成本。故事的成本由开发人员给出的,每个故事用故事点来估计,故事点表明了一个故事相对于其他故事的大小和复杂度。

一个4个点的故事成本是一个估计2个点的故事成本的2倍。

为发布中的所有迭代分配故事后,发布计划便浮出水面了。当开发人员陈述他们所预计的速率,在每一轮迭代中他们认为可以完成多少故事点。然后客户团队把故事分配到迭代中,他们要确保每轮迭代中分配的故事点数不超过开发团队预期的速率。

比如开发团队的预期速率是13,没有迭代可以完成多于13个故事点的故事。这意味着第二轮、第三轮迭代只能计划12个故事点。(很少有非常精确,这点差异不会造成什么影响)

除了在迭代中临时跳过一个大的故事而放入一个较小的故事以外,可以把大故事分成两个小故事。

假设5个故事点的故事I可以作为故事Y(3个点)和故事Z(2个点)。现在故事Y包含故事I的最重要部分,就可以在当前迭代中引入故事Y。