Fibonacci serisi neden çevik planlama pokerinde kullanılıyor? [kapalı]


94

Çevik yazılım geliştirmede kullanıcı hikayelerinin göreceli boyutunu tahmin ederken, ekip üyelerinin bir kullanıcı hikayesinin boyutunu 1, 2, 3, 5, 8, 13, ... olarak tahmin etmeleri beklenir. Dolayısıyla tahmin edilen değerler Fibonacci serisine benzemelidir. Ama merak ediyorum, neden?

Wikipedia'daki http://en.wikipedia.org/wiki/Planning_poker açıklaması , gizemli cümleyi barındırır:

Fibonacci dizisini kullanmanın nedeni, daha büyük öğeleri tahmin etmedeki doğal belirsizliği yansıtmaktır.

Ama daha büyük öğelerde neden doğal bir belirsizlik olsun ki? Daha az ölçüm yaparsak, yani daha az insan aynı hikayeyi tahmin ederse, belirsizlik daha yüksek olmaz mı? Ve daha büyük hikayelerde belirsizlik daha yüksek olsa bile, bu neden Fibonacci dizisinin kullanılması anlamına geliyor? Bunun matematiksel veya istatistiksel bir nedeni var mı? Aksi takdirde tahmin için Fibonacci serisini kullanmak bana CargoCult bilimi gibi geliyor.


9
Muhtemelen Fibonacci dizisi "harika" olduğu için. Herhangi bir üstel dizi işe yarayacaktır. 2^nsayıları çok uzağa yerleştirebilir, öyleyse neden Fibonacci dizisini kullanmıyorsunuz c*phi^n?
interjay

"Harika" için +1. Daha önce tuhaflıkları her zaman Fibonacci'ye itmek isteyen programcılarla çalıştım - bu her zaman onların '
olayıydı


2
Bu soru konu dışı görünüyor çünkü konu ...?
Adriano Repetti

Yanıtlar:


78

Fibonacci serisi, üstel tahmin ölçeğinin yalnızca bir örneğidir. Üstel bir ölçeğin kullanılmasının nedeni Bilgi Teorisinden gelmektedir.

Tahminden elde ettiğimiz bilgiler, tahminin doğruluğundan çok daha yavaş büyür. Aslında logaritmik bir fonksiyon olarak büyür. Bu, daha büyük öğeler için daha yüksek belirsizliğin nedenidir.

Üstel ölçeğin en uygun tabanını belirlemek (normalleştirme) pratikte zordur. Fibonacci ölçeğine karşılık gelen taban, optimal olabilir veya olmayabilir.

İşte matematiksel gerekçelendirmenin daha ayrıntılı bir açıklaması: http://www.yakyma.com/2012/05/why-progressive-estimation-scale-is-so.html


4
Bu, umduğum daha derin bir açıklama. Bu cevap için teşekkür ederim.
asmaier

"[Bir] az tahmin çabası çok yardımcı olur ve [bir] büyük tahmin çabası küçük yardımcı olur" harika makale
ptim

40

Fibonacci dizisinin ilk altı sayısından dördü asaldır. Bu, birden fazla kişinin paralel olarak üzerinde çalışması için bir görevi eşit şekilde daha küçük görevlere bölme olasılıklarını sınırlar. Bunu yapmak, bir görevin hızının üzerinde çalışan insan sayısı ile orantılı olarak ölçeklenebileceği yanılgısına yol açabilir. 2 ^ n serisi, bu tür bir soruna karşı en savunmasızdır. Fibonacci dizisi aslında kişiyi küçük görevleri tek tek yeniden tahmin etmeye zorlar.


7
Bu ilginç bir bakış açısı. Peki neden Fibonacci serisi yerine tahmin için 1,2,3,5,7,11, ... asal sayı dizisi kullanılmıyor?
asmaier

2
Bu harika bir fikir. Aslında, yalnızca kabaca bir [1.5-2.0] ^ n serisi oluşturanları seçecek kadar sık ​​oluşurlar. Fibonacci sayılarının kafadan yeniden oluşturulması kuşkusuz daha kolaydır, ancak JIRA gibi araçlar herhangi bir değer kümesini belirtmeye izin verir.
KillerInsect

5
Diğer nokta ise tahminler arasındaki mesafedir. Ne kadar uzun süre tahmin ediyorsanız, o kadar az kesinlik vardır. 3-5 ile 5-7 arasında aynı fark var ve aynı kesinliği ifade ediyor. Ancak 8 ile 13 arasında bir seçim yapmanız gerektiğinde (daha büyük bir boşluk), sizi gerçekten ne kadar emin olduğunuzu incelemeye zorlar.
Chris

@asmaier Bunun nedeni, fibonacci sayılarının üstel olması ve asal sayıların tipik olarak hikayeleri tahmin ederken kullanılan küçük örneklem için doğrusal olması nedeniyle olduğunu düşünüyorum
icc97

17

Göre bu çevik blogda

"çünkü biz insanların büyüklükteki anlamlı değişiklikleri algılayabildiği hızda büyüyorlar."

Evet doğru. Sanırım bunun nedeni, özünde çok yüksek seviyeli, erken aşama boyutlandırma (kapsam değil) alıştırmasına (ki değeri olan) bir meşruiyet havası (Fibonacci! Matematik!)

