为什么要估算
在规划和管理产品开发过程中,我们需要回答一些重要的问题,例如:“将要完成多少个特性?” “我们什么时候做完?” “这需要花多少钱?” 在使用Scrum时,为了能够回答这些问题,我们需要估算产品的工作量大小并测算工作速率.有了这些信息,用特性集的估值初一团队速率,我们就能推算出产品开发的持续期可能有多长。
估算的首要价值之一时在估算交流过程中获得的认识。要求大家进行估算,立刻就会有不一致的意见浮出水面,暴露假设,这样做最能激发有益的讨论。
估什么?
产品列表条目的估算
当PBI的优先级提升并在梳理之后包含更多的细节时,大多数团队倾向与估算大小,或使用故事点,或使用理想天数。
任务估算
冲刺列表中最详细的条目就是任务。大多数团队选择在冲刺计划过程中排列任务大小,好让自己有信心做出合理的承诺。
PBI估算的概念
在估算PBI的时候,Scrum团队要使用几个重要的概念
团队估算
在Scrum中,我们遵循一个简单的规则:大家一起估算。产品负责人和ScrumMaster是不做估算的,负责完成工作的人(指实际动手设计、构建并测试PBI的开发团队)集体决定每个PBI的大小。PO负责阐述PBI,并回答团队要求澄清的问题。SM帮助知道和引导估算活动。
估算不是承诺
估算不是承诺。估算应该靠谱。不能因为外因而人工放大。
准确与精确
估算应该准确,但不必过分精确。做这些错误的、过于精确的估算会浪费精力,其次,当我们骗自己任务已经理解一些东西进而做出重要的、错误的并且代价高昂的决策,这也是一种浪费。
在做估算时,我们应该投入刚好够用的工作量,得到一个刚好的、大致正确的估值。
估算相对大小
如果要求大家做估算,应该用大家都擅长的技术(相对估算),我们应该使用相对大小而不是绝对大小来估算PBI。比较所有条目,然后确定某个条目和其他条目的相对大小。
PBI估算的单位
PBI的大小估算没有标准单位,不过目前最常用的两个单位时故事点和理想天数。
故事点
故事点用于衡量PBI的大小和数量。故事点受很多因素的影响,如复杂度和实际大小。故事点结合复杂性和有形大小等因素,产生一个相对比较。
理想天
理想天数时很常见的单位,它代表完成一个故事需要多少个工作日或人天。理想时间和消逝时间不一样。
规划扑克
规划扑克是按大小排列PBI的一种技术。
估算
为了进行规划扑克活动,团队必须决定用什么数字范围或者序列来给估算结果赋值。因为目标是准确但不过分精准,所以我们更倾向于使用一组数值范围:范围内小的一段有更多数字,而大的一段内则有较少数字,它们之间的间隔更大。
活动规则
在进行规划扑克活动时,整个Scrum团队都得在场。在这个会议上,产品负责人介绍、描述和澄清各国PBI。SM引导团队巧用规划扑克。
好处
规划扑克可以使团队参与此项目工作的不同个体聚在一起,对准确的估算达成共识,这尝尝胜于任何个人做的估算。
在要求人们为PBI给出一个预估大小时,实际上时激发人们思考PBI的细节,让所有假设都显露出来。
速率
什么是速率
速率是每个冲刺完成的工作量。速率是在冲刺结束时由已完成的所有PBI的大小之和来衡量的。速率衡量的是产出(交付的大小),而不是成果(交付的价值)。
使用速率有两个重要的目的。首先,它是Scrum计划的基本概念。对于版本级别的计划,版本大小除以团队的平均速率,就可以算出多少个冲刺才能完成这个版本。而且,在做冲刺计划时,团队的速率可用来帮助确定团队下一个冲刺中能完成多少工作量。
计算速率范围
为便于做计划,速率用范围来表示往往最有用。使用范围值可以使我们准确但同时又不至于过分准确。
预测速率
如果团队时新组建的,成员以前没有一起工作过,因此也没有历史数字,如何处理?我们必须预测。
预测团队熟虑的一种常用方法时,让团队执行冲刺计划,确定团队能在一个单独的冲刺中完成承诺交付的PBI。如果承诺靠谱,我们就可以简单的把承诺完成各个PBI估算结果的大小累加一起,用它来作为团队的预测速率。
影响速率的因素
团队一致坚持检视和调整(持续改进),团队速率也会变得越来越快。
Scrum团队可以引入新的工具或者加强培训对速率提升有积极的意义。
连续的加班在一开始可能会提升速率。速率在经历这样的提高之后,几乎都会经历一次陡降,同时还伴有质量的下降。过多的加班虽然可以得到一些短期利益,但是和长期的后果相比,常常没有价值。
速率的误用
速率是一种计划工具,也可以作为团队诊断指标。它不应该作为一种绩效指标来判断团队的生产率。如果使用不当,速率反而会助长浪费和危险的行为。