Tecnica di stima del poker di pianificazione e punti storia
Paweł Hałabuda
La sfida delle stime imprecise
Le stime imprecise sono tra le sfide più diffuse nella gestione dei progetti. Quando si inizia un nuovo progetto IT, si vogliono sapere due cose: quanto tempo ci vorrà e quanto costerà. Per rispondere a queste domande, è necessario stimare i progetti che si stanno per realizzare. Non esiste una regola magica che dica che il progetto X richiede 12 settimane e costa $150.000. O che un sito web simile a Y richiede 10 settimane di sviluppo e costa $100.000.
Le domande chiave risolte in questo articolo
Cosa imparerete da questo articolo:
- Come si preparano i project manager alla stima dei costi nella gestione dei progetti?
- Quali tecniche di stima sono utili per la stima dei progetti?
- Come ci si prepara a stimare i costi con le formule?
L'importanza di una stima accurata
Non è possibile valutare le tempistiche o i costi di un progetto senza una stima accurata, anche se l'ambito del progetto è molto simile a quello già svolto in precedenza. Ma le cose peggiorano: la stima non fornirà mai una risposta accurata a queste domande. Allora, perché facciamo le stime? Perché è l'unico modo per fare ipotesi sulla tempistica e sul budget del progetto, sul carico di lavoro e sulle risorse necessarie per realizzarlo.
Vantaggi di una stima accurata
Stimando il progetto, sarete anche in grado di programmare i dipendenti con l'esperienza e le competenze giuste. Quello che potete fare è utilizzare metodologie e tecniche che vi consentano di stimare con la massima precisione possibile. Ecco come utilizzare la metodologia Agile e la tecnica Planning Poker per creare stime significative del vostro progetto.
L'origine del poker di pianificazione
Da dove viene il poker di Scrum (pianificazione)?
James Grenning ha sviluppato nel 2002 il poker di pianificazione noto per la sua strategia, chiamato Scrum poker. Nei primi anni '50, il suo metodo di stima, Wide band Delphi, richiedeva troppo tempo e presentava altre limitazioni. Nel caso di Grenning, il piano di poker riguardava originariamente la risoluzione di un problema in cui i giocatori erano troppo entusiasti ed eccessivamente concentrati per vincere. Mike Cohn, fondatore delle alleanze Agile e delle alleanze Scrum, ha successivamente utilizzato questa tecnica per un articolo intitolato Agile Estimation and Planning.
Passi per una stima accurata del progetto
Creare un elenco delle caratteristiche richieste
L'avvio di un progetto di successo dipende soprattutto dalla capacità di capire di cosa si tratta. Questo include:
- Comprendere le aspettative del cliente
- Comprendere gli obiettivi del progetto e il suo scopo principale.
- Creare un elenco delle caratteristiche richieste
Dopo aver esaminato il brief del cliente e aver ottenuto il maggior numero possibile di informazioni sui requisiti del progetto, potrete elencare tutte le caratteristiche e passarle al vostro team.
Sviluppare un catalogo prodotti
Per fare ciò, create un backlog del prodotto che consiste in tutte le caratteristiche da fare. In questo modo è possibile stabilire un ordine di priorità, valutare la loro complessità e stimare il tempo necessario per completarle. Un backlog di prodotto adeguato dovrebbe essere composto da:
- Storie dell'utente: descrivono le azioni che gli utenti possono compiere in ogni fase dell'utilizzo del prodotto.
- Criteri di accettazione: elencare gli elementi necessari per il completamento di una storia.
- Punti storia: stimare la quantità di lavoro, i rischi e la complessità in termini di punti relativi.
- Compiti per le storie utente - elencare i compiti necessari per realizzare una storia utente.
È fondamentale coinvolgere il team di sviluppo nella creazione e nella definizione delle priorità del backlog di prodotto per garantire valutazioni accurate e realistiche.
Priorità alle funzioni
Ordinamento delle funzioni per priorità
Una volta pronto l'elenco delle caratteristiche, assegnate la priorità a ciascuna di esse. Potete utilizzare il metodo di analisi MoSCoW per ordinarle come segue:
- Deve avere
- Avrebbe dovuto
- Avrebbe potuto
- Non avrà
Nello sviluppo di un progetto, concentratevi sulle cose che dovete consegnare in primo luogo. La creazione di un MVP vi dà la possibilità di testare le ipotesi sulla vostra idea prima di completare l'intero progetto, di mostrarlo alle parti interessate o agli utenti beta e di raccogliere feedback importanti per l'ulteriore sviluppo delle altre funzionalità.
Importanza dell'assegnazione della priorità
Assegnare una priorità può anche aiutare a stimare il progetto. Concentrandosi sulle caratteristiche principali e su quelle che devono essere realizzate per prime, si possono fare ipotesi più accurate sulla stima del loro completamento. Per le funzionalità "possibili", si può iniziare con una stima approssimativa, poiché si trovano più avanti nel processo di sviluppo e possono cambiare molte cose prima che il team le raggiunga (e se il team le raggiunge, poiché dopo aver raccolto il feedback sull'MVP si può cambiare e non includere tutte le funzionalità inizialmente previste).
Stima completa
È importante, tuttavia, stimare tutte le funzionalità, indipendentemente dalla loro priorità (tranne quelle che "non si avranno", ovviamente), perché si vuole avere una visione d'insieme dell'intero progetto in una volta sola. E man mano che si passa alle fasi successive del progetto, si può rivalutare l'ambito di lavoro, per assicurarsi che le stime rimangano accurate.
Tecniche di stima
Processo di stima dei punti storia
Ora che il backlog del prodotto è stato completato, è il momento di stimare ciascuno dei suoi elementi. Per farlo, utilizziamo gli story point. Si tratta di unità che i team Agile utilizzano per valutare il lavoro necessario per completare ogni elemento del backlog. I punti storia aiutano ad assegnare un valore relativo alle voci del backlog di prodotto. Non sono legati al tempo e possono avere valori diversi a seconda dei team, quindi non hanno un valore emotivo. Pertanto, è probabile che i membri del team non gonfino le stime solo per sicurezza. Il Poker di pianificazione aiuta i team di software a pianificare i flussi di lavoro e a migliorare i tassi di consegna dei progetti.
Utilizzando i punti storia, un team può stimare:
La quantità di lavoro da svolgere
Rischi e incertezze
Complessità
Utilizzo del Poker di pianificazione per la stima
Negoziare le stime con il Poker di pianificazione
La sessione di pianificazione è una delle tecniche di stima a livello lordo, che utilizza una versione modificata della sequenza di Fibonacci: 1, 2, 3, 5, 8, 13, 20, 40, 100. Per stimare le voci del backlog di prodotto, i membri del team ricevono gli stessi set di carte da poker per la pianificazione con i numeri. Quindi, dopo una breve introduzione dell'elemento del backlog di prodotto da parte del Product Owner (che non vota) e la discussione, scelgono privatamente la carta con il numero di punti storia che considerano rilevanti per la quantità di lavoro richiesto per completare l'elemento e li rivelano contemporaneamente.
Tecnica di stima basata sul consenso
Se i numeri differiscono, i membri del team discutono il motivo per cui hanno scelto una tale quantità di punti storia e poi votano di nuovo. Questo fa parte del processo di pianificazione del poker, un metodo di stima basato sul consenso utilizzato in Agile per stimare l'impegno per le storie degli utenti. I membri del team fanno così finché non raggiungono un consenso e poi passano all'elemento successivo del backlog del prodotto. Se il numero concordato è alto, ad esempio 20, 40 o più, significa che una storia potrebbe richiedere troppo lavoro per uno sprint e che potrebbe essere necessario suddividerla in attività più piccole. Idealmente, la presentazione dell'articolo, la discussione e la votazione dovrebbero durare circa due minuti, il che consente di stimare l'intero backlog in poco tempo. Tuttavia, poiché lo scopo è stimare l'intero backlog in una volta sola, prendetevi il tempo necessario e non preoccupatevi se alcune storie richiedono un po' più di tempo per essere valutate.
Valutare la velocità del team
Valutare la velocità del team
La velocità del team mostra il ritmo di sviluppo del progetto. Aiuta a capire due cose:
- La quantità di lavoro che il team è in grado di svolgere in uno sprint
- Qual è la data prevista per il completamento dell'intero ambito, supponendo che sia fisso
La velocità è diversa per ogni team. Si può valutare dopo le iterazioni iniziali, quando il team ha già lavorato su alcune caratteristiche. Ad esempio, se nella prima iterazione sono stati inseriti quattro elementi del product backlog per un totale di 20 punti storia e il team ne ha completati tre, pari a 15 punti storia, questa è la velocità attuale del team. Ricordate che contano solo gli elementi completati. Anche se sono riusciti a iniziare il quarto elemento ma non l'hanno terminato, non conta.
Lo scrum master svolge un ruolo cruciale nel facilitare il processo di stima e nel garantire valutazioni accurate durante queste sessioni.
Programmazione e budgeting
Come programmare un progetto particolare sui punti storia
Dopo aver negoziato i punti storia e valutato la velocità del team, siete in grado di determinare il calendario del progetto. Per farlo, sommate la velocità del team delle ultime tre iterazioni e dividetela per tre. Ad esempio, se la velocità di queste iterazioni è stata di 20, 23 e 17, la velocità media sarà di circa 20 punti. Se la quantità totale di lavoro è stata stimata in 100 punti storia, allora, con una velocità media di 20 punti, ci vorranno 5 iterazioni per completare il progetto. Supponendo che un'iterazione richieda due settimane, dovreste consegnare il progetto in 10 settimane.
Determinazione del budget
Formula per la stima dei costi del progetto
Per determinare il budget del vostro progetto, potete usare questa formula di base: (punti storia totali / velocità * ore del team per sprint) + costi non lavorativi = budget stimato. Avendo un numero totale di punti storia diviso per la velocità media, moltiplicate il numero di sprint per 40 ore settimanali per membro del team per ottenere il costo del lavoro. Poi si aggiungono i costi non lavorativi come i costi di capitale, i costi delle attrezzature, i costi di manutenzione, i costi di formazione, ecc. Per esempio, abbiamo un progetto stimato in 100 punti storia e la velocità media del nostro team è 20. Assegnando al progetto un team di 5 persone con tariffe orarie di $50, le ore del team per ogni sprint valgono $20.000 e $100.000 per 5 sprint. Con un ipotetico costo non lavorativo di $50.000, il budget stimato per il nostro progetto sarebbe di $150.000. Considerando gli intervalli di confidenza sui livelli esemplari di 80-120%, l'intervallo di budget riportato è ora compreso tra $120.000 e $180.000.
Rivalutazione per la precisione
Rivalutazione del progetto per ottenere una stima dei costi più accurata
Ricordate che nessuna stima è accurata al 100%. È meglio stimare di nuovo il progetto ogni poche iterazioni, perché le cose, come la disponibilità delle risorse, la velocità del team o l'ambito del progetto, possono cambiare nel tempo. Rivalutando il progetto, ci si assicura che la stima sia aggiornata. L'uso di un software per il monitoraggio del tempo e la pianificazione delle risorse vi aiuterà anche a gestire la disponibilità del vostro team e a riassegnarlo se necessario. Con le tecniche e gli strumenti giusti, potete rendere le vostre stime più affidabili e pianificare meglio il vostro prossimo progetto.
Conclusione
Una stima accurata del progetto è fondamentale per una gestione di successo. Comprendendo le aspettative e gli obiettivi, creando un backlog di prodotto dettagliato, dando priorità alle caratteristiche e utilizzando tecniche come i punti storia e il Poker di pianificazione, è possibile migliorare l'accuratezza delle stime. La ripetizione regolare delle stime e l'utilizzo di strumenti per il monitoraggio del tempo e la gestione delle risorse migliorano ulteriormente l'affidabilità delle tempistiche e dei budget del progetto. Seguendo queste pratiche, è possibile superare le difficoltà legate a stime imprecise e garantire risultati migliori del progetto.
Utilizzate con facilità la tecnica di stima Planning Poker
Verificate il motivo per cui il nostro software di gestione delle risorse viene scelto dai project manager di Hill-Knowlton o Stormind Games.
Il calendario delle risorse (o calendario di gestione del progetto, o calendario di pianificazione del progetto, software di pianificazione delle risorse) consente di pianificare, gestire e allocare le risorse in modo più efficace ed efficiente, soprattutto se Microsoft Excel ha avuto un ruolo...
Qual è l'obiettivo finale dei project manager? Portare a termine i progetti con successo. Gli stessi PM ammettono che questo non accade molto spesso: secondo l'ultima indagine Pulse of the Profession, meno di 60% dei progetti vengono completati...
La gestione della capacità è una strategia utilizzata dalle aziende per sfruttare al meglio l'efficienza produttiva rispetto alla domanda di un servizio o di un prodotto. L'obiettivo finale della gestione della capacità è quello di: Identificare e...