1.敏捷扑克是什么?
其实应该叫“估算扑克”更准确一些,本质上是扑克牌,基于Delphi估算原理,可以快速估算出需要的数字。 策划扑克是估算软件规模的一种敏捷方法。该方法的规模计量单位是故事点(story points),故事点只是一个计量单位的名称而已,你也可以给他命名为其他名字。故事点其实不仅仅是对规模的度量,也包括了对需求复杂度等其他因素的度量。故事点并非业界统一的一个度量单位,不象度量长度的单位:米,大家都知道1米有多长,你说的1米和他说的1米是等长的。故事点仅对本项目具有近似相等的规模,不同的项目所定义的故事点很可能是不等的。
2.敏捷扑克参与人员
策划扑克法参与的人员包括了所有开发人员:程序员、测试人员、数据库工程师、分析师、用户交互设计人员等等,在敏捷项目中一般不超过10人。 产品负责人参与策划扑克法但是并不作为估算专家。
3.关于扑克牌上的数字
那么采用斐波纳契数比较好。一般而言,估算软件开发工时的话,自然数可能更好一些,毕竟数值都不大,跨度也不会很夸张。估算扑克牌上的数字,有的牌是自然数排列,有些是斐波纳契数,有些则是不连续自然数。具体选用哪种扑克,要根据被估算的内容的跨度大小而定,如果估算值跨度在10倍以内,那么采用顺序自然数比较好,如果数值跨度较大,达到10倍以上,
4.为什么不用“人天”?
传统的IT项目,尤其是软件开发项目,往往使用“人天”来作为工作量评估的量词、甚至是代表一种评估方式。在软件项目开发经典著作《人月神话》中,明确的指出了按“人月”或“人天”来评估需求工作量的巨大弊端,主因之一就是在于这个词让人产生了“可以使用更多的开发人员就可以更快速的完成软件开发”这一错觉。在Agile敏捷项目当中,大都避免在快速需求评估阶段使用“人天”。具体请参看《人月神话》。
5.故事点(Story Point)
智能边缘计算作为一种新模式,使得物联网的每个边缘设备都具备数据采集、分析计算,通信,以及最重要的本地或就近的“智能”。新的智能边缘计算同时利用了云计算的能力,利用云来大规模的进行安全配置、部署和管理边缘设备,并能够根据设备类型和场景分配智能的能力,从而让智能在云和边缘之间流动,获得两全其美的结果。计划扑克基于Story Point故事点,扑克牌牌面上印刷的巨大数字就是故事点。
什么是故事点呢?
“故事点”是敏捷开发过程中所使用的概念,它代表某开发团队内部所推选的一个抽象的标准工作量。一个故事点,可以是大家熟悉的一件较独立、较简单工作的全部内容,比如,一个常见功能页面所涉及的所有的开发工作,包括该页面UI的设计、代码的编写、数据库表的设计等等。
这样一来,在快速评估的过程中,一个新需求大概的工作量是上述这个“标准工作量”的2倍的话,那这个新需求的粗略工作量就是2个故事点。一副计划扑克提供了一组不连续的故事点数字,以便于代表不同大小需求的工作量。
6.分牌说明
(1) 每位参与估算的开发人员发放一副估算扑克,扑克上边的数字标为斐波那契序列:1,2,3,5,8,13,20,40。
(2) 选择一个比较小的用户故事,确定其故事点(3-4人天的工作量),将该故事作为基准故事。
(3) 选择一个用户故事。
(4) 主持人朗读描述,主持人通常是产品负责人或分析师,当然也可以是其他任何人,产品负责人回答估算者提出的任何问题,大家讨论用户故事。
(5) 每个估算者对该用户故事与基准故事进行比较,选择一个代表其估算故事点的牌,在主持人号令出牌前每个人的牌面不能被其他人看到,然后大家同时出牌,每个人都可以看到其他人打出的牌。
(6) 主持人判断估算结果是否比较接近,如果接近则接受估算结果,转向(3)选择下一个故事,直至所有的用户故事都估算完毕,否则转向(7)。
(7) 如果结果差异比较大,请估算值最高及最小的估算者进行解释,大家讨论,时间限定为不超过2分钟。如果大家同意,也可以对该用户故事进行更细的拆分。
(8) 转向(5),一般很少有超过3轮才收敛的现象。
7.估算
当团队成员确认已经对该条目完全了解、无任何重大问题后,大家开始对该条目进行估算,同时选出代表自己估算值的纸牌,但不可立即亮牌。在估算过程中,为避免干扰估算结果,团队成员之间不可以互相商讨;
估算时,我们经常会估算相对值,而不是绝对值,如一个功能的开发难度或者代码规模,估算单位经常使用点,而不是绝对的时间或者数量,这时我们需要选择一个估算的标准。最简单的方法就是我们选择一个规模中等,大家都比较容易理解的条目,将其设定为一个标准值,比如5,然后再将其他条目和他进行比较,得出其他条目的相对点数。每次估算时,最好使用相同的标准条目,这样对于整个项目的统计有很大帮助。使用相对值进行估算,可以有效的监控团队的生产能力。
选择牌时,牌中央的数字和符号代表了你的估算值,受到纸牌数量的限制,牌面数字不可能包含了全部的可能性,遇到特殊的数字时,我们可以采取组合牌的形式,比如您的估算值为3.5,那么我们可以使用一张3,再加上一张1/2来表示3.5。
8.相对准确
和其他估算方法比,使用扑克牌的方法,能够带来一个额外的好处:促进团队成员间的交流,让大家共享、了解更多的信息。扑克牌估算中,规则是当估算值差距大于可接受范围内的时候,估算数值大的人和估算数值小的人,要各自陈述自己的意见,陈明是什么原因/根据促使自己做了相应的估算。通过这种方法,可以让所有人都有机会发言,分享自己所了解到的知识,而其他人则在这个过程中了解到了很多其他人的知识,这些知识在接下来的开发工作中,都是很有用的。
9.总结
在需求的快速评估阶段,可以让每个团队都全情参与进来、并且“无废话”的独立表达自己的观点,若运用得当,则可能大幅提高早期工作量评估及需求排期的效率。每个团队还可以进行微调、探索最适合自身及项目特点的玩法。在这一阶段评估成功完成之后,需求仍然较粗,还需要进行进一步的需求细化和具体开发工作的拆分与认领。