なぜフィボナッチシリーズがアジャイルプランニングポーカーで使用されるのですか?[閉まっている]


94

アジャイルソフトウェア開発におけるユーザーストーリーの相対的なサイズを推定する場合、チームのメンバーは、ユーザーストーリーのサイズを1、2、3、5、8、13、...と推定するものとします。したがって、推定値はフィボナッチ系列に似ているはずです。しかし、なぜでしょうか。

ウィキペディアのhttp://en.wikipedia.org/wiki/Planning_pokerの説明には、不可解な文が含まれています。

フィボナッチ数列を使用する理由は、より大きなアイテムを推定する際の固有の不確実性を反映するためです。

しかし、なぜより大きなアイテムに固有の不確実性があるのでしょうか?測定を少なくすると、つまり同じストーリーを推定する人が少なくなれば、不確実性は高くなりますか?そして、より大きなストーリーで不確実性が高くても、なぜそれがフィボナッチ数列の使用を意味するのでしょうか?それには数学的または統計的な理由がありますか?それ以外の場合、フィボナッチシリーズを推定に使用することは、CargoCult科学のように感じます。


9
おそらく、フィボナッチ数列が「クール」だからです。すべての指数シーケンスが機能します。2^n数値の間隔が離れすぎている可能性があるので、フィボナッチ数列を使用してみませんc*phi^nか。
インタージェイ2012

「クール」の+1。私は以前にプログラマーと協力して、いつも奇妙なことをフィボナッチにプッシュしたいと思っていました-それは常に彼らの「もの」
でした


2
この質問は約...であるためトピックから外れているようです
アドリアーノRepetti 2014

回答:


78

フィボナッチシリーズは、指数推定スケールのほんの一例です。指数スケールが使用される理由は、情報理論に由来します。

見積もりから得られる情報は、見積もりの​​精度よりもはるかに遅くなります。実際には、対数関数として成長します。これが、大きなアイテムの不確実性が高くなる理由です。

指数スケール(正規化)の最適なベースを決定することは、実際には困難です。フィボナッチスケールに対応するベースは最適な場合とそうでない場合があります。

数学的な正当化の詳細な説明は次のとおりです。http//www.yakyma.com/2012/05/why-progressive-estimation-scale-is-so.html


4
これは私が望んでいたより深い説明です。この回答をありがとうございます。
2015年

「[a]見積りの労力が少なくても、[a]見積りの労力がほとんどない場合」素晴らしい記事
ptim

40

フィボナッチ数列の最初の6つの数字のうち、4つが素数です。これにより、タスクを均等に小さなタスクに分割して、複数の人が並行して作業する可能性が制限されます。そうすることは、タスクの速度がその作業をしている人の数に比例して比例する可能性があるという誤解を招く可能性があります。2 ^ nシリーズはこのような問題に対して最も脆弱です。フィボナッチ数列は実際、1つずつ小さなタスクを再推定することを強制します。


7
それは興味深い見方です。しかし、なぜフィボナッチ級数の代わりに、一連の素数1、2、3、5、7、11、...が推定に使用されないのですか?
asmaier

2
それは素晴らしいアイデアです。実際には、[1.5-2.0] ^ nシリーズを大まかに作成するものだけを選ぶほど頻繁に発生します。フィボナッチ数列は確かに頭から再作成する方が簡単ですが、JIRAなどのツールを使用すると、任意の値のセットを指定できます。
KillerInsect

5
もう1つのポイントは、推定値間の距離です。推定する時間が長いほど、確実性は低くなります。3-5と5-7の間は同じ違いであり、同じ確実性を意味します。しかし、8から13(より大きなギャップ)を選択する必要がある場合は、自分がどれほど確実であるかを実際に調べる必要があります。
Chris

@asmaierそれは、フィボナッチ数が指数であるからだと思います。ストーリーを推定するときに通常使用される小さなサンプルに対して素数が線形であるためです
icc97

17

このアジャイルブログによると

「私たち人間が意味のある大きさの変化を知覚できるのとほぼ同じ速度で成長するからです。」

