什么是敏捷估计?

什么是敏捷估计?

(英文原版)

无论团队是开发产品还是开发项目,我们都需要回答“我们什么时候能够完成它?”,或者我们能够在某个时间点完成它的程度,就像传统的开发模型一样,我们需要在开始项目之前估算工作量。

敏捷估计具有以下三个特征:

团队集体估算

Scrum的开发过程中,团队分担责任并共同致力于每个Sprint的工作,因此敏捷团队的估计工作量使用了集体估算方法。集体估算通常使用规划扑克作为工具,团队通过玩估计游戏进行集体估算。规划扑克被认为是在敏捷中进行工作负荷估算的最有效和最有趣的技术。它由一组类似于斐波纳契数的数字组成,包括:0,0.5,1,2,3,5,8,20,40,?,∞,扑克牌的每一组都有4组这样的斐波那契数字用于服务供4人使用。

群体与个体估计的准确性

根据一项关于软件项目实验中个人和小组之间努力估计准确性的研究。来自同一公司的20名软件专业人员分别估算了实施相同软件开发项目所需的工作量。参与者有不同的背景和角色,软件项目以前已经实施过。之后,他们组成了五个小组。每个小组通过讨论和结合他们之间的知识来商定一项估计。

结果 – 基于小组讨论的估算比个人估算更准确。

进行计划扑克的步骤

  1. 每个团队成员获得一组卡片,包括0,0.5,1,2,3,5,8,13,20,40,?,∞,总共12张牌。
  2. 产品所有者要么读描述要素的团队。
  3. 团队成员讨论该功能,并在需要时询问产品所有者问题。
  4. 当成员完成讨论后,他们每个成员选择一张扑克牌来代表估计。然后同时显示卡片。
  5. 如果团队评估不同的估计。我们同意吗?我们有差异吗?有什么我没考虑过的吗?选择最高或最低价值的人应该在每个成员选择另一张扑克牌之前与该组分享他们的推理。
  6. 讨论结束后,您可以估算另一轮,团队需要达成协议。
  7. 返回第二步并开始估计下一个条目。

估计大小,而不是估计时间段,使用相对估计而不是绝对估计

估计只不过是一个受过良好教育的猜测。我们利用手头的所有知识和经验来猜测它将花费的时间。因此,不是单独查看每个新工作项,为什么不将它与之前完成的工作项进行比较?人类更容易与相似的物品相关,而不是猜测事物的实际大小。

例如,它接近这个非常小的东西吗?或者它更像这个正常大小的项目?还是像我们上个月完成的那项工作一样真的很大?进行相对估算不仅可以减少估算工作所花费的时间,还可以大大提高估算的准确性。

我们的大脑无法进行绝对估计; 我们总是把我们需要估计的新事物与我们已经知道的事情联系起来。

故事点估计

故事点估计

估计速度 – 记录和平均每个Sprint的团队速度

该团队的速度是多少故事点数Scrum团队在一个Sprint实际完成。团队速度告诉你团队的速度有多快。一个新估计的项目或团队(过去没有参考速度记录),我们可以做1-2 Sprint来测量速度作为初始速度。在Sprint实施过程中,我们需要记录每个Sprint的速度,以便将来的计划。

估计用户故事速度

估计用户故事速度

我们估计产品Backlog的故事点总数,然后我们知道每个Sprint的平均速度,然后我们可以计算出我们需要完成多少Sprint,因此预计Sprint将是项目所需的。如下图所示。

Scrum项目持续时间估算

Scrum项目持续时间估算