Scrum

Da Wikipedia, l'enciclopedia libera.
Vai a: navigazione, cerca

Lo scrum (in italiano: Mischia) è una metodologia agile di sviluppo del software, ideata e sviluppata da Ken Schwaber e Mike Beedle ed oggi distribuita da Advanced Development Methods. Si basa su tre semplici punti: Sprint, Backlog e Scrum Meeting.

Molto simile ad Extreme Programming prevede di dividere il progetto in blocchi rapidi di lavoro (Sprint) alla fine dei quali consegnare una versione al cliente, indica come definire i dettagli del lavoro da fare nell'immediato futuro (Backlog) per averne una definizione estesa, organizza riunioni giornaliere del team di sviluppo (Scrum Meeting) per verificare cosa si è fatto e cosa si farà.

Il termine Scrum è mutuato dal termine del Rugby che indica il pacchetto di mischia ed è evidentemente una metafora del team di sviluppo che deve lavorare insieme in modo che tutti gli attori del progetto spingano nella stessa direzione, agendo come un'unica entità coordinata.

Esiste una community molto attiva che si occupa di Scrum che sviluppa tutto quello che può servire su Scrum, dalle basi ai case study, dalla bibliografia agli esempi, ovviamente aggiornato per quanto più è possibile.

Indice

[modifica] Pratiche

È in corso una discussione sulle responsabilità e le dinamiche interne di un team moderata da Jeff Sutherland e nata prendendo spunto dalla riflessione di Ken Schwaber sulla differenza fra l’essere implicati in un progetto o l’esservi coinvolti. Questa nasce da una storiella americana, in cui polli e maiali si mettono in società per produrre e vendere un piatto comune ("eggs and ham" cioè uova e prosciutto). Ma il business incappa subito in una discussione fra i soci, in quanto i maiali fanno rilevare ai polli che, mentre questi sono solo coinvolti, loro stessi si sentono invece completamente implicati. Da qui nasce la divisione fra pigs (elementi del team, implicati a fondo nel progetto) e chicken (tutti gli altri, più o meno coinvolti, ma mai quanto il team).

Questa discussione, ad oggi, ha permesso di ottenere una lista di verifiche, riassumibili in tre domande, da effettuare per sapere se il proprio Scrum team è ben formato:

  • C'è qualcuno di cui è difficile sbarazzarsi? Male, ne risentirà la produttività.
  • Il team lavora per riorganizzarsi o per eliminare queste persone? Bene, allora si lavora nel verso giusto: il sistema immunitario del gruppo funziona.
  • Se ci sono manager, hanno anche loro compiti assegnati dal team Scrum? Bene, il team funziona autonomamente.

[modifica] Sprint

Lo sprint è un'unità di base dello sviluppo in Scrum, dura generalmente da una a quattro settimane ed è preceduta da una riunione di pianificazione in cui vengono identificati gli obbiettivi e vengono stimati i tempi. Durante uno sprint non è permesso cambiare gli obiettivi, quindi le modifiche sono sospese fino alla prossima riunione di pianificazione in cui potranno essere inserite nel prossimo sprint

Al termine di ogni sprint il team di sviluppo consegna una versione potenzialmente completa e funzionante, contenente gli avanzamenti decisi nella riunione di pianificazione dello sprint, inoltre si tiene un meeting di valutazione dei risultati in cui si analizzano i progressi e si identificano i margini di miglioramento.

Il punto chiave della metodologia è la consapevolezza che il cliente può cambiare idea in corso di sviluppo riguardo alle necessità del progetto, e che queste modifiche non sono facilmente gestibili in una pianificazione tradizionale, Scrum permette quindi di rivedere il documento al termine di ogni sprint e inserire le eventuali modifiche emerse nel prossimo sprint.

Come altre metodologie Agile, Scrum può essere implementato con una serie di strumenti differenti, molte compagnie usano strumenti come i foglie elettronici per creare e gestire i backlog, esistono anche diversi software open-source e software proprietari per la gestione dei prodotti gestiti con Scrum.

[modifica] Voci correlate

[modifica] Altri progetti

[modifica] Collegamenti esterni

Strumenti personali
Namespace

Varianti
Azioni
Navigazione
Comunità
Stampa/esporta
Strumenti
Altre lingue