Penso che le risposte di Frank ed Encaita coprano praticamente tutto, ma ci sono alcune cose aggiuntive da considerare:
Perché usare i punti trama
Lo scopo della stima con i punti della storia è quello di dare la relativa complessità dello sviluppo di funzionalità per la tua applicazione. Un modo semplice per pensarci è prendere una storia che hai nel prossimo sprint, ad esempio un cambio di url. Sai che questo è semplice in termini di complessità e ha chiaramente definito i criteri di accettazione, quindi tutto il team concorda sul fatto che anche con i test è un 1 (usando la scala Fibo).
La prossima storia da stimare è l'aggregazione di un insieme di dati utente e la visualizzazione di quello sul front-end. Ora come sviluppatore sai immediatamente che questo è molto più complesso rispetto alla modifica di un URL. Discuti la storia e i criteri di accettazione e hai molte domande e puoi vedere diverse potenziali soluzioni per farlo. Anche gli altri sviluppatori e il QA concordano che è molto complesso. Quindi siete tutti d'accordo sul fatto che si tratta di una storia di 34 punti. Vale la pena notare che la scala Fibo ti consente anche di indicare quanta fiducia hai nell'esimate - maggiore è il divario tra i numeri, minore è la fiducia che hai nella tua stima
A questo punto il tuo maestro Scrum dovrebbe saltare e dire che questo come una singola storia è troppo grande e deve essere suddiviso in storie più piccole di minore complessità. Puoi affrontarlo facendo ciò che sono noti come SPIKES - questo è solo un po 'di tempo dedicato a indagare su qualcosa. Quindi, per questo esempio, tu e gli altri sviluppatori concordate che volete 4 ore per discutere e studiare le possibili soluzioni tecniche.
Per farla breve, dividi quella grande storia in altre quattro storie di 5, 8, 8 e 13 punti. Non ricordate che queste stime sono tutte relative alla complessità relativa: non devono sommarsi alla stima originale e in più avete più informazioni ora per fare una stima più accurata.
Accetti quindi come squadra che per questo sprint mirerai a fare la storia di 13 punti, una storia di 8 punti più il cambiamento di url di 1 punto che hai già identificato. Quindi un totale di 22 punti. Al prossimo sprint ottieni 27 punti, al successivo sprint ottieni 18 punti. Dopo 3 sprint puoi iniziare a prendere confidenza con la tua velocità (la velocità è la quantità di lavoro che la tua squadra può fare in uno sprint). Per ottenere la velocità, prendi la media degli sprint precedenti. Quindi in questo esempio la media è (22 + 27 + 18) / 3 = 22.3, quindi arrotondala al più vicino sulla scala Fibo che è 21.
Ora, per il prossimo sprint, punta solo a fare 21 punti.
Non rimanere impaziente di ottenere la stima del punto della storia esattamente nel modo giusto - non è una scienza esatta. Sai che una modifica dell'URL è molto meno complessa dell'aggregazione dei dati, quindi votala di conseguenza.
Inoltre, discutere di queste cose come una squadra è positivo. Guarda le tue stime durante la revisione dello sprint e discuti se ne eri soddisfatto o meno e poi inseriscilo nella prossima sessione di pianificazione dello sprint.
La stima di tutto il team
L'intero team deve concordare una singola stima per ogni storia. Una funzione non viene eseguita fino a quando non è pronta per la produzione. Basta ottenere il codice scritto non è affatto fatto. Nella mia esperienza, i team Scrum sono stati molto più efficaci quando hanno lavorato in team. Fai un esempio del team con cui sto lavorando in questo momento. Quando mi sono unito, stavano facendo tutte le riunioni dello sprint e pianificando il poker, ma durante lo sprint il processo era 1. I BA / i proprietari dei prodotti definiscono i requisiti come storie con criteri di accettazione e test di accettazione 2. Consegnano questi requisiti allo sviluppatore che quindi scrive il codice 3. Lo sviluppatore ha unito il codice nel ramo di sviluppo affinché il controllo qualità possa testare 4. Il test di controllo qualità inizia quindi a porre domande e i test falliscono, quindi torna allo sviluppo.
Cosa manca qui? Non c'è abbastanza discussione in anticipo e ogni membro del team ha visto solo il proprio compito. Ora il BA / PO, gli sviluppatori e il QA si incontrano prima di scrivere qualsiasi codice per discutere dettagliatamente i requisiti e porre domande in anticipo, quindi continuare la discussione durante lo sprint. Questo è molto più efficiente e porta a soluzioni di qualità migliore.
Pianificare il poker aiuta questo processo perché costringe il team a discutere la caratteristica e concordare, come squadra, quanto sia complessa la consegna di quella funzione. Nello sviluppo di software tradizionale il Project Manager era responsabile della consegna del progetto, ma chiunque abbia esperienza di tale approccio sa che non funziona perché il più delle volte, le persone non si assumono la responsabilità per la loro parte nella consegna dell'applicazione. In Agile non dovresti avere bisogno di project manager perché il team si assume la responsabilità nel suo insieme per la consegna dell'applicazione.
Stima puntuale dei compiti
La mia opinione di aver lavorato con i team che stimano il tempo in compiti e team che fanno solo stimare i punti della storia è NON FARE PREVENTIVI! In realtà sono solo una perdita di tempo. Non sono accurati come i punti della storia perché sono specifici per gli individui, non per la squadra, e ogni individuo avrà un'idea diversa della stima del tempo (accendi la fiamma).
I punti della storia accettano che le cose, ad esempio i requisiti, cambiano continuamente, quindi è davvero necessario un indicatore di ciò che il team può completare in uno sprint.
Una volta che hai capito la velocità, puoi misurare i tuoi risultati in tempo perché sai cosa puoi fare in ogni sprint, ad esempio ogni due settimane sai quali funzionalità possono essere fornite. La tua scrum master e i proprietari dei prodotti dovrebbero avere sessioni di stima per guardare avanti agli sprint futuri, quindi puoi ottenere un indicatore di quanto lavoro farai nei prossimi mesi. Ciò consente ai proprietari di prodotti di prendere decisioni in ordine di priorità su quali funzionalità includere nell'applicazione finale.
Ho chiesto agli sviluppatori di stimare il tempo necessario per pianificare le attività, ma in realtà non sono d'accordo con questo approccio (in realtà non sono molto d'accordo con questo approccio) perché non è accurato, ad es. Cosa ci vorranno davvero per 4 ore: uno sviluppatore potrebbe includere solo il tempo sull'attività stessa, qualcun altro potrebbe aggiungere tempo per preparare tazze di tè!
Le stime dei tempi vengono sempre consegnate a qualcun altro a scopo di reportistica e sottolinea in modo eccessivo i singoli elementi della fornitura di una funzionalità rispetto all'intero sforzo del team.
La stima non è il problema più grande
A parte questo, capire la stima non è il problema più grande che penso che i team debbano risolvere. La cosa più importante è lavorare insieme come una squadra per fare le cose durante lo sprint, in modo da non consegnare tutto per i test dell'ultimo giorno. Vuoi vedere una serie costante di funzionalità durante lo sprint di 2 settimane. La dinamica del team che ho spiegato sopra è una grande parte di questo. La stima del punto della storia ti aiuterà a pianificare questo perché vedrai quali sono le grandi storie che devono essere scomposte in quelle più piccole che possono essere consegnate regolarmente ai test.