search Il media che reinventa l'impresa

Story points: la gestione del lavoro nella metodologia Scrum

Story points: la gestione del lavoro nella metodologia Scrum

Da Giorgia Frezza

Il 8 febbraio 2021

La stima del tempo è fondamentale per un'adeguata pianificazione del progetto e per una consegna di successo, ovvero nei tempi stabiliti. Pertanto, i manager e i loro team cercano in modo frenetico dei metodi per creare delle stime il più accurate possibile. Dedicano una parte importante del loro lavoro alla valutazione della quantità di tempo richiesta per concludere le task senza ritardi. Di solito formalizzano questa stima attraverso un valore fisso in ore, giorni o mesi.

Tuttavia, le ore non sono l'unica unità di misura possibile per calcolare e valutare le stime di progetto. Un'alternativa rispetto alla stima tradizionale del tempo e che incontra sempre di più il favore popolare, è l’estimation degli story points (la stima degli story points). Questo metodo di calcolo non è basato sull’individuazione della durata probabile del progetto. Invece, ha come scopo la valutazione dell'entità dello sforzo richiesto per portare a termine una task o un progetto nella sua interezza.

Ma se è la prima volta che incontrate questo termine, potreste non essere subito a vostro agio con questa tecnica innovativa. Non è un concetto intuitivo come la redazione e l’assegnazione delle task o il calcolo del tempo di lavoro richiesto per portare a termine un progetto.

Invece, se siete già degli esperti nell’utilizzo degli story points, potreste scoprire attraverso questo articolo che diversi team e organizzazioni usano strategie personalizzate differenti dalla vostra.

Appvizer oggi vi porta alla scoperta degli story points, spiegandovi cosa sono e perché sono così utili per i team agili. Vi mostreremo anche alcuni dei diversi modi in cui i team scrum li inseriscono all’interno della story mapping e nella pianificazione degli sprint.

Story points definizione

Gli story points sono un tassello fondamentale della story mapping, e la maggior parte dei team agili li applicano alla loro strategia di management per pianificare il loro carico di lavoro per ogni sprint o iterazione.

Gli story points sono un'unità di misura impiegata nell’agile project management (metodologia agile) e una colonna portante del processo di story mapping.

Sono utili per esprimere un calcolo approssimativo del carico di lavoro complessivo che sarà richiesto per implementare completamente un product backlog item.

Un numero o una cifra viene associato ad ogni story per valutare l’effort (l’energia, lo sforzo, il carico di lavoro) totale impiegato nel portare a termine una caratteristica o funzionalità di un prodotto o servizio.

Cosa inserire in uno story point?

Dato che gli story point rappresentano l’effort per portare a conclusione una user story, il calcolo di un team deve comprendere tutto ciò che può avere un’influenza su questa variabile. Questo comprende:

  • Amount :la quantità di lavoro da fare
  • Complexity :la complessità del lavoro
  • Risk :qualsiasi rischio o incertezza legata al lavoro

Quando calcolare gli story points

Gli story points vengono di solito stabiliti durante la creazione della story mapping.

Il momento di associare un numero agli story spont si verifica dopo che:

  • i product owners hanno stabilito le user story,
  • le hanno mappate nel dettaglio
  • le hanno messe in ordine di priorità

Il team collabora all’unisono per delineare gli story points per due ragioni principali:

  • ogni membro del gruppo gioca un ruolo differente in diverse story
  • ogni componente del team è a conoscenza delle task richieste in UX (user experience), design, sviluppo, test e lancio, e le relative subtask.

Bisogna assegnare gli story points ad ogni story prima di poter mettere in ordine queste ultime verticalmente in sprint, dato che i membri del team si troveranno ad affrontare delle scadenze per concludere le story assegnate ad ogni sprint.

Per questo motivo, bisogna valutare attentamente quanto lavoro e quanta energia sono contabilizzate in ogni story, in modo da permettere al team la consegna del lavoro nei tempi concordati.

Come calcolare gli story points

Per quantificare gli story points, bisogna tenere ben presente l’effort totale richiesta nella messa in atto di quella caratteristica o funzionalità che il cliente desidera aggiungere al suo product (prodotto o servizio) e che ne aumenterà il valore aggiunto.