Ama aynı sonuçları tişört bedenini kullanarak da alabilirsiniz ...


1
Bu cevap, iki ay önce @kaj'den gelen cevapla neredeyse tamamen aynıdır (aynı bağlantıya ve aynı alıntıya atıfta bulunur) .
icc97

1
Bu kişinin alıntı yapma şeklini gerçekten beğendim. anında anlamamı sağladı.
nishantbhardwaj2002

15

Kesinlikle üstel bir şey istersiniz, böylece sabit bir göreceli hata ile herhangi bir zaman miktarını ifade edebilirsiniz. Tahmininizin kesinliği de büyük ihtimalle tahmininizle orantılı olacaktır.

Yani bir şey istiyorsunuz: a) tam sayılarla b) üstel c) kolay

Şimdi neden 1 2 4 8 yerine Fibonacci? Benim tahminim fibonacci'nin daha yavaş büyümesinden kaynaklanıyor. Goldratio ^ n ve goldratio = 1.61 ...


3
"Tahmininizin kesinliği de büyük ihtimalle tahmininizle orantılı olacaktır." Bu istatistikte bir kural mı yoksa insanların normalde yaptığı bir şey mi? Fibonacci sayılarını kullanırsanız, bir tahminin göreceli hatasının f (n-1) / f (n) = 1-goldenratio =% 61 civarında olduğunu varsayarsınız. Öyleyse, biri 5'i tahmin ederse, insanlar bunun yaklaşık 3'lük bir göreceli hata anlamına geldiğini varsayar, bu nedenle karmaşıklıkta önemli bir artış yalnızca 8 veya daha yüksek olacaktır. Bununla birlikte, göreceli hatanın neden yaklaşık% 60 olduğu varsayılmaktadır? Bu sadece pratik bir kural mı?
asmaier

1
Kendi yorumuma cevap vermek için: Mike Cohn (Kasım 2005). "Çevik Tahmin ve Planlama" der: "Çalışmalar, bir büyüklük sırasına giren şeyleri tahmin etmede en iyi olduğumuzu göstermiştir (Miranda 2001; Saaty 1996)".
asmaier

1
Miranda (2001): "İkili Karşılaştırmalar Kullanarak Öznel Tahminleri İyileştirmek" diyor: "Meslektaşlarım arasında gayri resmi bir anket yaptım; farklı ülkelerden ve hem endüstriden hem de akademiden 30 kişi ölçek için girdi sağladı. Sonuçlar, büyüklük ve Yazılım alanındaki sözlü anlatım Saaty'ninkinden çok Tablo 3'te gösterilene daha yakındır. Ve bu tabloda, bir şeyin temel boyutun% 125'i olması durumunda "biraz daha büyük", temel boyutun% 175'i ise "daha büyük" olarak adlandırıldığını görüyoruz.
asmaier

1
Bir sonraki Fibonacci sayısı, önceki Fibonacci sayısının% 161'i kadardır, bu nedenle bu, Mirandas tablosundaki "biraz daha büyük" ve "daha büyük" arasına sığar. Görünüşe göre bu gayri resmi anket, Fibonacci sayılarını neden kullandığımızın köküdür, çünkü bunların oranı, bir şeyin daha büyük olduğunu söylersek kastettiğimiz şeye daha yakındır.
asmaier

@asmaier Bu yorumları ayrı bir cevap olarak eklemeniz gerektiğini düşünüyorum, mükemmeller veya belki de bağlantılı PM.SE sorusu, çünkü bu maalesef kilitli.
icc97

7

Fibonacci dizisi, proje planlama pokerinde kullanılan birkaç diziden sadece biridir.

Büyük iş birimlerini doğru bir şekilde tahmin etmek zordur ve sayılarınız çok "gerçekçi" ise, saatler ve günler arası tartışmalarda takılıp kalmak kolaydır.

Http://www.agilelearninglabs.com/2009/06/story-sizing-a-better-start-than-planning-poker/ adresindeki açıklamayı beğendim , yani Fibonacci serisi sezgisel olarak ayırt edebileceğimiz bir dizi sayıyı temsil ediyor aralarında farklı büyüklükler olarak.


4

Fibonacci'yi birkaç nedenden dolayı kullanıyorum:

  • Görev büyüdükçe ayrıntıların anlaşılması zorlaşır
  • Görev tahmini, ekipteki herhangi birinin görevi tamamlaması için saat sayısıdır
  • Ekipteki herkes belirli bir görev için aynı miktarda deneyime sahip olmayacak, bu da belirsizliği artırıyor
  • İnsan, daha büyük ve potansiyel olarak daha karmaşık bir görev yüzünden yorulur. Bir bilgisayar için iki kat daha karmaşık bir görev iki kez çözülürken, bir geliştirici için biraz daha fazla zaman alabilir.

Tüm belirsizlikleri topladıkça, saatlerin gerçekte ne olması gerektiğinden daha az emin oluyoruz. Bu görevin zaten bir tahmin verdiğimiz başka bir görevden daha büyük / küçük olup olmadığını ölçebilirsek, sonuç daha kolay olur. Görevin boyutunu / karmaşıklığını artırdıkça, belirsizliğin etkisi de artar. Daha önce 5 saatte tahmin ettiğimden iki kat daha büyük görünen bir görev için 13 saatlik bir tahminde bulunmaktan mutluluk duyarım.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.