Scrum101: Metodi agili per gestire i progetti complessi

La gestione di progetti complessi e soggetti a condizioni che cambiano, è una sfida importante della gestione aziendale del nostro tempo: ci sono molti strumenti efficaci. Vediamo come questi strumenti possono aiutarci a vincerla.

Dove e quando nasce Scrum?

Scrum è un framework, in Italiano una “metodologia di lavoro”, cioè un insieme di pratiche e procedure volte ad aumentare le possibilità di riuscita di progetti complessi.

Rientra nel più ampio campo delle metodologie “Agile”, diffuse nel mondo digitale e basate su velocità di esecuzione, flessibilità e adattamento ai cambiamenti. In questo ambito Scrum è generalmente considerata la definizione di Agile più diffusa.

Queste metodologie (e successivamente Scrum) nascono nel contesto dello sviluppo software, come soluzione ad una serie di problemi causati dall’approccio tradizionale (detto anche “Waterfall”- a cascata).

Infatti i progetti sviluppati negli anni ‘90 per soluzioni digitali avevano percentuali di successo inaccettabili per gli standard odierni: solo il 10-20% dei progetti soddisfaceva i requisiti (definiti da una combinazione di fattori quali: consegna in tempo, completezza del prodotto e rispetto del budget).

Cambiare per vincere

Quindi, almeno l’80% delle risorse andava sprecato. Un costo altissimo che richiedeva un cambiamento di approccio: il paradigma tradizionale era stato derivava dal mondo della manifattura, ma non riusciva ad essere efficiente né efficace per la gestione dello sviluppo di software. Le aziende del settore, che attraversavano un periodo di profonda crisi in quel decennio, cominciarono a concepire nuove soluzioni più adatte al loro processo di sviluppo.

Nascono così le prime metodologie “agile”, metodi che promettono di aumentare le possibilità di successo dei progetti che si basano su alcuni principi fondamentali:

  • Centralità e dimensioni del team: La concezione tradizionale vedeva il personale come inaffidabile e quindi si basava molto sulla programmazione dell’alto di attività semplice, unita alla supervisione costante del lavoro. Il nuovo paradigma si basa sull’auto-organizzazione di piccoli gruppi di persone, a cui sono dati obiettivi di alto livello, che possono raggiungere come meglio credono. Questo ha garantito migliore qualità del lavoro e del risultato. Nel rugby, lo Scrum è quella fase in cui l’arbitro ordina la ripresa del gioco tra due gruppi ordinati di giocatori contrapposti, uno per squadra: dà il nome alla metodologia stessa. Il team è di importanza fondamentale.
  • Processo Iterativo ed Incrementale: Obiettivi definiti costantemente dall’alto rendono il progetto rigido e non in grado di reagire ai cambiamenti repentini del mercato. “Agile” si basa su un approccio incrementale a piccole fasi successive:

Si eseguono un set di attività, si analizza il risultato:

  • È in target?
  • Rispetta gli obiettivi?

In caso affermativo si procede; altrimenti si rivede il progetto programmando di conseguenza le attività successive. Questo approccio permette di cogliere i difetti molto precocemente e aiuta a reagire velocemente ai feedback e requisiti del mercato, estremamente variabili.

  • Il valore come driver di progetto: Uno degli errori più frequenti nell’ambito dello sviluppo software è il rilascio con features non funzionanti/non utilizzate/inutili, mutuate da obiettivi iniziali non corretti, sprechi consistenti di tempo e risorse. Il nuovo paradigma definisce il valore dell’output di ogni fase di progetto solo nelle funzioni rilasciate e correttamente operanti e utilizzabili. Tutto ciò che è inutile per il cliente viene eliminato alla radice, diminuendo notevolmente tempi e costi.

Un framework utile solo allo sviluppo software?

Scrum nasce sulla base di questi principi fondamentali e definisce un framework puntuale per l’esecuzione delle attività nel quotidiano. Grazie a Scrum le metodologie “Agile”, possono essere utilizzate in svariati ambiti, purché si possano organizzare piccoli gruppi di lavoro e si usi un approccio iterativo ed incrementale basato sulla soddisfazione dei requisiti del cliente.

Se possono essere rispettate le modalità precisate nella metodologia, essa si presta ad essere mutuata allo sviluppo software ed applicata a molti altri settori.

Hai una Start Up e vuoi implementare il tuo lavoro nella gestione dei progetti più complessi?

Ed ecco l’ABC per partire con Scrum

Ambiente Visual

Il framework di Scrum si basa sull’auto-organizzazione del team che lavora insieme per il conseguimento di un obiettivo comune.

È quindi fondamentale il flusso di informazioni tra le persone coinvolte: il tempo utilizzato per il mantenimento, aggiornamento e ricerca delle informazioni deve essere ridotto al minimo; tutte le informazioni necessarie devono essere reperibili in brevissimo tempo e le occasioni di scambio tra i membri devono essere molteplici.

Quando si entra nell’area di lavoro, è l’ambiente stesso ad irradiare le informazioni più importanti.

Il Team Scrum