Il vostro team dovrà porsi le domande seguenti:

  1. Quanto è complesso il lavoro?
  2. Quanto lavoro è richiesto?
  3. Quali sono le capacità tecniche del team?
  4. Quali sono i rischi?
  5. Quali parti sono di difficile comprensione?
  6. Quali sono i presupposti che ci servono prima di iniziare o finire?
  7. Quali potrebbero essere gli imprevisti?

Il processo di stima degli story points

Questo è il momento che creare sempre un po’ di titubanza perché gli story points possono diventare un po' confusionari, dato che non possiedono un valore universale univoco. Dovrete, quindi, stabilire il loro valore per voi e il vostro team.

Ecco come funziona il processo:

  • Ad ogni story viene associato un numero variabile di story points
  • Gli story points assumeranno un valore e un peso diverso a seconda del team o organizzazione
  • 1 story point per il vostro team potrebbe non essere equivalente all’effort richiesto in 1 story point per un altro team
  • L’effort impiegato in 1 story point dovrebbe mantenersi costante per il vostro team ad ogni sprint e dovrebbe essere sempre lo stesso da una story all’altra
  • 2 story points dovrebbero essere uguali al doppio dello sforzo rispetto a 1 story point. 3 story points dovrebbero corrispondere al triplo dello sforzo rispetto a 1 story point... e così a seguire
  • Il numero che assegnate è irrilevante - ciò che è importante è il rapporto o ratio. Gli story points dovrebbero servire a indicare l’effort relativo tra ogni story e ogni sprint.

story-points ©actiTime

Step 1: Come calcolare gli story points per la prima volta

Come abbiamo appena spiegato, gli story points sono delle misure variabili e relative. Tuttavia, è consigliabile mostrarvi alcune stime di base da utilizzare per la prima volta in cui vi toccherà quantificare gli story points. Questo vi servirà come linea guida per tutte le stories future.

Alcuni team preferisce servirsi della sequenza di Fibonacci (1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ecc.) per eseguire il calcolo degli story points, al posto di una sequenza lineare crescente (1, 2, 3, 4, 5, 6, 7, ecc.) o una scelta numerica casuale.

💡Quali sono i vantaggi della sequenza di Fibonacci?

Per esempio, se state studiando una story e cercate di fare una valutazione per decidere se assegnare a una story un 5, 8, o 13, è molto più veloce e più facile trovare una risposta che cercare di trovare il numero giusto tra, per esempio, 4-15. Per ottenere il consenso, il metodo di fibonacci risulta il più rapido.

Inoltre gli intervalli tra i numeri in questa sequenza sono più distanziati che nella scala lineare. Ciò significa che risulta differente delineare la differenza tra i valori assegnati alle differenti task.

Ma questo metodo possiede, comunque, degli svantaggi:

  • riduce la scala di opzioni a disposizione. Per esempio, se una story richiede uno sforzo superiore a 34, ma inferiore a 55, la stima non sarà così precisa.
  • sarà difficile fare la media degli story points. Dovrete, invece, accordarvi con i membri del team per arrivare a una stima a partire da un bacino ristretto di opzioni.

Step 2: Identificare le user stories o altri elementi rilevanti

In questa fase, il lavoro è semplice: bisogna stabilire quali sono i goal prefissati per la realizzazione del progetto:

  • sviluppare un nuovo strumento innovativo,
  • migliorare la funzionalità del vostro software,
  • migliorare l'infrastruttura dei processi interni, ecc.

Step 3: Selezionare i punti di riferimento

Per arrivare a creare delle stime più vicine alla realtà, le esperienze pregresse sono delle miniere di dati preziose.

Inoltre, è più semplice valutare le task quando si hanno a disposizione delle statistiche precedenti da comparare. Per questo motivo, se, in passato, avete portato a termine un progetto che presenta delle caratteristiche simili, potete studiare i dati registrati sulle sue prestazioni per creare dei nuovi calcoli.

Step 4: Identificare i rischi, la dimensione e la complessità dell'elemento o degli elementi di stima selezionati

