为什么我们在三点估计中将“最可能估计”乘以4?

问题描述 投票:9回答:5

我对我的一个项目使用了三点估计。公式是

   Three Point Estimate = (O + 4M + L ) / 6

那意味着,

  Best Estimate + 4 x Most Likely Estimate + Worst Case Estimate divided by 6

这里

divided by 6 means, average 6

并且最坏情况或最佳情况发生的可能性较小。真诚地,最有可能估计(M),是完成工作所需要的。

但我不知道为什么他们使用4(M)。为什么他们乘以4 ???。不使用5,6,7等...为什么最有可能估计加权four times和其他两个值一样多?

estimation software-estimation
5个回答
5
投票

我挖了一次这个。我巧妙地忽略了写下这条小道,所以这是记忆。

据我所知,标准文件是从教科书中得到的。教科书从20世纪50年代的原始文章中获得了统计学期刊。期刊上的文章是基于兰德公司做的内部报告,作为为Polaris项目开发PERT的总体工作的一部分。

这就是小道变冷的地方。似乎没有人明白为什么他们选择那个公式。最好的猜测似乎是它基于正态分布的粗略近似 - 严格来说,它是一个三角形分布。基本上,一个块状的钟形曲线假设“可能的情况”落在真实平均估计的1个标准偏差之内。

4/6s近似为66.7%,近似为68%,近似于平均值的一个标准偏差内的正态分布下的面积。

话虽如此,有两个问题:

  1. 它基本上是弥补的。选择它似乎没有坚实的基础。有一些运筹学文献主张替代分布。在什么样的宇宙估计中,正常分布在真实结果周围?我非常想搬到那里。
  2. 3点/ PERT估计方法的准确性改进效果可能更多地是将任务分解为子任务而不是任何特定公式。研究他们所谓的“计划谬误”的心理学家发现,打破任务 - 在他们的术语中“拆包” - 通过提高估计值来减少不准确性,从而不断改进估计。所以也许PERT / 3点的神奇之处在于解包,而不是公式。

4
投票

这里有一个推导:

http://www.deepfriedbrainproject.com/2010/07/magical-formula-of-pert.html

如果链接失效,我将在此处提供摘要。

因此,从问题中退一步,这里的目标是提出一个单一的平均(平均)数字,我们可以说是任何给定的3点估计的预期数字。也就是说,如果我要尝试X次项目,并将项目尝试的所有成本加起来总共为Y,那么我预计一次尝试的成本为$ Y / X.请注意,此数字可能与模式(最可能)结果相同或不同,具体取决于概率分布。

预期结果很有用,因为即使我们以不同方式计算每个预期结果,我们也可以做一些事情,例如将预期结果的整个列表相加以创建项目的预期结果。

另一方面,模式甚至不一定是每个估计的唯一,因此这可能不如预期结果有用。例如,1-6中的每个数字都是掷骰子的“最有可能”,但3.5是(唯一的)预期平均结果。

3点估计背后的基本原理/研究是,在许多(大多数?)现实世界的情景中,人们可以比单个预期值更准确/直观地估计这些数字:

  • 悲观的结果(P)
  • 乐观的结果(O)
  • 最可能的结果(M)

然而,为了将这三个数字转换为期望值,我们需要一个概率分布来插入除我们产生的3之外的所有其他(可能是无限的)可能结果。

我们甚至进行三点估计的事实假设我们没有足够的历史数据来简单地查找/计算我们将要做的事情的预期值,所以我们可能不知道实际是什么我们估计的概率分布是。

PERT估计背后的想法是,如果我们不知道实际曲线,我们可以将一些合理的默认值插入Beta分布(这基本上只是我们可以自定义为许多不同形状的曲线)并对每个问题使用这些默认值我们可能面对。当然,如果我们知道实际分布,或者有理由相信PERT规定的默认Beta分布对于手头的问题是错误的,我们就不应该在项目中使用PERT方程。

Beta分布有两个参数AB,分别设置曲线左侧和右侧的形状。方便地,我们可以简单地通过知道曲线的最小值/最大值以及AB来计算Beta分布的模式,平均值和标准偏差。

对于每个项目/估计,PERT将AB设置为以下内容:

如果M > (O + P) / 2然后A = 3 + √2B = 3 - √2,否则AB的值被交换。

现在,碰巧的是,如果您对Beta分布的形状做出特定假设,则以下公式完全正确:

平均值(期望值)= (O + 4M + P) / 6

标准差= (O - P) / 6

所以,总结一下

  • PERT公式不是基于正态分布,它们基于具有非常特定形状的Beta分布
  • 如果您的项目的概率分布与PERT Beta分布匹配,则PERT公式完全正确,它们不是近似值
  • 为PERT选择的特定曲线几乎不可能与任何给定的任意项目匹配,因此PERT公式将是实践中的近似值
  • 如果您对估计的概率分布一无所知,那么您可以利用PERT,因为它已被记录,被许多人理解并且相对容易使用
  • 如果您对估计的概率分布有所了解,这表明PERT的某些内容是不合适的(例如对模式的4倍加权),那么请不要使用它,使用您认为合适的任何内容
  • 您乘以4得到平均值(而不是5,6,7等)的原因是因为数字4与基础概率曲线的形状相关联
  • 当然,PERT可能基于Beta分布,在计算均值,甚至是正态分布,或均匀分布,或几乎任何其他概率曲线时,产生5,6,7或任何其他数字,但我' d建议他们为什么选择他们所做的曲线的问题超出了这个答案的范围,并且可能是非常开放的/主观的

3
投票

这不是一个很好的拇指号吗?

cone of uncertainty在项目的开始阶段使用因子4。

enter image description here

"Software Estimation"的书Steve McConnell以“不确定性锥体”模型为基础,并给出了许多“拇指规则”。然而,每个近似数字或拇指规则都是基于COCOMO或类似的固体研究,模型或研究的统计数据。


1
投票

理想情况下,O,M和L的这些因子是使用同一公司中同一环境中其他项目的历史数据得出的。换句话说,公司应该在M估计内完成4个项目,1个在O内,1个在L内完成。如果我的公司/团队在原始O估计中完成了1个项目,M个内有2个项目,L内有2个项目,我会使用另一个公式 - (O + 2M + 2L)/ 5.它有意义吗?


0
投票

上面引用了不确定性的锥体......它是敏捷估计实践中使用的众所周知的基础元素。

它有什么问题呢?它看起来不太对称 - 好像它不自然,不是真的基于真实数据吗?

如果你曾经那样,那么你是对的。上图中显示的不确定性锥体是基于概率构成的......而不是来自实际项目的实际原始数据(但大部分时间都是如此使用)。

劳伦特·博萨维特(Laurent Bossavit)写了一本书,并做了一个演讲,他在那里介绍了他对锥体如何形成的研究(以及我们经常相信软件工程的其他“事实”):

软件工程的小妖精

https://www.amazon.com/Leprechauns-Software-Engineering-Laurent-Bossavit/dp/2954745509/

https://www.youtube.com/watch?v=0AkoddPeuxw

是否有一些真实数据可以支持不确定性?他能找到的最接近的是一个锥体,它可以在正Y方向上达到10倍(因此,就我们的估计而言,我们最多可以在10倍的时间内减去10倍)。

几乎没有人估计一个项目最终会提前完成4次......或者......喘气......提前10次。

© www.soinside.com 2019 - 2024. All rights reserved.