Dlaczego seria Fibonacciego jest używana w pokerze ze zwinnym planowaniem? [Zamknięte]

94

Szacując względny rozmiar historyjek użytkownika w zwinnym tworzeniu oprogramowania, członkowie zespołu powinni oszacować rozmiar historyjki użytkownika na 1, 2, 3, 5, 8, 13, .... Oszacowane wartości powinny więc przypominać szereg Fibonacciego. Ale zastanawiam się, dlaczego?

Opis http://en.wikipedia.org/wiki/Planning_poker na Wikipedii zawiera tajemnicze zdanie:

Powodem użycia ciągu Fibonacciego jest odzwierciedlenie nieodłącznej niepewności w szacowaniu większych pozycji.

Ale dlaczego miałaby istnieć nieodłączna niepewność w przypadku większych pozycji? Czy niepewność nie jest większa, jeśli wykonamy mniej pomiarów, to znaczy, jeśli mniej ludzi ocenia tę samą historię? A nawet jeśli niepewność jest większa w większych opowieściach, dlaczego oznacza to użycie ciągu Fibonacciego? Czy istnieje przyczyna matematyczna lub statystyczna? W przeciwnym razie użycie serii Fibonacciego do oszacowania wydaje mi się nauką CargoCult.

asmaier
źródło
9
Prawdopodobnie tylko dlatego, że ciąg Fibonacciego jest „fajny”. Dowolna sekwencja wykładnicza zadziała. 2^nmoże zbyt daleko posunąć liczby, dlaczego więc nie skorzystać z ciągu Fibonacciego, o który chodzi c*phi^n?
interjay
+1 dla „jest fajne”. Pracowałem już z programistów przed który zawsze chciał dziwactw wciskanych do Fibonacciego - zawsze było ich „rzecz”
KevinDTimm
2
To pytanie wydaje się być niezwiązane z tematem, ponieważ dotyczy ...?
Adriano Repetti

Odpowiedzi:

78

Szereg Fibonacciego to tylko jeden przykład wykładniczej skali estymacji. Powód, dla którego używana jest skala wykładnicza, pochodzi z teorii informacji.

Informacje, które uzyskujemy z oszacowania, rosną znacznie wolniej niż dokładność oszacowania. W rzeczywistości rośnie jako funkcja logarytmiczna. To jest przyczyną większej niepewności w przypadku większych pozycji.

Wyznaczenie najbardziej optymalnej podstawy skali wykładniczej (normalizacja) jest trudne w praktyce. Podstawa odpowiadająca skali Fibonacciego może być optymalna lub nie.

Oto bardziej szczegółowe wyjaśnienie matematycznego uzasadnienia: http://www.yakyma.com/2012/05/why-progressive-estimation-scale-is-so.html

isak gilbert
źródło
4
To głębsze wyjaśnienie, na które liczyłem. Dziękuję za tę odpowiedź.
asmaier
„[Mały] wysiłek oszacowania bardzo pomaga, a [duży] wysiłek oszacowania pomaga niewiele” świetny artykuł
ptim,
40

Z pierwszych sześciu liczb ciągu Fibonacciego cztery są pierwszymi. Ogranicza to możliwości równego podzielenia zadania na mniejsze zadania, aby wiele osób pracowało nad nim równolegle. Może to prowadzić do błędnego przekonania, że ​​szybkość zadania może być proporcjonalna do liczby pracujących nad nim osób. Seria 2 ^ n jest najbardziej narażona na taki problem. Ciąg Fibonacciego w rzeczywistości zmusza jednego do ponownego oszacowania mniejszych zadań jedno po drugim.

KillerInsect
źródło
7
To ciekawy punkt widzenia. Ale dlaczego w takim razie szereg liczb pierwszych 1, 2, 3, 5, 7, 11, ... nie jest używany do szacowania zamiast szeregu Fibonacciego?
asmaier
2
To doskonały pomysł. W rzeczywistości występują one na tyle często, że można wybrać tylko te, które z grubsza tworzą serie [1,5–2,0] ^ n. Liczby Fibonacciego są co prawda łatwiejsze do odtworzenia z głowy, ale narzędzia takie jak JIRA pozwalają na określenie dowolnego zestawu wartości.
KillerInsect,
5
Drugim punktem jest odległość między szacunkami. Im dłuższy czas szacujesz, tym mniejsza jest pewność. Między 3-5 a 5-7 to ta sama różnica, co oznacza tę samą pewność. Ale kiedy musisz wybrać między 8 a 13 (większa przerwa), zmusza cię to do sprawdzenia, na ile jesteś pewien.
Chris
@asmaier Myślę, że dzieje się tak dlatego, że liczby Fibonacciego są wykładnicze, gdzie liczby pierwsze są liniowe dla małej próbki, która jest zwykle używana podczas szacowania historii
icc97
17

Według tego zwinnego bloga

„ponieważ rosną mniej więcej w tym samym tempie, w jakim my, ludzie, możemy dostrzec znaczące zmiany wielkości”.

Tak, jasne. Myślę, że dzieje się tak dlatego, że dodają atmosfery legitymizacji (Fibonacci! Matematyka!) Do tego, co jest w istocie bardzo wysokopoziomowym, wczesnym etapem określania wielkości (nie określania zakresu) (które ma wartość).