ええ、その通り。これは、本質的に非常に高レベルの初期段階のサイズ設定(スコープではない)エクササイズ(価値がある)に正当性(フィボナッチ!数学!)の雰囲気を追加するためだと思います。

しかし、Tシャツのサイズを使用しても同じ結果が得られます...


1
この回答は、2か月前の@kajからの回答とほぼ同じです(同じリンクと同じ引用を参照)。
icc97 2016年

1
私はこの人がそれを引用した方法が本当に好きでした。すぐにわかりました。
nishantbhardwaj2002

15

あなたは間違いなく何か指数関数を望んでいるので、一定の相対誤差で任意の時間を表すことができます。見積もりの​​精度も見積もりに比例する可能性が非常に高くなります。

だからあなたは何かが欲しい:a)整数でb)指数c)簡単

では、なぜ1 2 4 8ではなく、フィボナッチなのでしょうか。フィボナッチの成長が遅いためだと思います。それはgoldratio ^ nにあり、goldratio = 1.61 ...


3
「見積もりの​​精度も見積もりに比例する可能性が非常に高いです。」これは統計のルールですか、それとも人間が通常行うことですか?フィボナッチ数を使用する場合、推定の相対誤差は約f(n-1)/ f(n)= 1-goldenratio = 61%であると想定します。したがって、5と推定すると、人々はこれが約3の相対誤差を意味すると想定するため、複雑度の大幅な増加は8以上になります。しかし、なぜ相対誤差が約60%と想定されるのですか?これは単なる経験則ですか?
asmaier '20

1
私自身のコメントに答えるために:Mike Cohn(2005年11月)。「アジャイルな見積もりと計画」は次のように述べています。
2015年

1
ミランダ(2001):「対比較を使用した主観的推定の改善」は次のように述べています。「私は同僚間で非公式の調査を行いました;異なる国からの30人と業界と学界の両方からのスケールを入力しました。結果はサイズとソフトウェアドメインでの口頭による説明は、サーティの説明よりも表3に示す説明に近いものです。」この表では、ベースサイズの125%の場合は「やや大きい」と呼ばれ、ベースサイズの175%の場合は「大きい」と呼ばれています。
asmaier 2015年

1
次のフィボナッチ数は以前のフィボナッチ数の161%であるため、これはミランダスの表で「少し大きい」と「大きい」の間に収まります。この非公式な調査は、フィボナッチ数列を使用する理由の根拠になっているようです。これは、比が大きいと私たちが言う意味に近いためです。
2015年

@asmaier私はこれらのコメントを別の回答として追加する必要があると思います。コメントはすばらしいです。リンクされたPM.SEの質問に記載されていますが、残念ながらロックされています。
icc97 2018年

7

フィボナッチ数列は、プロジェクト計画ポーカーで使用されるいくつかの1つにすぎません。

大量の作業単位を正確に推定することは困難であり、数値が「現実的」である場合、数時間から数日で議論に取りつかれやすくなります。

私はhttp://www.agilelearninglabs.com/2009/06/story-sizing-a-better-start-than-planning-poker/の説明が好きですつまり、フィボナッチシリーズは、直感的に区別できる一連の数値を表していますそれらの間で異なる大きさとして。


4

私はいくつかの理由でフィボナッチを使用しています:

  • タスクが大きくなると、詳細が把握しにくくなります
  • タスクの見積もりは、チームのだれかがタスクを完了するための時間数です
  • チームの全員が特定のタスクについて同じ量の経験を持っているわけではないため、不確実性も増します
  • 人間は、より大きく潜在的により複雑な作業に疲労します。2倍複雑なタスクは、コンピューターでは2倍の時間で解決されますが、開発者にとってはかなり時間がかかる場合があります。

すべての不確実性を足し合わせると、実際の時間はどうなるかわかりません。このタスクが、すでに見積もりを行った別のタスクよりも大きいか小さいかを測定できれば、結局は簡単になります。タスクのサイズ/複雑さを上げると、不確実性の影響も増幅されます。以前5時間と見積もっていたタスクの2倍の大きさのタスクの場合、13時間の見積もりを喜んでとるでしょう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.