为什么Fibonacci系列用于敏捷计划扑克?

asm*_*ier 90 math statistics agile agile-project-management

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

维基百科上的http://en.wikipedia.org/wiki/Planning_poker描述中有一句神秘的句子:

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

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

isa*_*ert 72

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

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

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

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

  • 这是我希望的更深层次的解释.谢谢你的回答. (2认同)

Kil*_*ect 39

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

  • 这是一个有趣的观点.但是为什么不是用于估算而不是斐波纳契数列的素数系列1,2,3,5,7,11 ......? (7认同)
  • 另一点是估计之间的距离.你估计的时间越长,就越不确定.在3-5和5-7之间是相同的差异,意味着相同的确定性.但是当你必须在8到13之间做出选择(更大的差距)时,它会迫使你真正检查你是多么肯定. (4认同)
  • 这是个好主意。实际上,它们出现的频率足以只选择那些粗略创建 [1.5-2.0]^n 系列的那些。斐波那契数无疑更容易从头部重新创建,但像 JIRA 这样的工具允许指定任何一组值。 (2认同)

小智 17

根据这个敏捷博客

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

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

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


ful*_*ton 15

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

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

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

  • "你估计的精确度很可能与你的估计成正比." 这是统计数据中的规则还是人类通常做的事情?如果使用斐波纳契数,则假设估计的相对误差约为f(n-1)/ f(n)= 1-goldenratio = 61%.因此,如果估计5,人们认为这意味着相对误差约为3,因此复杂性的显着增加仅为8或更高.但是,为什么假设相对误差约为60%?这只是一个经验法则吗? (3认同)

kaj*_*kaj 6

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

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

我喜欢http://www.agilelearninglabs.com/2009/06/story-sizing-a-better-start-than-planning-poker/上的解释,即Fibonacci系列代表了一组我们可以直观地区分的数字他们之间的差异是不同的.


Chr*_*hou 5

我使用斐波那契数列有几个原因:

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

As we adds up all the uncertainties we are less sure of what the hours actually should be. It ends up easier if we can just gauge if this task is larger/smaller than another one where we gave a estimate of already. As we up the size/complexity of the task the effect of uncertainty is also amplified. I would be happily taking an estimate of 13 hours for a task that seems twice as large as one I've previously estimated at 5 hours.