Metodologia Scrum: ecco come funziona!

Che cos’è Scrum? Scrum è una metodologia agile, incrementale e iterativa, per lo sviluppo di prodotti, applicazioni e progetti. È un framework, ovvero una modalità strutturata e pianificata, su cui è possibile costruire un sistema.

Inoltre Scrum è un processo empirico, ovvero basato sul concetto che la conoscenza derivi dall’esperienza e che le decisioni vadano prese alla luce di ciò che si conosce. I tre pilastri che sostengono l’empirismo sono: trasparenza, ispezione e adattamento.

Vediamo insieme come funziona Scrum a grandi linee, avremo tempo per scendere in dettagli più avanti.

Il gruppo di lavoro – Scrum Team

Nella metodologia Scrum, così come in tutte le metodologie agili, il team di sviluppo è cross-funzionale e auto organizzato. A differenza dei modi di lavorare tradizionali non esiste un Project Manager che ha autorità su tutto e decide tutto.

Non fraintendermi, non sto dicendo che i Project Manager sono da rottamare! I manager, che in Scrum hanno altri nomi, hanno un ruolo fondamentale quando si tratta di rimuovere ostacoli e impedimenti che esulano dai compiti del team; hanno inoltre la facoltà di influenzare e cambiare i piani qualora si rendesse necessario.

Quello che voglio dire è che se hai un team di persone in gamba e preparate, allora ha senso utilizzare il pieno potenziale di ciascuno entro i propri ambiti di competenza, condividendo le responsabilità. Il vantaggio è notevole se pensi che coinvolgendo più persone rimuovi il potenziale collo di bottiglia dell’avere una sola persona chiamata a visionare e prendere decisioni su tutti gli aspetti del progetto.

Si può dire che in un team Scrum esiste una leadership condivisa e essere leader vuol dire trovare il problema e mettere insieme le persone giuste per risolverlo. Chiunque nel team abbia la capacità di vedere un problema in anticipo, ha anche la possibilità di avere un ruolo da leader per la soluzione.

Se vuoi capire come è composto un team Scrum ti consiglio di leggere l’articolo: Il team Scrum e i ruoli.

Il ciclo di sviluppo – Sprint

Scrum struttura il proprio sviluppo in cicli chiamati Sprint che durano da una a quattro settimane, al termine dei quali il team di sviluppo rilascia funzionalità immediatamente testabili. I cicli sono timeboxed, il che significa che hanno durata fissa nel tempo, non possono essere estesi e terminano anche se il lavoro non è stato ultimato.

processo scrum

Pianificazione in Scrum

All’inizio di ogni Sprint, durante un evento chiamato Sprint Planning, il team seleziona i propri task da una lista di attività priorizzate (Product Backlog) e si impegna a completare tutte le attività selezionate entro il termine dello Sprint.

Il fine ultimo non è completare il maggior numero di attività possibile, ma produrre incrementi di software utilizzabili, raggiungendo lo Sprint Goal – ovvero l’obiettivo che si desidera ottenere durante l’iterazione. Questo obiettivo è concordato tra team di sviluppo e Product Owner.

È importante sottolineare come tutto ciò che viene pianificato all’inizio dell’iterazione è una specie di contratto e non viene cambiato in corsa. Lo scope, inteso come l’insieme di User Story necessarie a realizzare lo Sprint Goal, è fisso per tutta la durata del ciclo.

Esecuzione in Scrum

Il team si confronta quotidianamente mediante il Daily Stand-up o Daily Scrum Meeting, uno dei momenti più sottovalutati ma a mio avviso fondamentale al fine di ottenere una piena condivisione degli obiettivi e dei risultati.

Capita spesso che durante il daily standup vengano fuori idee, problemi e possibili dipendenze verso altri team (o fornitori). Se eseguita correttamente, questa cerimonia dura un massimo di quindici minuti; tutte le discussioni, come la soluzione degli eventuali problemi o impedimenti riscontrati va rimandata ad altre sedi.

Al termine dello Sprint il team rilascia ciò che è stato completato (Done), vale a dire tutto ciò che rispetta un elenco di requisiti predefiniti (Definition of Done). Per esempio, nel caso di una normale applicazione software potrebbe voler dire una funzionalità integrata, funzionante, testata e rilasciabile.

Conclusione di uno Sprint

Lo Sprint si conclude con due cerimonie fondamentali: lo Sprint Review e il Retrospective Meeting.

Lo Sprint Review è un meeting informale in cui il team valida il lavoro svolto insieme al Product Owner e a eventuali stakeholder. Il Retrospective Meeting, che in genere è svolto al termine del Review, serve al team per riflettere sullo Sprint appena concluso ed è un “luogo sicuro” dove ognuno può esprimere le proprie opinioni (in maniera costruttiva).

Entrambe queste cerimonie giocano un ruolo fondamentale e sono strettamente connesse a tutti e tre i pilastri dell’empirismo, in quanto promuovono trasparenza sul processo e sul lavoro svolto; ma anche ispezione e adattamento, attraverso un’analisi critica di ciò che ha funzionato durante l’iterazione appena conclusa e ciò che invece richiede miglioramenti.

Nei prossimi articoli andremo a vedere più in dettaglio tutti gli artefatti e le cerimonie di questo framework agile. Clicca qui per accedere alla categoria dedicata a Scrum.

Immagine di copertina rilasciata via Creative Commons da Enrique Fernández su Flick.

Lettura consigliata


simon-sinek-partire-dal-perche
Simon Sinek

Partire dal perché. Come tutti i grandi leader sanno ispirare collaboratori e clienti

Formati: Ebook e Copertina flessibile, 224 pagine
Editore: Independently published
Lingua: Italiano


Subscribe
Notificami
guest
0 Commenti
Inline Feedbacks
View all comments