1. 三角估算 Triangle Estimating
2. 亲和估算 Affinity Estimating
按故事按规模大小(相似性、亲和)分类,非常适合初期,短时间内快速估算非常多用户故事
“亲和”一词的意思是“相似”。在亲和估算,根据复杂性和规模的相似性对用户故事或产品待办事项列表条目进行分组。当需要快速估算40个或更多的用户故事,这种技术很有效。亲和估算最简单的形式如下所示:
- 该团队使用了巨大的白色墙壁,并将其划分为列。团队同意用一致的度量单位(比如:XXS、XS、S、M、L、XL)或斐波那契数列的故事点,每个列标题,这些值从左到右递增。
- PO从待办事项列表中带来了需要由团队评估的按优先级排序的故事。整个评估工作都是由Scrum Master建立和推动的。
- 每个故事都与团队共享,然后团队根据大小和复杂性将其插入相应的列中。这可以通过使用图钉或图钉或在墙上粘贴卡片(写着故事的卡片)来实现。这个过程,每个人安静地完成的。
- 在下一轮中,这些估算将与同栏中现有的汇总中进行核对,如果获得一致同意,则将它们从任意一个方向移到最合适的栏中。这种情况会一直持续下去,直到用户故事的待办事项完成,团队对这些故事在列中的位置都认为满意。
- PO参与实践是为了澄清需求,或者在故事的相对大小上有很大分歧的地方。团队还可以响应来自PO的挑战,如果需要的话,可以动态地更改评估。
- 工作结束后,必须将议定的概算保存在电子工具中,以便将来参考。Backlog中任何无法估算的故事都将被PO带走,以便进一步澄清。
3. 宽带德尔菲 Wideband Delphi
宽带德尔菲技术是Barry boehm在20世纪80年代普及的一种群体共识技术。在这种技术中,一群专家聚集在一起,匿名提供评估,这些评估的目的是达成共识。宽带德尔菲技术是由已经使用了几十年的预测工具德尔菲衍生而来的,它更加强调参与的专家之间的互动和交流,因此专家之间是互相知道对方的存在、以及是谁。
步骤:
- 主持人精心挑选了一组相关领域的主题专家(4-6人)进行评估。这是一种利用“群体智慧”的方式,每个专家都带来了他们的个性、经验和观点的多样性。
- 主持人然后向专家组展示用户故事,并要求他们匿名投票/提交评估。由于估算(通常以故事点的单位表示)是独立完成的,因此出现“光环效应”、同伴压力、偏见或“从众心理”的可能性更小。
- 主持人整理提交的估算数据,并寻找数据的收敛点。如果有异常值(即变化很大的数字),主持人将提供一份估算值和所作假设的摘要。这样做是为了让参与者进入同一个层面上,并可以查看他们之前提交的内容。
- 在下一轮中,这一过程将被重复,每个专家将根据上一轮中收集的修订理解重新提交他们的估计和假设。
- 随着该委员会在整理修订后的预测,估算的范围将变得更窄,收敛,并将形成共识。这个游戏可以再重复几次,最终的目标是,估计值收敛到一个大多数人都同意的数字。
4. 估算扑克 Planning Poke
- 估算扑克,这种估算技术在XP和Sprint计划会议中被用于确定用户故事的估计,因此也被称为Scrum Poker。这种方法最初是由James Greening在2002年定义,但后来由Mike Cohn在他的《敏捷评估与规划》一书中推广开来。
- 又称:敏捷估算,本质上是扑克牌,基于德尔菲法(Delphi)估算原理,可以快速估算出需要的数字。敏捷扑克和普通游戏扑克一样,有54张牌,4种花色(每种各13张)和两张Joker。敏捷扑克的每种花色均是一组13张牌组成的估算扑克牌,可供给4人评估。
原理上是基于斐波那契数列:Fibonacci sequence。但不完全相等,例如,会有0.5,;不是21而是20。
敏捷扑克估算步骤:
- 发牌:每个团队成员拿到一组卡片,包括0,½ ,1,2,3,5,8,13,20,40,100,?,∞,π
- 讲解:PO或者团队成员扮演主持人(阅读者)的角色,他负责阅读需要估算产品Backlog的条目,并且询问大家是否有疑问。
- 出牌:
- 团队讨论这个条目。当团队理解了这个条目之后,每个团队成员按照自己的想法给出估算结果,并且选择对应的扑克出牌,估算过程不能交头接耳告诉其他人,出牌时数字朝下以盖牌形式出示。尽量确保故事之间的相对估计是准确的。由于估计是相对的,所以需要首先找一个基准,先找一个中等的作为基准(不是最小的,也不是最大),估算人,所选择的卡牌数字,正是这个基准的倍数,例如:卡牌数字2是基准的2倍工作量,数字5是基准的5倍工作量,数字20是基准的20倍工作量。通常,基准设置为1sp,因此卡牌数字也就直接等于该估算的故事点。
- 所有人都出牌之后,阅读者向大家确认是否都已经确定估算结果,确认后,数“1,2,3”,大家同时翻转卡牌出示估算结果。
- 团队评估不同的估算结果,我们是否想法一致?要询问出牌最大值和最小值的成员的理由。是否存在分歧?有没有什么是我没有考虑到?讨论之后可以再估算一轮,或者最多三轮,估算值收敛或在可接受的范围内。如果依然无法收敛,那么主持人可以采用多数、平均值或估计的加权平均值。最终团队需要达成一致。
- 回到第二步,开始估算下一个条目。
估算过程存在争议的部分:
- 如果大家的估算结果相差很大,估值最大和最小的成员分别阐述自己的观点。沟通后重新进行估算,最多可进行3轮估算。
- 促进团队成员间的交流,可共享和了解更多的信息
- 避免团队成员不发言的现象,可了解到每个成员的想法
- 团队来估算,会从不同岗位的视角来思考和分析问题,估算结果更全面
- 团队对估算结果进行讨论和评判,避免很多过于武断的决定
- 估算实际上也是团队成员对工作的沟通过程,可加深团队成员对任务的理解。
实例
User story | Round # | Jack | Mary | Joe | Henry | Bill | Emily | 决策 |
---|---|---|---|---|---|---|---|---|
作为用户我可以重设我的登陆密码 |
1 | 8 | 5 | 21 | 8 | 3 | 5 | 估算有多个数值, 让Joe和Bill解释,再玩第二轮 |
2 | 13 | 8 | 13 | 8 | 3 | 5 | 估算有多个值,讨论,再玩第三轮 | |
3 | 8 | 8 | 13 | 8 | 5 | 8 | 服从多数,将8作为估算值 | |
作为用户我希望可以修改合同信息 | 1 | 5 | 8 | 5 | 3 | 3 | 3 | 估算有多个值,讨论,再玩第二轮 |
2 | 5 | 5 | 5 | 3 | 5 | 5 | 服从多数,将5作为估算值 |