Scrum Framework » ruoli e organizzazione

ruoli organizzazione scrumCon l’applicazione della filosofia agile allo sviluppo prodotti si sono affermati alcuni modelli di riferimento (Framework) che possono essere impiegati nei campi più disparati.

Ad esempio, nello sviluppo software si è affermato il metodo Scrum che consente di strutturare il flusso di lavoro (Workflow) mantenendo un certo grado di flessibilità.

Per poter applicare questa metodologia anche in altri contesti è comunque necessario aver ben chiari quali sono i presupposti che rendono applicabile l’agile project management.

In particolare, la centratura sul cliente, l’iteratività dello sviluppo, la pianificazione ridotta all’essenziale e la focalizzazione sul team.

Le caratteristiche di flessibilità tipiche degli approcci agili possono tradursi in alcuni casi in eccesso di improvvisazione se non vengono governati attraverso processi che rendono stabile il ciclo di sviluppo introducendo una precisa organizzazione del lavoro con ruoli ben definiti, meccanismi di controllo, metriche di valutazione delle performance dei team di sviluppo.

Naturalmente, applicare questo framework richiede di adattare ruoli, modello organizzativo e flusso di lavoro al contesto in cui si deve operare.

Ruoli nel metodo Scrum

I ruoli di base sono sostanzialmente tre e vengono descritti nel seguito.

PRODUCT OWNER

  • Possiede la visione complessiva del prodotto e mantiene il rapporto con la committenza
  • Decide in accordo con la committenza quali sono le funzionalità da sviluppare, il loro contenuto, le date di consegna
  • E’ responsabile del successo di mercato (ROI)
  • Assegna le priorità alle funzionalità da realizzare in base alle richieste del mercato
  • Può cambiare le funzionalità e la loro priorità in ogni momento
SCRUM MASTER

  • E’ responsabile di facilitare il processo di sviluppo
  • Focalizza il team sul lavoro da svolgere e lo protegge dalle interruzioni esterne filtrandole
  • Ricerca le modalità migliori per favorire la produttività del team
  • Ottimizza velocità, ritmo e qualità dello sviluppo
  • Assiste il Product Owner nel processo decisionale
TEAM DI SVILUPPO

  • E’ un piccolo gruppo di persone con le competenze necessarie per svolgere il lavoro
  • Analizza insieme con lo Scrum Master le diverse opzioni di rilascio
  • E’ focalizzato sullo sviluppo delle funzionalità richieste
  • Sviluppa il suo lavoro attraverso iterazioni (Sprint)
  • Privilegia qualità della realizzazione e regolarità di rilascio

Organizzazione e Workflow

Per applicare il metodo Scrum è necessario conoscere:

  1. Quali sono gli strumenti da utilizzare
  2. Come definire le funzionalità da realizzare
  3. La tabella di marcia da seguire
  4. Come creare il Product Backlog
  5. Quali sono le diverse fasi del lavoro e i meeting per coordinarle:
  6. Come è possibile misurare la performance del team

Inoltre, al fine di rendere regolare il flusso di lavoro (Workflow), può essere integrato l’utilizzo della Kanban Board in modo da ottimizzare il Work in Progress per renderlo compatibile con l’effettiva produttività del team.

Tutta l’organizzazione del lavoro nel metodo Scrum è finalizzata a creare un processo di Continuous Delivery basato sullo sviluppo incrementale.

E’ così possibile correggere on-going gli eventuali malfunzionamenti e migliorare il prodotto attraverso l’introduzione progressiva di nuove funzionalità in modo da soddisfare sempre meglio le esigenze del cliente.

Inoltre, questo framework promuove l’innovazione di prodotto e di processo che costituisce la principale fonte di vantaggio competitivo nell’economia moderna.
flusso lavoro scrum

Vantaggi del metodo Scrum

  1. Favorisce la flessibilità e adattabilità dei rilasci incrementali alle esigenze della committenza.
  2. Favorisce la creatività e innovazione nello sviluppo del prodotto perché ogni funzionalità può essere progressivamente migliorata.
  3. Migliora il time to market perché un primo rilascio del prodotto può avvenire in tempi brevi per poi introdurre aggiornamenti con i rilasci successivi.
  4. Migliora la customer satisfaction perché il cliente inizia a vedere i primi risultati in tempi brevi.
  5. Aumenta la motivazione del team perché misura immediatamente le proprie capacità e si rende conto di poter migliorare con gli aggiustamenti successivi.
  6. Aumenta il livello di sinergia nell’organizzazione in quanto più settori possono essere coinvolti nel processo di sviluppo.