La stima delle storie si basa sul concetto che, con il tempo, una squadra guadagna esperienza nel risolverli. Con esso la precisione è migliorata e la velocità può essere stabilita per misurare la velocità di un team. Una metodologia perfetta per stabilire prognosi affidabili per gli sprint futuri.
I bug sono un dato di fatto per un'azienda di sviluppo software. Mentre sono d'accordo sul fatto che tutti i bug dovrebbero essere catturati durante lo sviluppo di una storia, accettare che ciò non possa essere raggiunto in ogni momento, dovrebbe essere qualcosa che ogni squadra dovrebbe pianificare. Invece di pensare ostinatamente che il processo debba governare la squadra, dovrebbe essere il contrario.
Ovviamente, bug o storia, dal punto di vista commerciale non importa ciò che la squadra sta affrontando. Entrambi possono produrre una quantità uguale di valore per il proprietario del prodotto.
Nel nostro team abbiamo sperimentato alcune tecniche per stimare i bug:
- Stima di bug completamente sconosciuti
- Stima solo dei bug che sono stati già analizzati
- Tempo di allocazione dei bug per la correzione dei bug e non stima dei bug, ma li classifica invece esclusivamente in base al valore aziendale
Con 1. abbiamo fallito miseramente. Per la maggior parte dei bug abbiamo trovato che il 90% del tempo è dedicato all'analisi dei bug. Dopo di ciò la correzione del bug può essere stimata allo stesso modo di una storia. Pianificando i bug in uno sprint, abbiamo commesso l'errore che lo scope sconosciuto ha influito sulla risoluzione della storia fino al punto in cui quasi tutti gli sprint in questo modo non sono riusciti.
Sulla base dell'opzione tecnica di stima del rapporto 90/10 (analisi per il bug fixing) 2. significava che dovevamo pianificare un'analisi che non era coperta dalla pianificazione degli sprint (avevamo imparato dall'opzione 1, ma avevamo nessuna vera soluzione su come andare avanti con i bug analizzati). Il risultato è stato che l'analisi dei bug non è stata eseguita poiché uno sprint si è concentrato sugli elementi pianificati. Il team non ha avuto il tempo di concentrarsi sui bug del backlog. Quindi alla fine non sono stati nemmeno fatti.
Abbracciando l'incertezza, abbiamo optato per l'opzione 3. Abbiamo suddiviso il product backlog in una storia normale / una parte di attività che può essere stimata dal team usando i punti storia e un backlog degli errori. Nel backlog degli errori, il proprietario del prodotto classifica i bug in base al valore aziendale e al giudizio del team molto approssimativo. Il team consente di allocare una parte del tempo durante uno sprint che può essere speso per concentrarsi sui bug. Il proprietario del prodotto non conosce il risultato esatto in quanto non è stato possibile pianificarlo prima. Il rapporto tra il backlog dei bug e il normale backlog può essere regolato per ogni sprint a seconda dello stato corrente di ciascun backlog e dell'importanza e del valore commerciale del contenuto.
Togliendo l'incertezza ha liberato di nuovo la squadra. Gli sprint non sono stati compromessi da errori sconosciuti. Separando i bug in un backlog diverso, abbiamo aumentato sia il focus regolare del team che lo sprint e ci hanno fatto finire bug che contenevano anche un significativo valore di business.
Quindi dipende se i punti della trama sono adatti a te. Proverò a stimare i bug usando prima i punti storia. Se fallisce, prova la mia opzione 3. Ha fatto in modo che il nostro team (più di 30 anni) si concentri sui bug più vecchi che contengono un grande valore aziendale. Ci ha anche liberato dal cercare di offrire qualcosa che il team non può semplicemente stimare. Stava abbracciando l'ignoto che ci ha avvicinato alla realtà e ha anche reso i nostri sprint di nuovo riusciti mentre consegnando un grosso pezzo (basato sul rapporto bug-storia) del valore aziendale attraverso correzioni di bug. Il rapporto che abbiamo usato di recente era 50/50.