【IT168 技术文章】
策划扑克是估算软件规模的一种敏捷方法。该方法的规模计量单位是故事点(story points)。故事点只是一个计量单位的名称而已,你也可以给它命名为其他名字。故事点其实不仅仅是对规模的度量,也包括了对需求复杂度等其他因素的度量。故事点并非业界统一的一个度量单位,不像度量长度的单位:米,大家都知道1米有多长,你说的1米和他说的1米是等长的。故事点仅对本项目具有近似相等的规模,不同的项目所定义的故事点很可能是不等的。
策划扑克法参与的人员包括了所有开发人员:程序员、测试人员、数据库工程师、分析师、用户交互设计人员等,在敏捷项目中一般不超过10人。 产品负责人参与策划扑克法,但是并不作为估算专家。
策划扑克法的步骤为:
(1) 每位参与估算的开发人员发放一副估算扑克,扑克上边的数字标为斐波那契序列:1,2,3,5,8,13,20,40。
(2) 选择一个比较小的用户故事,确定其故事点,将该故事作为基准故事。
(3) 选择一个用户故事。
(4) 主持人朗读描述,主持人通常是产品负责人或分析师,当然也可以是其他任何人,产品负责人回答估算者提出的任何问题,大家讨论用户故事。
(5) 每个估算者对该用户故事与基准故事进行比较,选择一个代表其估算故事点的牌,在主持人号令出牌前每个人的牌面不能被其他人看到,然后大家同时出牌,每个人都可以看到其他人打出的牌。
(6) 主持人判断估算结果是否比较接近,如果接近则接受估算结果,转向(3)选择下一个故事,直至所有的用户故事都估算完毕,否则转向(7)。
(7) 如果结果差异比较大,请估算值最高及最小的估算者进行解释,大家讨论,时间限定为不超过2分钟。如果大家同意,也可以对该用户故事进行更细的拆分。
(8) 转向(5),一般很少有超过3轮才收敛的现象。
在该方法中,参与的人员对于被估算的需求进行了充分的沟通,并综合了程序员、测试人员等各个角色的专家观点,融专家法、类比法、分解法为一体,可以快速、可信、有趣地进行估算。
在估算完故事点后,可以凭经验估算一个故事点的开发工作量,从而得到所有的用户故事的工作量。也可以进行试验,试着开发一个用户故事,度量花费的工作量,得到开发效率,即在本项目中一个故事点需要花费多少工时,再去估算所有故事的工作量。