Scrum

Scrum offre un framework per organizzare progetti agili e fornire visibilità esterna su ciò che sta accadendo, ossia si occupa dell'organizzazione del lavoro e della gestione dei progetti.

Scum è un approccio iterativo ed incrementale, ciascuna iterazione ha una durata fissata denominata Sprint e non viene mai estesa.

Sono presenti tre ruoli:

  • Product Owner, definisce le caratteristiche del prodotto software da realizzare e specifica le priorità tra queste caratteristiche attraverso il Product Backlog (un elenco di voci, funzionalità e requisiti)
  • Development Team: possiedono le competenze necessarie allo sviluppo del software
  • Scrum Master: aiuta l'intero gruppo ad apprendere e ad applicare Scrum, al fine di ottenere il risultato desiderato, non è il manager del Development Team piuttosto un istruttore e una guida

All'inizio del progetto, il Product Backlog descrive tutte le caratteristiche del prodotto, di iterazione in iterazione, questo elaborato viene aggiornato e descrive le cose che devono essere ancora fatte.
Il development team, selezione dal Product Backlog un insieme di voci da sviluppare durante quell'iterazione (Sprint Goal), compila lo Sprint Backlog, ovvero i compiti dettagliati per completare l'obiettivo (Sprint Goal) di quella iterazione (Sprint).
Il risultato di ciascuno sprint deve essere un prodotto software funzionante chiamato "incremento di prodotto potenzialmente rilasciabile". Deve essere integrato, verificato, documentato per l'utente finale.

Nella Sprint Review, il Product Owner e il Development Team presentano alle diverse parti interessate l'incremento di prodotto, ne fanno la dimostrazione, ottengono un feedback e decidono cosa è utile fare nel successivo Sprint.
Pasted image 20230301122436.png

La caratteristica distintiva di Scrum: tra i metodi agili è l'enfasi sull'adozione di team auto-organizzati e auto-gestiti. Inoltre, Scrum è basato su un insieme di elaborati ed eventi che hanno lo scopo di rendere visibili gli obiettivi e il progetto delle iterazioni e di favorire un adattamento evolutivo del processo di sviluppo.