论上,在每个Sprint只完成一小部分PBI的情况下,一次又一次地实现Sprint目标也是可能的。不过,这应该是不常见的,因为Sprint Backlog应该与Sprint目标一致;如果不是,就说明价值流存在严重问题。
速率(Velocity)能够帮助团队了解他们是否在正确地做事(我们假设正确地做事速率就会提升)。Sprint目标帮助团队确保他们在做正确的事情。它是关于理解团队正在做的事情的 "Why",以便在事情发生变化时能够保持专注。
Sprint目标还有其他功效?
杰夫.萨瑟兰(Jeff Sutherland)补充说,除了让团队保持专注外,Sprint目标还会促进蜂拥模式(Swarming,Scrum Pattern之一,将在单独的文章中介绍)的使用。我们能不能让大家一起做一件事?他说道:
2007年在硅谷,Palm正在开发一个网络操作系统,后来被惠普公司收购。前几个Sprint,团队做得很好,但在几个Sprint之后,他们似乎遇到了困难。PBIs没有完成。开发人员的积极性很低,而且很早就回家了。他们请我来,我请产品负责人和Scrum Master花了一个小时来采访团队成员,了解他们为什么没有积极性。我们发现,原因是他们不理解做的这些低层级的PBI要解决什么问题。
我们花了一个下午的时间来清理Product Backlog,清晰地展示出了高层级故事和分解出来的较低层级故事之间的联系。当开发人员了解到Sprint的目标是将网络操作系统的性能提高10%时,他们就有动力去完成低层级的故事,速度也恢复了正常。
理解为什么要实现PBI,对开发人员来说至关重要,特别是对专家级的开发人员来说,如果他们找不到自己工作的理由,就会宁愿去冲浪。
Sprint目标通常与产品价值有关。团队也可以用过程目标来定义Sprint目标 -- 例如,通过结对编程来完成所有的编程,或者准时参加每日Scrum会。反复推动Sprint目标的实现,可以激励团队达到更高的参与度;反过来,幸福指数可以成为定义或建议Sprint目标的一个有效工具。
Sprint目标的作者是谁?
2001年,Ken Schwaber和Mike Beedle第一次提出了Sprint目标的概念([2],第48页)。
[1] Bob Sullivan and Hugh Thompson. Gray Matter. “Brain, Interrupted.” In New York Times, 5 May 2013, page SR12, http://www.nytimes.com/2013/05/05/opinion/sunday/a-focus-on-distraction.html (accessed 2 November 2017).[2] Ken Schwaber and Mike Beedle. Agile Software Development with Scrum (Series in Agile Software Development). London: Pearson, Oct. 2001, p. 48.
我们假定Scrum团队已经相聚在一起,准备开始或已经开始了Sprint。这时,开发人员已经创建了一个Sprint Backlog,并正在努力实现Sprint目标。然而,用德国陆军元帅赫尔穆特.冯.毛奇的话说,“除了与主要敌对势力的第一次接触之外,没有任何行动计划是确定无疑的。”简而言之就是,在Sprint计划会中制定的计划几乎立刻就过时了。
问题
团队在Sprint中取得进展,是通过完成Sprint Backlog中的条目达成的,但是因为工作很复杂,所以任务的特征、大小和数量经常会发生变化——甚至有时每分钟都在变化。
例如,替代解决方案、需要但未知的知识、隐藏的任务、误解的需求、需要进一步细化的需求、开发人员之间的依赖关系,或者以阻塞形式出现的问题可能会在团队的日常工作中不断浮现出来。问题是如何有效地处理这些问题。
有9乘以10的157次方种方法可以给100项任务排序,但其中只有少数几种方法可以使团队“处于工作轻松、速率显著提高的区域”。由于工作