Cos'è Scrum? Una definizione
Scrum è un framework per sviluppare, fornire e sostenere prodotti complessi attraverso una collaborazione efficace del team. Fornisce un processo leggero per focalizzare e coordinare l'attività collaborativa basata sul team mentre il Team Scrum affronta problemi adattativi complicati e consegna un prodotto di valore ottimale in modo incrementale e secondo una pianificazione prevedibile.
Originariamente concepito dai professori Hirotaka Takeuchi e Ikujiro Nonaka e pubblicato come "The New Product Development Game" nella Harvard Business Review nel 1986, Scrum è stato adattato e reso popolare da Jeff Sutherland e Ken Schwaber negli anni '90. È diventato un modo di lavorare sempre più popolare, espandendosi dallo sviluppo software in molte aree dello sviluppo di prodotti che possono applicare e beneficiare di un approccio iterativo e incrementale. Ha successo o fallisce in base alla competenza tecnica e agli sforzi collaborativi del team.
Da una prospettiva di processo, Scrum offre un approccio agile semplice ed estremamente efficace alla consegna del prodotto. Come sarà mostrato più avanti, Scrum non è, e non è inteso per descrivere un approccio agile alla gestione dei progetti.
Il Framework Scrum
Il framework include tre ruoli distinti che compongono un Scrum Team, ciascuno con responsabilità chiaramente definite, cinque eventi e tre artefatti. Le regole delineate nella Guida Scrum legano insieme i ruoli, gli eventi e gli artefatti, guidando le loro relazioni e interazioni.
- I 5 Eventi: lo Sprint, la Pianificazione dello Sprint, il Daily Scrum, la Revisione dello Sprint, la Retrospettiva dello Sprint
- I 3 Artefatti: Product Backlog, Sprint Backlog, Incremento del Prodotto
- I 3 Ruoli: Product Owner, Developer, Scrum Master.
Gli Eventi Scrum
- Lo Sprint è un time-box, che può avere qualsiasi durata ma tipicamente è di 2-4 settimane, durante il quale vengono creati uno o più Incrementi di Prodotto "Done" (cioè utilizzabili e almeno potenzialmente rilasciabili). Lo Sprint contiene tutti gli altri eventi.
- Il Sprint Planning è dove il lavoro da svolgere nel prossimo Sprint viene pianificato dagli Sviluppatori. Negoziano un Obiettivo di Sprint realistico con il Product Owner, selezionano elementi appropriati dal Product Backlog per contribuire a tale obiettivo e pianificano il lavoro per raggiungerlo.
- Il Daily Scrum è una riunione di 15 minuti tenuta dagli Sviluppatori nel Team Scrum. Si tiene ogni giorno dello Sprint e gli Sviluppatori la usano per riaffermare il loro impegno nel raggiungere l'Obiettivo di Sprint e adeguare i loro piani di conseguenza.
- La Sprint Review si tiene alla fine dello Sprint. Il suo scopo è rendere visibile agli stakeholder ciò che è stato consegnato nello Sprint, per permettere loro di ispezionare formalmente e suggerire adattamenti al Product Backlog per guidare lo sviluppo futuro.
- La Sprint Retrospective è un'opportunità per il Team Scrum di riflettere sull'efficacia del loro modo di lavorare e creare un piano di miglioramenti da attuare durante il prossimo Sprint o quelli successivi.
Gli Artefatti Scrum
I tre artefatti di Scrum sono progettati per mantenere il focus sul valore da consegnare. Sono trasparenti – cioè deliberatamente visibili – a chiunque sia interessato a quello che il Team Scrum sta facendo e a come sta procedendo con il proprio lavoro. Ogni artefatto include un impegno.
Il Product Backlog è un elenco ordinato di tutto ciò che deve essere fatto per raggiungere il Product Goal. È l'unica fonte di lavoro per il Team Scrum. Sebbene possa esserci più di un Product Goal, ad esempio per descrivere una roadmap di prodotto, si lavora su un solo obiettivo alla volta. Il Product Goal è l'obiettivo, l'impegno, che il Product Backlog è progettato per raggiungere.
Lo Sprint Backlog include l'insieme degli elementi del Product Backlog selezionati per uno Sprint e tutto il lavoro necessario per raggiungere lo Sprint Goal. Mentre uno o più Product Increment possono essere consegnati durante lo Sprint, c'è un solo Sprint Goal. Lo Sprint Goal è l'impegno per lo Sprint Backlog ed è quello che i Developer si sforzano di raggiungere.
Il Product Increment è quello che i developer creano per soddisfare il bisogno descritto da uno o più elementi del product backlog. È un passo tangibile verso il raggiungimento dello Sprint Goal. Quando ne viene consegnato più di uno in uno Sprint, ogni Product Increment include quello precedente. L'impegno è raggiungere la 'Definition of Done' per il Product Increment. Questa 'Definition of Done' è una descrizione formale degli standard di qualità necessari che il prodotto deve soddisfare.
Ruoli Scrum
Sappiamo dal manifesto Agile che i professionisti dell'agilità valorizzano gli individui e le interazioni più dei processi e degli strumenti – il che significa che, pur essendoci spazio per processi e strumenti – e sia ben chiaro, Scrum include un elemento di processo significativo – noi valorizziamo le persone e il modo in cui lavorano insieme, di più. I ruoli e le responsabilità associate a tali ruoli, così come le interazioni collaborative tra gli individui che ricoprono questi ruoli, sono fondamentali per l'uso efficace di Scrum.
Il Team Scrum
Un Team Scrum è composto da un Product Owner, uno Scrum Master e, tipicamente, tra 5 e 9 Sviluppatori. Il team deve essere cross-funzionale – possedendo collettivamente tutte le competenze necessarie per consegnare il prodotto desiderato e la capacità di collaborare per raggiungere tale obiettivo. Il team è auto-organizzato – non riconosce strutture gerarchiche e consente alla leadership per specifici lavori di emergere quando appropriato.
Product Owner
Il Product Owner è responsabile di massimizzare il valore del prodotto derivante dal lavoro del Team Scrum. Il Product Owner è un individuo, non un comitato e tipicamente rappresenta le esigenze di molti stakeholder, compresi i clienti per i quali il valore viene creato. Nel contribuire al lavoro del Team Scrum, sono responsabili della gestione efficace del Product Backlog, che include:
- Sviluppare e comunicare esplicitamente l'Obiettivo del Prodotto.
- Creare e comunicare chiaramente gli elementi del Product Backlog.
- Dare priorità agli elementi del Product Backlog.
- Garantire che il Product Backlog sia trasparente, visibile e compreso.
Qualsiasi stakeholder che voglia modificare il Product Backlog può farlo solo attraverso il Product Owner.
Sviluppatore
Il ruolo di Sviluppatore nel Team Scrum si applica a chiunque collabori attivamente con altri nel team per sviluppare il Prodotto – anche qualcuno che ricopre uno degli altri ruoli può essere uno Sviluppatore. Le competenze necessarie a uno Sviluppatore varieranno a seconda del tipo di lavoro svolto e di ciò che viene prodotto. Gli Sviluppatori che lavorano in un Team Scrum per progettare un giardino avranno bisogno di competenze molto diverse da quelli che preparano una cena elaborata o da quelli che creano un nuovo gioco per smartphone. Scrum può essere applicato in tutti questi ambienti di sviluppo.
In Scrum, gli Sviluppatori sono sempre responsabili di:
- Creare un piano per lo Sprint, lo Sprint Backlog;
- Instillare qualità aderendo a una Definizione di Fatto;
- Adattare il loro piano ogni giorno verso l'Obiettivo dello Sprint; e,
- Rendere conto l'uno all'altro come professionisti.
Scrum Master
Lo Scrum Master è responsabile di stabilire Scrum come definito nella Guida Scrum. Lo fanno aiutando tutti a comprendere la teoria e la pratica Scrum, sia all'interno del Team Scrum che nell'organizzazione.
Spesso definito come un leader servitore, lo Scrum master non detiene autorità di comando – non dice alle persone cosa fare e come comportarsi, le aiuta a capire come Scrum dovrebbe funzionare e fa tutto il possibile per facilitarne l'adozione. Forniscono un servizio a:
- Il Team Scrum – guidando la loro adozione di Scrum, aiutandoli a trovare modi per migliorare continuamente il modo in cui forniscono valore e causando la rimozione di tutto ciò che ostacola questo.
- Il Product Owner – aiutandolo con la gestione del Product Backlog e aiutandolo a garantire che gli Obiettivi del Prodotto e gli elementi del Product Backlog siano correttamente modellati, espressi e compresi.
- L'organizzazione più ampia in cui esiste il Team Scrum – aiutandola a comprendere il modo di lavorare Scrum e come devono lavorare e comportarsi per consentire ai Team Scrum di essere ottimamente efficaci.
Scrum è empirico
Il framework Scrum si basa sulla teoria del controllo empirico dei processi, o empirismo, che sostiene che la conoscenza deriva dall'esperienza e il processo decisionale si basa su ciò che può essere osservato. I pilastri del controllo empirico dei processi sono la trasparenza del processo e dei progressi, l'ispezione del processo e dei progressi e l'adattamento sia del prodotto emergente (migliorandolo con ogni iterazione e incremento) sia dei modi di lavorare (migliorando continuamente l'efficacia e le prestazioni del team).
È importante capire come rendere efficace il processo empirico. La Trasparenza abilita l'Ispezione, l'Ispezione abilita l'Adattamento e gli Adattamenti devono essere Trasparenti. L'Ispezione senza Trasparenza è fuorviante e dispendiosa, l'Ispezione senza l'intenzione di Adattamento è inutile e l'Adattamento senza Trasparenza per Ispezionare il suo impatto rende l'Adattamento rischioso.
Valori Scrum
I team Scrum efficaci vivono e respirano un insieme di cinque valori. Questi valori non sono unici di un team Scrum, ma renderli espliciti incoraggia un lavoro di squadra efficace e collaborativo. I valori sono Impegno, Concentrazione, Apertura, Rispetto e Coraggio.
- Impegno: I membri del team Scrum si impegnano a raggiungere gli obiettivi dello sprint e a fornire lavoro di alta qualità attraverso lo sviluppo iterativo e la consegna incrementale. Questo favorisce la responsabilità e l'accountability tra i membri del team.
- Coraggio: I membri del team Scrum hanno il coraggio di affrontare apertamente le sfide e gli impedimenti. Sono disposti a correre rischi e a parlare apertamente dei problemi che potrebbero influire sul successo del team.
- Apertura: I membri del team Scrum condividono informazioni, progressi e preoccupazioni tra loro, favorendo così fiducia e collaborazione all'interno del team.
- Concentrazione: I membri del team Scrum mantengono una concentrazione collettiva sugli Obiettivi del Prodotto e dello Sprint, dando priorità al loro lavoro per ottimizzare la consegna di valore.
- Rispetto: I membri del team Scrum si rispettano reciprocamente come professionisti, riconoscendo le competenze, le prospettive e i contributi di ciascuno mentre lavorano alla consegna del prodotto. Questo crea un ambiente di lavoro positivo e migliora la cooperazione tra i membri del team.
Questi valori possono e dovrebbero essere applicati per rendere efficace qualsiasi approccio agile al lavoro.
Caratteristiche dei team Scrum
I valori Scrum contribuiscono collettivamente alla capacità del team Scrum di:
- Adattarsi al Cambiamento: Scrum è altamente reattivo ai requisiti che cambiano. Accoglie le esigenze in evoluzione del cliente consentendo aggiustamenti alla fine di ogni sprint, promuovendo flessibilità e maggiore soddisfazione del cliente.
- Collaborare per prendere decisioni: La natura auto-organizzante del Team Scrum e il fondamento empirico del modo di lavorare Scrum incoraggia la collaborazione. Vivere i valori Scrum dà vita al lavoro collaborativo.
- Migliorare Continuamente: Scrum incorpora retrospettive regolari – il cui scopo è fornire opportunità regolari al Team Scrum di ispezionare l'efficacia del modo in cui lavorano e identificare aree di miglioramento. Questo è il miglioramento continuo in azione.
- Abbracciare un Approccio Centrato sul Cliente: Scrum pone una forte enfasi sulla consegna di valore al cliente. Il Product Owner, che rappresenta gli interessi del cliente, stabilisce le priorità delle funzionalità, assicurando che il prodotto si allinei con i bisogni e le aspettative del cliente durante tutto il suo sviluppo.
Vantaggi dell'utilizzo di Scrum
Scrum offre numerosi vantaggi per lo sviluppo del prodotto, migliorando l'efficienza, la collaborazione e l'adattabilità:
- Flessibilità
- Time to Market Più Veloce
- Collaborazione Migliorata
- Qualità del Prodotto Migliorata
- Maggiore Soddisfazione del Cliente
- Produttività Più Elevata
- Migliore Gestione dei Rischi
- Trasparenza
- Team Responsabilizzati
- Miglioramento Continuo.
Scopri di più sui 10 vantaggi principali dell'utilizzo di Scrum, approfonditi in questo blog.
Sfide e Svantaggi di Scrum
Scrum può presentare diverse sfide e svantaggi. Durante l'implementazione di Scrum, come per tutti i nuovi modi di lavorare, potrebbe esserci resistenza al cambiamento. I team possono avere difficoltà con il livello di collaborazione e comunicazione necessario affinché Scrum funzioni efficacemente. Ruoli come quello dello Scrum Master hanno anche responsabilità specifiche che differiscono dai ruoli tradizionali, e fraintendere questi ruoli può portare a confusione e inefficienza. Una volta implementato Scrum, ci sono ancora sfide da affrontare; i rischi o svantaggi comuni includono:-
- Supporto Inadeguato da Parte del Management: Come per qualsiasi iniziativa di cambiamento senza un forte supporto da parte del management all'interno dell'organizzazione, l'adozione di Scrum incontrerà resistenza o affronterà sfide nel superare le barriere organizzative. La mancanza di comprensione del cambiamento culturale necessario e un debole impegno a questo ai livelli più alti può limitare gravemente il valore che Scrum può offrire come modo di lavorare.
- Curva di Apprendimento: Interruzioni e adeguamenti iniziali possono influire sulla produttività mentre i membri del team si adattano ai nuovi ruoli, eventi e processi collaborativi introdotti da Scrum. Il detto che le cose possano peggiorare prima di migliorare è spesso vero. La chiave è concedere tempo per l'apprendimento e identificare persone con un track record nel far funzionare questo sistema altrove che possano aiutare.
- Sovraimpegno: I team possono affrontare il rischio di assumere troppi impegni durante la pianificazione dello sprint, portando a burnout o compromessi nella qualità dei deliverable. Bilanciare il desiderio di progresso rapido con una definizione realistica degli obiettivi è cruciale per mantenere pratiche di sviluppo sostenibili. È importante stabilire un ritmo sostenibile – aspettarsi fallimenti nel raggiungere gli Obiettivi dello Sprint mentre il team capisce cosa può essere raggiunto.
- Eccessiva Enfasi sugli Obiettivi a Breve Termine: L'attenzione su sprint brevi e di durata fissa in Scrum può talvolta portare a una visione miope, dove i team danno priorità agli obiettivi immediati rispetto agli obiettivi strategici a lungo termine. In un ambiente di prodotto puro, un buon Product Owner dovrebbe essere in grado di comunicare e mantenere un appropriato focus a lungo termine. Quando si è sfidati dalla complessità, potrebbe essere necessario qualcosa di più…
- Problemi nell'integrare il lavoro di team multipli per progetti più grandi e complessi: Scrum è forte quando applicato a singoli team ma estremamente debole quando il lavoro da svolgere supera la capacità delle "10 persone o meno" nel team di realizzarlo. In questa circostanza, si raccomanda un framework più ampio per gestire la scala e/o complessità.
Per scale estreme in un contesto di prodotto – dove sono necessarie centinaia di sviluppatori – un framework scalato come SAFe potrebbe essere consigliabile. Per problemi di scala minore – fino a 100 sviluppatori, per esempio – e/o dove la complessità della soluzione aziendale complessiva abbraccia prodotti multipli, servizi e altre attività, allora un framework di progetto agile come AgilePM soddisferà l'esigenza.
Guarda – Essere Agile è la stessa cosa che conoscere Scrum?
Basandosi sulla questione della scalabilità menzionata sopra, in questo episodio della serie 'Level Up' di APMG, esperti di gestione di progetti agile rispondono a domande sulla gestione di progetti agile e scrum. Una delle questioni chiave affrontate è la differenza tra questi approcci. Vengono discussi temi come la pianificazione degli sprint, la durata ideale di uno Sprint e il valore dei daily stand-up.
Gestione Agile dei Progetti e Scrum
L'Agile Business Consortium ha evoluto il loro approccio di gestione progetti Agile leader mondiale (AgilePM) per fornire una versione progettata specificamente per funzionare con Scrum. AgilePM for Scrum offre un framework unico per la consegna di soluzioni aziendali complete. Affronta esplicitamente soluzioni che comprendono prodotti o servizi multipli, richiedendo lo sforzo di sviluppo combinato di più team Scrum, o una combinazione di team Scrum e non-Scrum. Con tecniche per gestire la pianificazione e il coordinamento agile tra team, la leadership dalle prospettive della visione aziendale, dell'architettura della soluzione e della gestione progetti, governance, rischio e altro ancora, vale davvero la pena considerarlo per situazioni progettuali più complesse.
In questo video, Richard Pharro, CEO di APMG International, e io discutiamo di 'AgilePM for Scrum.' Questo nuovo framework unisce i punti di forza di due framework Agile leader. Richard pone domande chiave, mirando a fornire approfondimenti sul framework, incluso il suo ambito, la logica alla base del suo sviluppo e chi può trarre maggior beneficio dal framework. Inoltre, esploriamo il programma di formazione e certificazione accreditato che supporta questo framework.
Conclusione
Scrum ha tracciato un sentiero significativo per l'agilità nello sviluppo di prodotti software ed è un approccio molto popolare e versatile per buone ragioni, essendo perfettamente adatto per fornire prodotti che deliziano i clienti di fronte a requisiti complessi e in evoluzione. Sfrutta i vantaggi di team collaborativi e interfunzionali per fornire valore più rapidamente ed efficacemente rispetto alle loro controparti meno agili.
Tuttavia, non è privo di sfide... Ken Schwaber e Jeff Sutherland dichiarano nella loro Guida Scrum 2020 che "Il framework Scrum, come delineato qui, è immutabile. Sebbene sia possibile implementare solo parti di Scrum, il risultato non è Scrum. Scrum exists only in its entirety…"
Scrum è un framework agile semplice, elegante ed efficace per la consegna di prodotti. Questo è stato dimostrato più e più volte in tutto il mondo in molte applicazioni diverse attraverso molti settori diversi, ma solo quando utilizzato nella sua interezza. Se si esclude qualsiasi elemento di Scrum, semplicemente non funzionerà correttamente. Scrum funziona, ScrumBut rischia il fallimento. ScrumBut descrive una situazione in cui "usiamo Scrum ma non facciamo questo". Per "non facciamo questo" inserite quello che volete... "Non facciamo un daily Scrum", "non collaboriamo", "non abbiamo un Scrum Master, abbiamo un manager", "non abbiamo un product backlog, abbiamo una specifica", "non definiamo un Sprint Goal" ecc. Schwaber e Sutherland hanno sviluppato Scrum, hanno supervisionato la sua evoluzione graduale e attenta dalla metà degli anni '90 – accettate la loro saggezza e fatelo correttamente.
Se il vostro ambito è lo sviluppo di prodotti, allora è facile vedere come portare agilità a quel campo applicando e migliorando continuamente l'applicazione di Scrum potrebbe fornire un beneficio enorme. Ma se la vostra preoccupazione va oltre il puro sviluppo di prodotti allora, da solo, Scrum potrebbe rivelarsi inadeguato.
Formazione, educazione e incoraggiamento e supporto continui dei team Scrum sono necessari per sfruttare il successo di Scrum. APMG offre le seguenti certificazioni per i ruoli chiave.
Formazione e Certificazione Scrum
Formazione Scrum Master
Questo corso ti insegna a eccellere come Scrum Master, migliorando lo sviluppo di prodotti e soluzioni utilizzando Scrum. Gli apprendimenti chiave includono una comprensione completa del Framework Scrum, dei principi Scrum e del ruolo dello Scrum Master. Imparerai anche come costruire team di sviluppo efficaci, agire come servant-leader, facilitare gli eventi Scrum, aiutare i Product Owner nella gestione del backlog e promuovere l'adozione di Scrum.
Formazione Product Owner
In questo corso impara come massimizzare il valore dei prodotti consegnati dai Team Scrum. Acquisisci una comprensione approfondita del Framework Scrum e del ruolo del Scrum Product Owner. Padroneggia i principi Scrum e come costruire e dare priorità a un product backlog orientato al valore, suddividendo epic e temi in user story attuabili.
Formazione del Team Scrum
Il primo giorno dei corsi Scrum Master e Product Owner è identico – parla con il tuo fornitore di formazione APMG riguardo all'erogazione di questa giornata come corso autonomo ideale per i membri del team e gli stakeholder. Copre tutto quello che c'è nella Guida Scrum – e hanno bisogno di conoscerlo tutto.
AgilePM for Scrum Formazione e Certificazione
AgilePM for Scrum combina Scrum con l'approccio di gestione progetti agile leader mondiale (AgilePM) per offrire un framework unico per la realizzazione di soluzioni aziendali complete dove è richiesto uno sviluppo iterativo e incrementale. Questa certificazione ti fornisce le competenze per integrare Scrum con Agile Project Management. I corsi affrontano i principi e la teoria che sottendono il framework Scrum – erogati da fornitori accreditati APMG e Agile Business Consortium.
L'immagine del 'Scrum Framework' è stata creata dall'Agile Business Consortium. Copyright © 2024, Agile Business Consortium. Tutti i diritti riservati.