Neosidea Group | Sviluppo Soluzioni Web Torino

Il metodo Scrum

Che cos’è e perché applicarlo all’organizzazione aziendale

Il metodo Scrum

Il mondo che ci circonda è caotico e in costante cambiamento. Allo stesso modo, anche i modelli di gestione aziendale sono stati travolti negli ultimi 30 anni da importanti trasformazioni e si sono dovuti adattare alle nuove “turbolente” condizioni del mercato, caratterizzare da una grandissima competizione e da standard sempre più alti di produttività, velocità e qualità.

 

Proprio al fine di fornire supporto al management e alle organizzazioni in questo momento storico particolarmente complesso, sono state introdotte metodologie e tecniche evolute di coordinamento come le metodologie AGILI e, in particolare, il framework SCRUM.

 

Agile è una parola molto di moda ultimamente. Se ne sente parlare spesso, soprattutto per quanto riguarda lo sviluppo di software, ma in realtà il concetto di agilità è qualcosa di molto più esteso: rappresenta un approccio che mette a disposizione approcci, metodologie e pratiche mediante le quali la gestione aziendale viene alleggerita dalle pratiche pesanti e complesse e si frutta l’intera capacità dell’impresa per produrre un valore riconoscibile nel business.

Oggi, infatti, è sempre più evidente come una gestione dei progetti flessibile, snella (concetto che non a caso rimanda alla Lean production) e appunto “agile” sia di gran lunga preferibile ad una invece ferrea, rigida ed estremamente strutturata.

 

Scrum è il framework agile più diffuso, particolarmente indicato per processi complessi ed innovativi.

Si tratta di un framework agile di sviluppo nato nel software e oggi adattato per essere impiegato in tutti i processi che prevedono un forte apporto creativo (servizi, marketing, software, ecc.), concepito da Ken Schwaber e Jeff Sutherland per massimizzare la produttività adattando continuamente il prodotto alle esigenze mutevoli del business.

E’ un insieme di pratiche e strumenti che articola lo sviluppo del prodotto in Sprint iterativi, ovvero le unità di base dello sviluppo Scrum che sono time-boxed e durano in genere da 1 a 4 settimane. Ad ogni iterazione viene rilasciato un incremento di prodotto.

 

Per entrare nel vivo del metodo Scrum, è utile a questo punto partire dall’idea di prodotto.

Per crearlo riceviamo le specifiche necessarie dagli stakeholder, i cosiddetti “portatori di interesse”, ovvero tutti quei soggetti direttamente o indirettamente interessati alla realizzazione del prodotto stesso (cliente, utilizzatori finali, venditori, ecc…). In Scrum queste specifiche vengono raccolte e prendono il nome di User Story.

 

Tutte le User Story vengono definite ed organizzate nel Product Backlog, che è un’information radiator, un radiatore di informazioni che deve essere ben visibile a tutti e che ha la funzione di offrire informazioni immediate a tutti gli attori coinvolti.

 

Ma chi sono questi attori coinvolti?

L’applicazione del metodo Scrum richiede l’esistenza di 3 ruoli: Product Owner, Scrum Master e Development Team (o Dev.Team).

 

Il Product Owner è colui che rappresenta gli stakeholder e quindi si occupa di scrivere le User Story, assegnare loro la priorità e aggiungerle al Product Backlog prioritizzandole.

Ha il compito di assicurarsi che il prodotto sviluppato fornisca valore al business e che questo sia sempre orientato alla soddisfazione delle esigenze rappresentate nelle User Story.

 

Lo Scrum Master, invece, è responsabile della rimozione degli ostacoli e degli impedimenti che limitano la capacità del Dev.Team di raggiungere l’obiettivo dello Sprint e gli incrementi previsti (il prodotto finale di uno sprint è definito incremento).

Ricopre quindi un ruolo di supporto all’espressione del potenziale del Dev.Team, ma non è un team leader nel senso tradizionale del termine. Non è, infatti, una figura preposta all’assegnazione di compiti (task) al Team. Il suo apporto è espresso mediante il servant leadership e si limita a facilitare una corretta esecuzione del processo Scrum, spesso ponendo sfide continue alla squadra per migliorarla e portando all’attenzione del Dev.Team eventuali possibili miglioramenti (come tecniche e/o strumenti che il Dev.Team potrà valutare e scegliere).

 

Il Dev.Team, infine, è responsabile del rilascio di ogni incremento di prodotto e si occupa di effettuare il lavoro operativo necessario alla sua realizzazione (analisi, progettazione, sviluppo, test, comunicazione tecnica, documentazione, ecc…). Un elemento chiave di Scrum, presente in tutto l’approccio Agile, consiste nella responsabilizzazione dei membri della squadra sugli interessi del progetto per la presa in carico delle attività (o task), per questa ragione una delle pratiche incentivate e richieste in Scrum consiste nell’auto-organizzazione del Dev.Team.

 

Le metodologie agili seguono infatti un modello organizzativo PULL, in cui il Team si autogoverna per offrire la massima efficienza e quindi recepisce i compiti in autonomia.

 

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

 

Con l’applicazione del metodo Scrum avviene qualcosa di molto simile.

Dal Product Backlog vengono selezionate le User Story da compiere in un determinato Sprint (precedentemente priorizzate dal Product Owner) e, una volta stabilito ciò, il Team si occupa - con il supporto dello Scrum Master - di sviluppare le User Story che si è impegnato a consegnare.

Si procede in questo modo Sprint dopo Sprint e, arrivati al termine dell’ultimo, si ricomincia da capo tornando alla costruzione del Product Backlog. Scrum infatti è iterativo e basato sull’empirismo, ovvero sulla capacità ad ogni iterazione di migliorarsi attraverso la conoscenza acquisita nelle iterazioni precedenti.

 

I vantaggi di questo metodo sono innegabili e riguardano più soggetti.

Vediamoli brevemente:

 

Per l’azienda:
– rapidità di esecuzione
– riduzione degli sprechi di risorse
– migliore relazione con i clienti
– maggiore soddisfazione dei clienti finali

 

Per il Team:
– responsabilizzazione
– evidenza dell’efficacia del lavoro svolto
– empowerment

 

Per il Management:
– allineamento con il business più semplice
– pianificazione e monitoraggio più efficienti
– risoluzione immediata di eventuali problemi
– chiara panoramica dello stato complessivo del progetto
– opportunità di correggere ed ottimizzare le linee strategiche

 

Applicare il metodo Scrum all'organizzazione aziendale è quindi senza dubbio un'ottima idea.

Se vi state chiedendo come poter introdurre l’agilità nei vostri processi aziendali o come iniziare l’adozione di Scrum nei vostri team di lavoro, è facile: contattateci!