La metodologia SCRUM è un framework che viene utilizzato all’interno di team che gestiscono progetti complessi. In altre parole, è una metodologia di lavoro Agile che mira a fornire valore.
Si basa su tre pilastri: trasparenza, ispezione e adattamento. SCRUM è un approccio basato sulla teoria del controllo empirico dei processi: le decisioni vengono prese sulla base dell’esperienza (empirismo).
Essendo inquadrato all’interno di metodologie agili , Scrum si basa su aspetti quali:
I pilastri o le caratteristiche più importanti della metodologia Scrum sono 3:
Sono 3 ruoli i ruoli più importanti del metodo SCRUM:
Lo sviluppo ciclico si realizza in diversi sprint. Si definisce sprint un’unità di base dello sviluppo in Scrum ed è di durata fissa, generalmente da una a quattro settimane. Ogni Sprint è preceduto da una riunione di pianificazione in cui vengono identificati gli obiettivi e vengono stimati i tempi di sviluppo.
1. Sprint
Lo sprint è il cuore dello Scrum, perché è l’epicentro. Tutto ciò che accade per dare valore è all’interno di uno sprint. La durata massima è di un mese, ma il tempo è determinato in base a quanto il cliente comunica con il team. Avere degli sprint lunghi può causare la perdita di feedback preziosi da parte sua e mettere in pericolo il progetto.
2. Sprint planning
Lo Sprint Planning è una riunione dove l’intero team Scrum definisce i compiti da completare e l’obiettivo dello sprint. Il primo incontro per uno sprint di un mese può finire per durare otto ore.
La definizione di ciò che sarà fatto implica che il team abbia un obiettivo e sia coinvolto nel fornire il risultato che sarà dato al cliente alla fine dello sprint. Questo obiettivo è definito sprint goal.
Il risultato di questa riunione sono lo sprint goal e lo sprint backlog (che verrà trattato più avanti).
3. Daily meeting
È una riunione quotidiana all’interno dello sprint che dura al massimo 15 minuti. Ad essa devono partecipare obbligatoriamente il team di sviluppo e lo Scrum Master. Il Product Owner invece non ha bisogno di essere presente. Il Daily meeting è il momento migliore per verificare il lavoro e potersi adattare in caso di cambiamenti.
4. Sprint review
La review alla fine di ogni sprint serve per controllare i risultati da presentare al cliente. La sua durata è di 4 ore per gli sprint mensili, ed è l’unica riunione di Scrum a cui il cliente può assistere. In essa il Product Owner presenta ciò che è stato sviluppato e il team di sviluppo ne mostra il funzionamento. Il cliente approva le modifiche apportate e fornisce anche feedback su nuove attività che il Product Owner dovrà aggiungere al Product backlog.
5. Sprint retrospective
La retrospettiva è l’ultimo “rituale” della metodologia Scrum: ha una durata di 3 ore per gli Sprint di un mese, ed è la riunione del team in cui si effettua una valutazione di come la metodologia sia stata implementata nell’ultimo sprint.
È una grande opportunità per il team Scrum di autovalutarsi, proponendo miglioramenti da implementare nello sprint successivo.
Product Backlog
Il Product Backlog è la lista ordinata di tutti gli elementi che servono nel prodotto. Elenca caratteristiche, funzioni, requisiti, miglioramenti e correzioni che costituiscono le modifiche da apportare alle versioni future del prodotto. Viene creato dal Product Owner, che è il responsabile dell’individuazione degli elementi (Product Backlog Items) e del loro ordine: stabilisce infatti la priorità con cui il Team di Sviluppo dovrà lavorarci.
Sprint Backlog
Lo Sprint Backlog è l’insieme degli elementi del Product Backlog che sono stati selezionati per essere completati in una iterazione. È anche una previsione del Team di Sviluppo su quanto verrà prodotto alla fine dello Sprint.
Rende evidente a tutti gli Sviluppatori il lavoro che deve essere fatto per raggiungere l’obiettivo dell’iterazione (lo Sprint Goal). Lo Sprint Backlog è in continua evoluzione: tiene traccia del lavoro svolto giornalmente, delle attività completate e di quanto rimane da fare. Solo il Team di Sviluppo può intervenire sullo Sprint Backlog, anche aggiungendo o eliminando task.
Incremento
L’Incremento è la somma di tutte le funzionalità completate in uno Sprint, insieme a quelle già completate negli Sprint precedenti.
Scrum rimane un metodo facile da imparare, velocizza i processi e limita gli imprevisti perché il cliente è sempre allineato allo status del progetto.
Vuoi saperne di più? Scuola di Palo Alto ha un corso molto completo sulla metodologia SCRUM ed un webinar molto interessante all’interno dell’offerta elearning dell’Academy.