La regola per pianificare efficacemente uno Sprint con Scrum è avere chiari gli obiettivi: essi fungeranno da guida per gli sviluppatori per definire il numero di task completabili e le modalità di realizzazione.
Negli ultimi articoli riguardanti Scrum ti ho parlato della sua efficienza come framework per implementare la metodologia Agile e dei ruoli nello Scrum team. In essi ti ho anche spiegato che per Sprint si intende un lasso temporale con lunghezza variabile (a discrezione del team) durante il quale lo Scrum Team sviluppa un “pezzo di software" che verrà consegnato, al termine dello Sprint, in stato funzionante.
Per programmarlo in modo ottimale c'è bisogno di un meeting dello Scrum Team: tutti i suoi elementi hanno il compito di pianificare lo Sprint in modo collaborativo. La pianificazione ha una durata predeterminata (al massimo 8 ore per uno Sprint di un mese) e, in questo contesto, lo Scrum Master ha il compito di far sì che il team completi il piano nel tempo prestabilito; deve inoltre assicurarsi che i membri del team abbiano assimilato profondamente gli obiettivi dello Sprint e che sappiano rispondere alle seguenti domande: quante mansioni possono essere portate a termine durante lo Sprint? In che modo?
Definizione della quantità dei task che vengono portati a termine durante lo Sprint.
Il team di sviluppo appena formato dovrà fare uno sforzo per prevedere la quantità di funzionalità che sarà in grado di ultimare durante lo Sprint. Se invece il team è unito da maggior tempo, allora la quantità può essere stimata più precisamente.
Il Product Owner decide l'obiettivo dello Sprint e propone la quantità di oggetti del Product Backlog che dovranno essere conclusi con successo affinché tale obiettivo venga raggiunto. Allo stesso tempo il team ha la facoltà di intervenire per chiarire eventuali dubbi sul da farsi o per suggerire modifiche alla scaletta. È in ogni caso il team che detiene l'ultima parola sul numero di oggetti che sarà in grado di sviluppare durante lo Sprint: Product Owner e team cercheranno in ogni caso di trovare un accordo che si avvicini il più possibile alle necessità temporali del primo e alla capacità produttiva del secondo.
Dopo che il numero di funzionalità che verranno implementate è stato deciso, il team definirà un obiettivo ad hoc per il singolo Sprint: esso fungerà da oggetto motivazionale e da guida per il team nel perseguimento del risultato. Potrebbe trattarsi semplicemente della funzione che verrà implementata al termine dello Sprint: l'importante è che sia chiaro agli occhi degli sviluppatori e che li aiuti ad operare in sintonia, senza prendere iniziative divergenti. Grazie all'obiettivo, inoltre, il team sarà in grado di capire, in corso d'opera, se il lavoro sta dando i frutti desiderati: in caso contrario gli sviluppatori possono contattare il Product Owner per rinegoziare il tutto.
Definizione del modus operandi per finalizzare l'obiettivo.
Dopo aver definito la quantità, è tempo di pensare alla modalità di realizzazione.
L'unione tra gli oggetti del Product Backlog selezionati e la loro pianificazione nello Sprint prendono il nome di Sprint Backlog. Gli sviluppatori hanno ora il compito di prendere lo Sprint Backlog e “smembrarlo", spezzettarlo dividendo le mansioni in unità che spesso coincidono con la giornata lavorativa. In secondo luogo devono dividersi le funzionalità da implementare: si deciderà chi fa che cosa.
In questo modo, al termine del meeting, il team sarà capace di esporre al Product Owner e allo Scrum Master il modo in cui ciascuno sviluppatore lavorerà e si interfaccerà con gli altri al fine di produrre una porzione di software funzionante e raggiungere l'obiettivo prefissato.
A questo punto il team di sviluppo è pronto per iniziare la nuova avventura sapendo esattamente dove vuole arrivare.
Quanto sono importanti per te gli obiettivi? Nei tuoi progetti riesci sempre a definirli in modo chiaro? Faccelo sapere nei commenti!
Grazie per aver letto l'articolo.
Per maggiori informazioni contattaci qui oppure su Facebook o Twitter, dove potrai anche seguirci per rimanere aggiornato sui nostri articoli.