无论团队是在开发产品还是项目,我们都需要回答:“我们何时能完成?”或“在某个时间点前我们能交付到什么程度?”就像在传统开发模式中一样,我们在启动项目之前需要估算工作量。
敏捷估算具有以下三个特点:
团队协作估算
在Scrum开发中,团队共同承担责任,并共同努力实现每个Sprint。因此,敏捷团队使用协作估算技术来估算工作量。协作估算通常使用计划扑克作为工具,团队集体参与估算游戏。计划扑克被认为是敏捷开发中估算工作量最有效且最具参与性的技术之一。敏捷开发。它包含一组类似斐波那契的数字:0、0.5、1、2、3、5、8、20、40、?、∞。每副牌包含四组这些斐波那契数列,可供最多四名团队成员使用。
群体估算与个体估算的准确性
一项关于软件项目实验中个体与群体在工作量估算准确性方面的研究显示,来自同一家公司的20名软件专业人员分别估算实现同一软件项目所需的工作量。参与者背景和角色各不相同,且该软件项目此前已实现过。之后,他们被分成五个小组。每个小组讨论并整合各自的知识,达成一个统一的估算。
结果:基于小组讨论的估算比个体估算更准确。
玩计划扑克的步骤
- 每位团队成员会收到一组卡片,上面写着:0、0.5、1、2、3、5、8、13、20、40、?、∞——共12张卡片。
- 由产品负责人向团队朗读用户故事或功能的描述。
- 团队成员讨论该功能,并在需要时向产品负责人提问。
- 讨论后,每位成员选择一张代表自己估算的卡片,并同时展示。
- 如果估算结果差异显著,团队将进行讨论:我们是否达成一致?遗漏了哪些因素?最高或最低估算者应在下一轮投票前说明其理由。
- 讨论后,团队可进行下一轮,直到达成一致。
- 返回第2步,开始估算下一个待办事项。
估算规模,而非时间——使用相对估算代替绝对估算
估算本质上只是一种有根据的猜测。我们利用所有可用的知识和经验来估算所需时间。与其孤立地评估每个新工作项,不如将其与之前完成的项目进行比较?人类在对比相似大小的物体时表现更好,而不是凭空猜测绝对大小。
例如:它是否接近这个非常小的项目?还是更像这个中等规模的项目?或者真的像我们上个月完成的那个大项目?相对估算不仅减少了估算所花费的时间,还显著提高了准确性。
我们的大脑不擅长绝对估算——我们总是将需要估算的新事物与已知的事物进行关联。

故事点估算
估算速度——记录并计算每个冲刺的团队速度平均值
团队的速度是指在一次冲刺中实际完成的故事点数量。团队速度反映了团队的工作效率。对于没有先前速度记录的新项目或新团队,我们可以进行1到2个冲刺来测量并确定初始速度。在冲刺执行过程中,我们会记录每次冲刺的团队速度,以便未来规划。Scrum团队实际完成的故事点数量。团队速度告诉你团队的工作速度。对于没有先前速度记录的新项目或新团队,我们可以进行1到2个冲刺来测量并确定初始速度。在冲刺执行过程中,我们会记录每次冲刺的团队速度,以便未来规划。

估算用户故事速度
我们估算产品待办列表中的故事点总数。产品待办列表了解每次冲刺的平均速度后,我们可以计算完成项目所需的冲刺次数——从而估算项目的持续时间。如下面的图所示。

Scrum项目持续时间估算