Ale te same wyniki można uzyskać, używając rozmiaru koszulki ...

Ibrahim Bashir
źródło
1
Ta odpowiedź jest prawie dokładnie taka sama (odwołuje się do tego samego linku i tego samego cytatu), co odpowiedź z @kaj, która była dwa miesiące wcześniej.
icc97
1
Bardzo podobał mi się sposób, w jaki ta osoba to zacytowała. sprawił, że natychmiast zrozumiałem.
nishantbhardwaj2002,
15

Na pewno chcesz czegoś wykładniczego, abyś mógł wyrazić dowolną ilość czasu ze stałym względnym błędem. Precyzja Twojego oszacowania również jest prawdopodobnie proporcjonalna do Twojego oszacowania.

Więc chcesz czegoś: a) z liczbami całkowitymi b) wykładniczy c) łatwy

Dlaczego więc Fibonacciego zamiast 1 2 4 8? Domyślam się, że dzieje się tak dlatego, że fibonacci rośnie wolniej. Jest w goldratio ^ n, a goldratio = 1,61 ...

fulmicoton
źródło
3
„Również dokładność oszacowania jest prawdopodobnie proporcjonalna do oszacowania”. Czy jest to reguła w statystykach, czy jest to coś, co zwykle robią ludzie? Jeśli używasz liczb Fibonacciego, zakładasz, że względny błąd oszacowania wynosi około f (n-1) / f (n) = 1-goldenratio = 61%. Więc jeśli oszacować 5, ludzie zakładają, że implikuje to względny błąd około 3, więc znaczący wzrost złożoności wyniesie tylko 8 lub więcej. Jednak dlaczego przyjmuje się, że względny błąd wynosi około 60%? Czy to tylko praktyczna zasada?
asmaier
1
Odpowiadając na mój komentarz: Mike Cohn (listopad 2005). „Agile Estimating and Planning” mówi: „Badania wykazały, że najlepiej oceniamy rzeczy mieszczące się w jednym rzędzie wielkości (Miranda 2001; Saaty 1996)”.
asmaier
1
Miranda (2001): „Poprawa subiektywnych szacunków za pomocą porównań w parach” mówi: „Przeprowadziłam nieformalne badanie wśród kolegów; 30 osób z różnych krajów, zarówno z przemysłu, jak i ze środowisk akademickich dostarczyło danych wejściowych do skali. słowny opis w dziedzinie oprogramowania jest bliższy opisowi przedstawionemu w tabeli 3 niż opisowi Saaty'ego. " W tej tabeli widzimy, że coś jest nazywane „nieco większym”, jeśli stanowi 125% rozmiaru podstawowego, a nazywa się to „większym”, jeśli stanowi 175% rozmiaru podstawowego.
asmaier
1
Następna liczba Fibonacciego to 161% poprzedniej liczby Fibonacciego, więc mieści się ona pomiędzy „nieco większą” a „większą” w tabeli Mirandy. Wydaje się, że to nieformalne badanie jest przyczyną, dla której używamy liczb Fibonacciego, ponieważ ich stosunek jest bliższy temu, co mamy na myśli, gdy mówimy, że coś jest większe.
asmaier
@asmaier Myślę, że powinieneś dodać te komentarze jako osobną odpowiedź, są doskonałe, a może w powiązanym pytaniu PM.SE, ponieważ niestety jest ono zablokowane.
icc97
7

Ciąg Fibonacciego jest tylko jednym z kilku, które są używane w pokerze planowania projektów.

Trudno jest dokładnie oszacować duże jednostki pracy i łatwo jest ugrzęznąć w dyskusjach godzinowo-dniowych, jeśli liczby są zbyt „realistyczne”.

Podoba mi się wyjaśnienie na http://www.agilelearninglabs.com/2009/06/story-sizing-a-better-start-than-planning-poker/ , a mianowicie seria Fibonacciego reprezentuje zbiór liczb, które możemy intuicyjnie rozróżnić między nimi jako różne wielkości.

kaj
źródło
4

Używam Fibonacciego z kilku powodów:

  • Im większe zadanie, tym trudniej jest uchwycić szczegóły
  • Oszacowanie zadania to liczba godzin, w ciągu których każdy członek zespołu może wykonać zadanie
  • Nie każdy w zespole będzie miał taką samą ilość doświadczenia przy wykonywaniu określonego zadania, co również zwiększa niepewność
  • Człowiek jest zmęczony większym i potencjalnie bardziej złożonym zadaniem. Podczas gdy zadanie dwukrotnie bardziej złożone jest rozwiązywane dwukrotnie w czasie dla komputera, programiście może zająć trochę więcej czasu.

Kiedy sumujemy wszystkie niepewności, jesteśmy mniej pewni, jakie faktycznie powinny być godziny. Skończy się łatwiej, jeśli możemy po prostu ocenić, czy to zadanie jest większe / mniejsze niż inne, w przypadku którego oszacowaliśmy już. Kiedy zwiększamy rozmiar / złożoność zadania, efekt niepewności również się wzmacnia. Z radością oszacowałbym 13 godzin na zadanie, które wydaje się dwa razy większe niż to, które poprzednio szacowałem na 5 godzin.

Chris Chou
źródło