Le figure che lavorano all’interno del framework hanno compiti diversi e obiettivi precisi; questi ruoli possono essere ricoperti dal personale aziendale che si occupa del progetto in questione ma è importante definire a priori ruoli e responsabilità.

Development Team (Dev team): Il team che è coinvolto operativamente nel progetto, può essere un team interamente del medesimo reparto o multifunzionale, in base al progetto.

Il Dev team si assicura di portare a termine tutte le attività necessarie allo svolgimento del progetto, si riunisce in riunioni giornaliere per la definizione degli obiettivi del giorno, le criticità incontrate e le variazioni da portare al progetto.

Product Owner: Responsabile delle specifiche di prodotto e del raggiungimento degli obiettivi relativi, Il Product Owner rappresenta tutti gli stakeholder del progetto e generalmente ricopre una posizione manageriale. Si occupa principalmente di raccogliere le richieste del mercato e, coinvolgendo il Development Team, di concordare i requisiti che il prodotto dovrà soddisfare.

Scrum Master: Mentor e Coach del Dev team e del Product Owner, è il massimo conoscitore del framework e si assicura che venga applicato da tutte le persone coinvolte. È attento a facilitare i rapporti tra il Dev team e il Product Owner, garantendo libertà al team di progetto e risultati all’Organizzazione.

Il framework Scrum

Dev team, Product Owner e Scrum Master interagiscono nel framework in modalità precise che garantiscono precisione e trasparenza durante tutta la durata del processo.

Product Backlog

È il luogo in cui vengono depositate le specifiche di prodotto che il Dev team dovrà conseguire per la realizzazione finale del prodotto o un suo incremento. Il Product Backlog non è mai completo, esaustivo o preciso, ma è soggetto a continui aggiustamenti e viene continuamente affinato integrando specifiche aggiuntivo o eliminando quelle obsolete.

Tenere in ordine il product backlog è responsabilità del Product Owner che qui va a depositare le specifiche che il Development Team dovrà poi realizzare.

La forza del Product BackLog è la trasparenza: è una finestra su ciò che effettivamente dovrà essere fatto per il raggiungimento dell’obiettivo comune. È già definito come set di sotto-obiettivi con gradi diversi di priorità; in questo modo non si rischia di perdere nessun requisito e il Dev team è in grado di organizzare il lavoro in modo molto preciso.

Sprint

Lo sprint è l’unità di tempo in cui il Dev team si aspetta di realizzare uno più elementi del Product BackLog (ovvero “raggiungere lo Sprint Goal”).

Tipicamente ha durata compresa tra 1 e 4 settimane, nelle quali sono contenuti una serie di eventi con una durata massima consentita. Si intuisce come sia importante definire gli obiettivi da raggiungere in ogni sprint con questa unità di tempo in mente.

La definizione di finestre temporali brevi in sequenza (Time Boxing) aiuta a concentrarsi su cioè che è davvero importante per la riuscita del progetto, e a tralasciare il resto.

Sprint Planning

Tutti i partecipanti al progetto si riuniscono per definire quali elementi del Product Backlog saranno presi in carico dal Dev team e si costruisce un piano di lavoro coerente con gli obiettivi e le aspettative del Product Owner e le risorse disponibili al Dev Team.

Questa attività non può durare più di 8 ore totali

Daily Scrum

Per tutta la durata dello Sprint il Dev Team si riunisce in una riunione di 15 minuti per pianificare puntualmente il lavoro della giornata, i punti critici e le responsabilità di ogni singolo membro in modo da coordinarsi e fare in modo di raggiungere lo Sprint Goal relativo alla giornata. Ogni Daily Scrum tiene conto di quelli precedenti per eventuali aggiustamenti sia del prodotto (che vengono comunicati al Product Owner) sia dell’intero processo (che può essere modificato con l’aiuto dello Scrum Master)

Sprint Review e Retrospective

Alla fine dello Sprint si revisiona ciò che è stato prodotto nella Sprint Review, si verifica che i requisiti siano effettivamente stati rispettati e si procede al rilascio del prodotto e si aggiorna il Product Backlog di conseguenza.

Parallelamente, nella Sprint Retrospective, si valuta l’interezza dello Sprint, le criticità incontrate dai membri del Dev team e si mettono in campo azioni correttive per limitare l’impatto delle criticità incontrate negli Scrum successivi, facendo ripartire il ciclo.

Scrum è un framework semplice ma che richiede una grande determinazione nell’essere applicato, assoluta fiducia nei propri collaboratori e trasparenza totale ma premia con un’efficienza e una qualità senza precedenti.

Scrum: il giusto mix di disciplina e autonomia

Si intuisce anche solo da questo breve excursus del framework, che i tempi e le frequenze di meeting sono dettati in modo piuttosto rigido. Ci vuole pratica e bravura nel settare, concordare obiettivi di volta in volta, scomponendo l’obiettivo più grande e complesso e dando le priorità corrette. E a quel punto, basta lasciare lavorare i team!

Sfidaci con problemi complessi

 

Contattaci adesso

Newsletter

Iscriviti alla nostra Newsletter

Rimani aggiornato

×

Powered by WhatsApp Chat

× Scrivici!