数学 - 为什么斐波那契系列用于敏捷计划扑克?

在估计敏捷软件开发中用户故事的相对大小时,团队成员应该估计用户故事的大小为1,2,3,5,8,13 ....... 所以估计的值应该类似斐波纳契系列。 但我想知道,为什么?

维基百科上[http://en.wikipedia.org/wiki/Planning_poker]的描述包含了一个神秘的句子:

使用Fibonacci序列的原因是为了反映固有的   估算较大项目的不确定性。

但为什么大项目存在固有的不确定性? 如果我们减少测量,那么不确定性是否更高,这意味着如果更少的人估计相同的故事?即使较大的故事中的不确定性更高,为什么这意味着使用Fibonacci序列? 它有数学或统计学原因吗?否则使用Fibonacci系列进行估算对我来说就像CargoCult科学一样。

6个解决方案
70 votes

Fibonacci系列只是指数估计量表的一个例子。 使用指数尺度的原因来自信息理论。

我们从估计中获得的信息比估计的精度慢得多。 实际上它是一种对数函数。 这就是较大物品不确定性较高的原因。

在实践中确定指数标度的最佳基数(标准化)是困难的。 对应于斐波那契量表的基数可能是也可能不是最佳的。

以下是对数学证明的更详细解释:[http://www.yakyma.com/2012/05/why-progressive-estimation-scale-is-so.html]

isak gilbert answered 2019-09-13T06:37:54Z
39 votes

在Fibonacci序列的前六个数中,四个是素数。 这限制了将任务平均分解为较小任务以使多个人并行工作的可能性。 这样做可能会导致误解,即任务的速度可能与工作人员的数量成比例。 2 ^ n系列最容易受到这样的问题的影响。 斐波纳契序列实际上迫使人们逐一重新估计较小的任务。

KillerInsect answered 2019-09-13T06:38:19Z
16 votes

根据这个敏捷博客

“因为它们的增长速度大致与我们人类能够感受到有意义的变化幅度相同。”

是的,没错。 我认为这是因为它们增加了一种合法性(Fibonacci!数学!)本质上是一个非常高级的,早期规模(不是范围)练习(它确实有价值)。

但你可以使用T恤尺码获得相同的效果......

Ibrahim Bashir answered 2019-09-13T06:39:07Z
15 votes

你肯定想要一些指数的东西,这样你就可以用一个恒定的相对误差表达任何数量的时间。 您估计的精确度很可能与您的估计成正比。

所以你想要的东西:    a)整数    b)指数    c)很容易

现在为什么斐波那契代替,1 2 4 8?我的猜测是因为斐波那契变慢了。 它在goldratio ^ n,goldratio = 1.61 ......

fulmicoton answered 2019-09-13T06:39:48Z
6 votes

Fibonacci序列只是项目规划扑克中使用的几个序列之一。

很难准确估计大单位的工作,如果你的数字过于“现实”,很容易在数小时内与日讨论陷入困境。

我喜欢[http://www.agilelearninglabs.com/2009/06/story-sizing-a-better-start-than-planning-poker/]上的解释,即Fibonacci系列代表了一组我们能够得到的数字 直观地将它们区分为不同的量级。

kaj answered 2019-09-13T06:40:27Z
4 votes

我使用Fibonacci有几个原因:

  • 随着任务变得越来越大,细节变得越来越难以掌握
  • 任务估计值是团队中任何人完成任务的小时数
  • 并非团队中的每个人都有相同的经验一项特殊任务,也增加了不确定性
  • 人类会因为更大且可能更复杂的任务而疲劳。虽然复杂的任务是计算机的双倍时间对于开发人员来说可能需要更多的时间。

当我们将所有不确定因素加起来时,我们不确定实际应该达到的小时数。 如果我们能够衡量这个任务是否比我们已经估计的另一个更大/更小,那么它会变得更容易。 随着我们增加任务的规模/复杂性,不确定性的影响也会被放大。 我很乐意估计13个小时的任务,这个任务似乎是我之前估计的5个小时的两倍。

Chris Chou answered 2019-09-13T06:41:31Z
translate from https://stackoverflow.com:/questions/9362286/why-is-the-fibonacci-series-used-in-agile-planning-poker