敏捷估计:相对估计与绝对估计

组与个体估计的准确性

无论团队是在做产品还是项目,我们都需要回答“我们什么时候完成?”这个问题。或者我们可以在某个时间点走多远。就像传统开发一样,我们需要在开始项目之前估算工作量。

什么是项目估算?

估计 是对某事的粗略 计算。例如,工程造价估算是工程价格模型的一般概念。当您的客户或其他项目利益相关者要求您评估项目的成本和时间时,它可以帮助您提供一个有希望的更现实的数字。

敏捷与传统估计

传统上,我们分配时间来估计软件项目,而在 敏捷方法中,他们更喜欢为积压项目提供一个故事点,作为相对工作的衡量标准。这允许团队考虑他们过去完成的其他工作,并将其与他们将估计的产品积压进行比较。故事点不是通过给出绝对时间来衡量的,而是通过根据过去的经验估计解决类似任务所需的工作量。

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

  1. 团队集体估计
  2. 相对努力与绝对时间估计
  3. 估计团队速度

1. 集体估计

在 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. 回到第二步,开始估计下一个条目。

2. 相对努力与绝对时间估计

估计只不过是有根据的猜测。我们利用手头的所有知识和经验来猜测将要花费的时间。因此,与其单独查看每个新工作项,不如将其与之前完成的工作项进行比较?人类更容易将相似的物品联系起来,而不是猜测事物的实际大小。

例如,它是否更接近这个非常小的东西?还是更像这个正常尺寸的物品?还是真的像我们上个月完成的那件作品一样巨大?进行相对估算不仅会减少估算工作所花费的时间,还会大大提高估算的准确性。

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

3. 估计速度——记录并平均每个 Sprint 的团队速度

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

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


Leave a Reply

您的电子邮箱地址不会被公开。