Il volume di effort impiegato per la realizzazione del progetto è in relazione alla quantità di task incluse nel progetto, la loro complessità, così come il volume di rischi e incertezze che possono presentarsi sulla strada per il team. Perciò, in questo fase, bisogna:

  1. Stabilire la grandezza e l’estensione della user story selezionata, calcolando quante task e subtask devono essere completate per il completamento del progetto.
  2. Stimare il livello di difficoltà delle task. (Scrivere 100 messaggi standard di due frasi non richiede lo stesso effort che creare 10 schede di descrizioni tecniche complete. Anche se quest'ultimo contiene meno subtask del primo, molto probabilmente prevede un effort aggiuntivo per essere portato a termine).
  3. Stimare quanti più rischi e incertezze possibili. Non vi sono chiare tutte le richieste o le aspettative da parte del cliente? Una consegna in ritardo nelle forniture, un volume elevato di turnover dei dipendenti o un incidente di percorso potranno ripercuotersi negativamente sul vostro processo? Tutti i rischi e le incertezze rilevanti devono essere individuati e calcolati nella stima per il calcolo degli story points per avvicinarsi a dei risultati più accurati.

Step 5: Discutere e elaborare una valutazione

Una volta superata la fase precedente, la fase successiva consiste nel calcolare ogni task in base alla loro complessità, la loro ampiezza e i rischi associati.

Si arriva alla stima finale delle story points sempre tramite la discussione con il team e, spesso, mettendo in atto una tecnica di gamification conosciuta come Planning Poker o Scrum Poker.

Durante questo meeting:

  1. Tutti i membri del team studiano attentamente la user story selezionata e i relativi obiettivi del progetto.
  2. I membri del team fanno una stima anonima dell’ampiezza, della complessità e dei rischi di quella story (cioè la probabilità di verificarsi e il risvolto negativo), fornendo una cifra per ognuno di questi aspetti separatamente.
  3. Poi, ogni partecipante svela i valori finali scelti per ogni story points e, se combaciano, la cifra diventa ufficialmente la stima finale.
  4. Se i valori sono discordanti, ogni membro del team deve spiegare l’analisi che ha portato a una determinata scelta e, dopo la discussione, si effettua un secondo giro fino a quando non si raggiunge un consenso collettivo per la stima finale
  5. In seguito, si esegue la somma dei valori finali dei punti per l’ampiezza, la complessità e i rischi della story per ottenere la stima totale.

Step 6: Impostare le scadenze

Dopo che la valutazione degli story point è stata accettata, si può procedere alla stime del tempo che ogni utente impiegherà per portare a termine un singolo story points. In questo modo si potrà determinare il tempo totale per portare a termine il progetto.

Per esempio, a una task viene associato il valore totale di 100 punti story. Un membro esperto del team porterà a termine 1 story point in 2 ore, e uno meno abile - in 3 ore. Così, se le task sono ripartite equamente tra questi due membri del team, la stima può essere trasformata in ore come mostrato di seguito:

50 SP x 2 ore + 50 SP x 3 ore = 250 ore

Arrivati a determinare questa cifra, la scadenza della task è facilmente deducibile.

Usare i punti story per stimare la velocità del tuo team

Dopo un periodo di lavoro di gruppo, ogni team ha più o meno la misura del carico di lavoro che è collegato a ogni story points.

Infatti, gli story point si rivelano essenziali nella comprensione del lasso di tempo in cui il vostro team riesce a concludere uno sprint.

Per esempio, se il vostro team è in grado di concludere 3 story points al giorno, in uno sprint di due settimane riuscirà a portare a termine 30 story points. Questa è la vostra velocity (velocità di crociera).

La velocity è un dato importante per la story mapping e per lo sprint planning. Quando collegate le vostre user stories a uno sprint, sarà sufficiente verificare il totale di story points e vedere se combacia con la vostra velocity. Così il vostro team non sarà sottoposto a periodi di sovraccarico o di improduttività.

Story points VS Hours

Jeff Sutherland, il co autore della Scrum Guide nel suo articolo “why story points are better than hours” afferma:

Story points are therefore faster, better, and cheaper than hours and the highest performing teams completely abandon any hourly estimation as they view it as waste that just slows them down

Jeff Sutherland , why story points are better than hours

Come possiamo dedurre da questa affermazione, il grande vantaggio comparativo degli story points è l'accuratezza e l'efficacia, a parte alla loro flessibilità che consente di disegnare su misura gli sprint in base ai cambiamenti e delle modifiche sul product da parte del development team (team di sviluppo).

Per sfruttare al massimo il potenziale di questa tecnica, potrebbe essere consigliabile dedicare un po' di tempo per imparare e fare pratica. Vedrete sicuramente i frutti di questa decisione tattica.

Infatti, con l'aiuto della stima degli story points, riuscirete ad avere delle stime più accurate e meno rigide. Potrete inoltrare ricalibrare il vostro stile di project management a vantaggio dei membri del vostro team e del business nella sua totalità.