Cerca nel blog

sabato 21 gennaio 2012

cosa è Scrum

Cosa è Scrum

Scrum è una metodologia agile di sviluppo del software molto simile ad Extreme Programming. La metodologia prevede di dividere il progetto in blocchi rapidi di lavoro (Sprint) alla fine dei quali deve essere prodotta una versione funzionante al cliente equipaggiata con le funzionalità concordate prima dell'avvio dello Sprint con il Committente.
La metodologia fornisce indicazioni su come definire le funzionalità da sviluppare nell'immediato futuro (Backlog), su come organizzare riunioni giornaliere del team di sviluppo (Scrum Meeting) per verificare cosa si è fatto ieri e cosa si farà oggi.

Scrum è basato su un insieme di prassi accettate nel settore industriale, utilizzate e collaudate da decenni. Si tratta di una teoria di processo con base empirica. Scrum è stato impiegato per sviluppare prodotti complessi sin dai primi anni ’90. Scrum non è un processo o una tecnica bensì un framework all’interno del quale possiamo utilizzare vari processi e varie tecniche. Il ruolo di Scrum è quello di far emergere l’efficacia relativa delle pratiche di sviluppo adottate, in modo da poterle migliorare, fornendo nel contempo un framework adatto allo sviluppo di prodotti complessi. Scrum si basa sulla teoria dei controlli empirici di processo. Utilizza un metodo iterativo ed un approccio incrementale per ottimizzare la prevedibilità ed il controllo del rischio. Sono tre i pilastri che sostengono ogni implementazione del controllo empirico di processo.

La metodologia Il framework Scrum è costituito da una serie di Scrum Team e dai ruoli a essi associati; Time-Box, Artefatti e Regole. Gli Scrum Team sono concepiti per ottimizzare la flessibilità e la produttività. Proprio per questo sono autoorganizzati, cross-funzionali e lavorano basandosi su iterazioni. Ogni Scrum Team necessita di tre ruoli:
  • Scrum Master: responsabile del fatto che il processo venga compreso e seguito dal team;
  • Product Owner: responsabile di massimizzare il valore del lavoro che il Team Scrum esegue;
  • Team: fa il lavoro. Il Team è formato da sviluppatori, funzionali earchitetti con tutte le competenze necessarie per tradurre le richieste del Product Owner in una porzione potenzialmente rilasciabile di prodotto entro la fine dello Sprint.
Scrum impiega intervalli di tempo definiti (Time-Boxes) per creare regolarità.
Le attività fondamentali per la corretta applicazione della metodologia di sviluppo agile sono:
  • Release Planning Meeting
  • Sprint Planning Meeting
  • Sprint
  • Daily Scrum Meeting
  • Sprint Review
  • Sprint Retrospective
Punti di forza
  • Consente di lavorare in modo produttivo anche in situazioni particolarmente caotiche e confuse
  • È fortemente orientato ai risultati concreti, ed alla gestione del cambiamento
  • Porta ad un forte coinvolgimento del committente
  • Porta ad una assunzione di responsabilità del gruppo di lavoro
  • Favorisce la creazione di team coesi
  • Favorisce la condivisione della conoscenza all'interno del team
per approfondimenti potete visionare i seguenti siti:





  • mountaingoatsoftware
  • scrumalliance.org
  • scrum.org