Perchè le stime in Agile sono effettuate con la sequenza di Fibonacci?
Quando in Agile consideriamo una Storia complessa ci suggerisce di spezzarla in due Storie più semplici.
Vediamo le possibili soluzioni nella suddivisione di una Storia in altre due storie semplici?
Consideriamo il caso di una Storia stimata 13.
1) Una prima soluzione è di suddividerla in due storie con eguale peso, e quindi dovrei identificare chiaramente altre due Storie più semplici con stima ciascuna pari a 6,5.
Ma come si fa a dividere con precisione una Storia in altre due Storie con complessità uguale?
Semplice questa soluzione non esiste.
2) Allora dobbiamo trovare un metodo che va oltre la semplice divisione per due della stima di una Storia.
Una possibile soluzione, è di suddividere una Storia a) in una storia che b) vale meno della metà ed un'altra c) che vale più della metà.
In nostro aiuto viene la sequenza di Fibonacci che ci costringe a pensare che nella serie non esiste una stima pari a 6,5 (stima iniziale 13) oppure pari a 4 (stima iniziale pari a 8).
Nella sequenza di Fibonacci la Storia da 13 viene suddivisa in una b) che vale meno della metà (5) ed una c) che vale più della metà (8).
Ma la caratteristica unica della serie di Fibonacci è che se prendo il numero di Fibonacci 13 e lo dividiamo per due otteniamo 6,5 ed è un numero equidistante dai due precedenti numeri di Fibonacci 5 ed 8.
Esempi di equidistanza delle sottostime:
Stima iniziale 5: (2) 2.5 (3)
Stima iniziale 8: (3) 4 (5)
Stima iniziale 13: (5) 6.5 (8)
Stima iniziale 21: (8) 10.5 (13)
Stima iniziale 34: (13) 17 (21)
Quindi l'impossibilità di suddividere una Storia in altre due Storie con stima dimezzata viene superata grazie alla equidistanza data dai numeri di Fibonacci.
Questo modello continua per tutta la sequenza della Serie di fibonacci.
Fibonacci richiede sempre che tu decida se qualcosa è più della metà o meno della metà.
Questo è il miglior metodo per stimare le Storie in Agile.
Executive MBA; PMO, Innovation Project-Program-Portfolio Manager, PMP; Diversity&Inclusion Ambassador
1 annoGrazie, cercavo un approfondimento sul tema Fibonacci Cost Estimating. Molto chiaro. Pur consci che comunque tagliare una storia è complesso. Fibonacci identificando il numero equidistante in surplus su un numero ed il minus sull’altro in Spagna è un modo efficace per bilanciare le stime siano essi ottimistiche o pessimistiche. Sarei curioso di vedere l’efficacia delle stime rispetto i consuntivi fatti con questa metodologia se risulta più precisa rispetto alle altre tecniche di cost engineering correntemente impiegate
Senior Software Engineer - Agile Development - Data Analyst and Senior Java Developer at Cerved Group Spa
7 anniIo credo che dopo un certo numero di Sprint si può anche ricavare la mappatura fra Story Point ed giorni uomo necessari per stimare i costi di un Progetto. Questo valore è valido per il team e per i progetti che stanno realizzando e non è un dato assoluto, infatti varia team semplicemente per il fatto che la Velocity è relativa ad uno specifico Team su un dato progetto.
Grazie Carla! Ma meglio stimare in ore o story points?
Senior Software Engineer - Agile Development - Data Analyst and Senior Java Developer at Cerved Group Spa
7 anniAggiungo che una delle critiche a Fibonacci è che, non essendo lineare, si potrebbe tendere verso una stima che facilmente porta a divergere i costi del progetto. In realtà ci sono studi seri che dimostrano esattamente il contrario: le stime fatte con la serie di Fibonacci tendono a essere più conservative e più predittive. Qui trovate uno di questi studi. https://www.simula.no/publications/does-use-fibonacci-numbers-planning-poker-affect-effort-estimates
Docente IA, Java, Spring, Hibernate, JPA, Angular, React, ...; Database: Oracle, Mongo DB, Cassandra, ...;
7 anniMi sembra troppo vincolante. Perché se ho una storia di peso 13 non posso dividerla in due da 6 e 7 anziché due da 5 e 8? entrambe le soluzioni garantiscono equidistanza da 6,5. Dovrebbe dipendere solo dalla stima della complessità delle due storie. Inoltre perché devono essere equidistanti? Va bene anche 10 e 3, dovrebbe dipendere solo dalle due attività che si riesce ad individuare.