Pianificare uno sprint in SCRUM

pianificazione sprintPianificare uno Sprint (iterazione) è un passaggio fondamentale di SCRUM.

Tutte le metodologie agili fanno un ricorso limitato alla pianificazione complessiva di un progetto ma pongono invece molta attenzione a definire un piano per ciascuna iterazione in cui si articola il progetto.

A tal fine, lo Scrum Master deve organizzare un confronto (brainstorming) tra tutti i soggetti coinvolti: dall’analista allo sviluppatore, da chi eseguirà i test al Product Owner.

Lo scopo di questo incontro (Sprint Planning Meeting) è appunto stilare un piano, e la prima cosa da fare è stabilire un obiettivo specifico ed una durata per lo sprint stesso.

L’incontro può durare al massimo 8 ore, per uno Sprint di 4 settimane.

Per quanto riguarda l’obiettivo dello Sprint, occorre far riferimento alla roadmap ed al product backlog individuando ciò che deve essere ancora fatto per sviluppare le user stories e funzionalità in esso censite compatibilmente con il tempo a disposizione.

Per quanto riguarda la durata massima di uno Sprint, le linee guida di Scrum suggeriscono 4 settimane, ma questo è uno dei punti più altamente personalizzabili da parte del team perché dipende molto dal livello di esperienza e maturità del team nella gestione agile dei progetti.

Un team già avviato con processi interni di planning, testing e deployment già ben consolidati troverà la durata di 4 settimane probabilmente troppo lunga.

Viceversa, un team ancora immaturo avrà bisogno di tutto il tempo necessario per prendere confidenza con la metodologia e gestire le diverse fasi di sviluppo e iterazione.

La durata dello sprint è comunque una decisione che va presa insieme in modo collegiale.

La chiave di lettura è da ricercare in un compromesso tra le aspettative della committenza ed il tempo necessario a sviluppare le user stories che si è deciso di includere nello Sprint sulla base dell’obiettivo che si vuole raggiungere attraverso lo Sprint.

La durata potrà essere stimata attribuendo punteggi alle user stories (story point) proporzionali al tempo necessario per svilupparle.

Comunque si può ritenere accettabile una durata dello Sprint di 1-2-3-4 settimane.

L’importante è che, una volta che una durata è stata assegnata allo Sprint, essa sia poi mantenuta fissa in una logica di Timeboxing.

In questo modo è possibile pianificare uno sprint in Scrum:

  • dando ritmo al lavoro;
  • definendo i criteri ed i riferimenti per misurare la velocità del team nel portare avanti il lavoro;
  • costruendo un clima di certezza organizzativa.

Obiettivi della riunione di pianificazione dello Sprint

  1. Concordare con il team ed il Product Owner l’ambito che deve essere sviluppato nello sprint.
  2. Dettagliare e scomporre i requisiti in attività di sviluppo e distribuirle in modo appropriato all’interno del team.
  3. Analizzare la capacità produttiva e la velocità di sviluppo del team e adeguare in base ad esse l’ambito dello sprint.
  4. Acquisire l’impegno del team a completare il lavoro.
  5. Creare lo Sprint Backlog.
  6. Creare una Kanban board in cui saranno inseriti i requisiti dello sprint (user stories e funzionalità) e le attività necessarie per la loro implementazione.

Ruoli coinvolti nel pianificare uno Sprint

Il Product Owner:

  1. Riassume gli obiettivi dello sprint.
  2. Riassume i principali requisiti che devono essere sviluppati nello sprint.
  3. Avvia la successiva discussione su requisiti e criteri di accettazione.
  4. Si assicura che lo sviluppo dei requisiti sia alla portata del team.
  5. Aggiorna le priorità dei requisiti in base alle informazioni raccolte dal team.
  6. Verifica l’impegno del team a svolgere il lavoro.

Lo Scrum Master:

  1. Organizza l’incontro per pianificare lo Sprint, invita le persone necessarie, prepara l’agenda dell’incontro e l’ambiente per l’incontro.
  2. Prepara la scheda Kanban e i post-it necessari se non vengono utilizzati software specifici per la gestione del Kanban e dello Sprint.
  3. Chiarisce le metriche ed i criteri per la misurazione delle performance in modo da assicurare velocità e ritmo al lavoro.
  4. Modera la riunione di pianificazione e si prende cura dei tempi.

Il Team di sviluppo:

  1. Suddivide i requisiti (user stories e funzionalità) in attività di sviluppo (durata massima di 1 giorno).
  2. Effettua le stime (attribuzione di story point).
  3. Identifica le dipendenze e i colli di bottiglia.
  4. Aggiorna l’ambito totale dello sprint in base alla capacità produttiva, alle dipendenze e ai colli di bottiglia.
  5. Si impegna a svolgere il lavoro pianificato.
  6. Completa la scheda Kanban sulla base delle decisioni prese nella riunione.

Risultati della pianificazione dello Sprint

  1. Lo Sprint Backlog è stato creato e popolato con le funzionalità da sviluppare nello Sprint.
  2. La scheda Kanban è pronta e può essere resa disponibile per tutti.
  3. Il lavoro ed il tempo necessari sono impegnati, le dipendenze identificate.
  4. Tutti gli stakeholder vengono informati dell’ambito dello sprint pianificato.
  5. È stata valutata la capacità produttiva del team.