I piani di progetto possono sembrare eccellenti sulla carta, ma tutto cambia quando si passa dalla teoria alla pratica: problemi imprevisti, nuove priorità, esigenze dei clienti che si evolvono più rapidamente rispetto alle capacità di adattamento dei team. Dal punto di vista della gestione classica dei progetti, queste interruzioni sono considerate come problemi: i team sono costretti ad attenersi a programmi obsoleti o a faticare per introdurre modifiche all'ultimo momento. Il risultato? Mancato rispetto delle scadenze, insoddisfazione degli stakeholder e disallineamento del prodotto finale rispetto agli obiettivi aziendali. Per evitare questo problema, le organizzazioni devono implementare una strategia che consenta di far fronte alle incertezze senza scendere a compromessi in termini di qualità o produttività.
I team più produttivi non si limitano a gestire il cambiamento: lo sfruttano a proprio vantaggio. Invece di restare legati a workflow rigidi, i team lavorano secondo cicli brevi e mirati, perfezionando continuamente l'approccio in base a feedback concreti. Per fare in modo che ogni iniziativa avanzi con progressi significativi, è necessario concentrarsi sulla collaborazione, sulla trasparenza e sull'efficienza. Questo tipo di mentalità ha uno scopo preciso ed è integrata in un framework strutturato che consente ai team di evolversi anche negli ambienti più imprevedibili. Questo framework è chiamato Scrum.
Scrum è nato a metà degli anni Novanta per risolvere le inefficienze associate ad alcune metodologie per la gestione dei progetti. Il termine stesso si ispira al rugby. In quest'ambito, uno "scrum" si riferisce a una squadra ben organizzata di giocatori che lavorano in team. Questa analogia mette in evidenza i principi fondamentali di Scrum: si tratta di un approccio iterativo basato sulla collaborazione che consente ai team di migliorare costantemente i risultati anche se il progetto comporta delle complessità.
I concetti fondamentali di Scrum sono stati presentati ufficialmente da Ken Schwaber e Jeff Sutherland nel 1995, in occasione della conferenza OOPSLA (Object-Oriented Programming, Systems, Languages & Applications). I due esperti hanno tratto ispirazione da un articolo pubblicato sull'Harvard Business Review, in cui i team aziendali più efficienti, in particolare quelli addetti allo sviluppo dei prodotti, venivano paragonati alle squadre di rugby, portando avanti il lavoro come una squadra unita anziché avvicendarsi in una staffetta.
In seguito Schwaber e Sutherland hanno sistematizzato questi concetti nel documento The Scrum Guide. Da allora Scrum si è evoluto ed è diventato uno dei framework agili più diffusi. Anche se viene utilizzato praticamente in ogni settore, questo approccio è efficace soprattutto nell'ambito dello sviluppo di applicazioni, dell'IT (Information Technology), del marketing e della gestione dei prodotti.
Senza questi principi guida, Scrum sarebbe soltanto un insieme di regole. Scrum è quindi incentrato su una serie di valori fondamentali che influenzano il modo in cui i team interagiscono, prendono decisioni e affrontano il lavoro. Questi valori promuovono una cultura improntata alla collaborazione e alla responsabilità e assicurano che ogni componente del team segua una mentalità condivisa:
Impegno
Scrum richiede che i membri del team si concentrino sul raggiungimento degli obiettivi associati agli sprint e sulla realizzazione di un lavoro di alta qualità. Questo impegno promuove la responsabilità e la proprietà dei progetti.
Coraggio
I team devono avere il coraggio di mettere in discussione le idee preconcette, accettare il cambiamento e affrontare gli ostacoli con determinazione. Inoltre, i componenti del team devono sentirsi a proprio agio nel sollevare i problemi e consigliare eventuali miglioramenti.
- Attenzione
Scrum punta sul fatto di eseguire un insieme circoscritto di compiti ad alta priorità, che consente di aumentare al massimo l'efficienza e di assicurare che ogni sprint proceda verso l'obiettivo stabilito.
- Apertura
La trasparenza è fondamentale nel metodo Scrum. I membri del team devono condividere apertamente i progressi, i problemi riscontrati e le conoscenze per garantire miglioramento continuo.
- Rispetto
Quando i componenti del team si rispettano reciprocamente, la collaborazione dà ottimi risultati. I team Scrum danno importanza all'esperienza e ai contributi di ogni componente, per promuovere un ambiente di lavoro incentrato sull'assistenza reciproca.
A differenza delle tradizionali metodologie di gestione dei progetti, incentrate su piani rigidi e sul controllo predittivo, Scrum è un approccio alla gestione dei progetti agili fondato su tre principi fondamentali, sviluppati per creare un ambiente dinamico in cui i team possano prendere decisioni consapevoli e basate su informazioni in tempo reale. Ecco i suoi principi:
Grazie alla trasparenza, tutti i soggetti coinvolti hanno un quadro chiaro del lavoro in corso. Ecco alcuni fattori chiave che promuovono la trasparenza:
Definizione delle priorità mediante un backlog di prodotto con priorità ben definite.
Comunicazione aperta e trasparente durante i Daily Scrum (chiamati anche "stand-up quotidiani") e la revisione degli sprint.
Un elenco di controllo, chiamato "Definition of Done" (DoD), che garantisce che il lavoro portato a termine soddisfi gli standard richiesti.
Le ispezioni frequenti consentono ai team di valutare i progressi e identificare potenziali ostacoli. Scrum prevede l'esecuzione periodica di ispezioni:
Revisioni Sprint, in cui i team mettono in evidenza il lavoro completato e ricevono un feedback.
Le analisi retrospettive degli sprint, che indicano un tempo dedicato in cui i team possono analizzare ciò che è andato bene e ciò che deve essere migliorato.
I Daily Scrum danno la possibilità di tenere traccia dell'avanzamento delle attività e di adeguare di conseguenza i piani.
Grazie a Scrum, i team sono incentivati a adeguare il loro approccio in base ai feedback e alle nuove informazioni. L'adattamento si verifica quando:
Le priorità cambiano in seguito all'evoluzione delle esigenze aziendali o del feedback dei clienti.
Il team analizza e perfeziona i processi in retrospettiva per migliorare le prestazioni in futuro.
Le modifiche apportate nel corso degli sprint assicurano l'allineamento agli obiettivi di business.
A differenza degli approcci strutturati in modo gerarchi, Scrum punta sull'organizzazione in autonomia e sulla responsabilità collettiva. Ogni ruolo in Scrum è imprescindibile nella generazione di valore per gli stakeholder. Ecco le funzioni primarie di Scrum e le responsabilità associate a ciascuna di esse:
Il Product Owner rappresenta gli interessi aziendali e assicura che i lavori più importanti abbiano la massima priorità. Ecco le responsabilità di questi ruoli:
Gestire i backlog dei prodotti e assegnare le relative priorità.
Comunicare con gli stakeholder per allineare il lavoro agli obiettivi aziendali.
Assicurarsi che ogni sprint offra il massimo valore agli utenti.
Lo Scrum Master è un leader paritario che ha la responsabilità di semplificare i processi di Scrum ed eliminare gli ostacoli. Ecco le responsabilità di questi ruoli:
Coaching dei team sui principi e sulle best practice di Scrum.
Eliminare gli ostacoli che impediscono i progressi.
Facilitare gli eventi Scrum e assicurarsi che le riunioni siano efficaci.
Il Development Team è formato da una serie di professionisti (sviluppatori, tester, progettisti e così via) che hanno la responsabilità di produrre incrementi fruibili del lavoro. Ecco di cosa si occupano nello specifico:
Organizzazione autonoma e decisione su come portare a termini i compiti associati allo sprint.
Stretta collaborazione con il Product Owner e gli stakeholder.
Perfezionamento e miglioramento continui del relativo workflow agile.
Il Product Owner gestisce un elenco di compiti e funzioni nel backlog del prodotto e ne assegna la corretta priorità. Si tratta di un repository centrale che include tutti i lavori da portare a termine e consente ai team di avere a disposizione un elenco completo e strutturato di compiti su cui concentrarsi. Il backlog cambia in base all'avanzamento del processo, che comporta l'aggiunta, il perfezionamento o la rimozione di nuovi elementi a seconda delle nuove priorità. Se i backlog non vengono gestiti correttamente, i team non possono capire quale direzione prendere per le attività successive.
La pianificazione contrassegna l'inizio di ogni sprint e definisce il contesto in cui i team devono operare durante l'iterazione. Il team seleziona gli elementi del backlog da completare nel prossimo sprint e ne definisce i relativi obiettivi. In questa fase è coinvolto tutto il team Scrum, che concorda gli obiettivi da raggiungere e come conseguirli entro il limite di tempo prestabilito.
Sprint
Uno sprint è un periodo di tempo stabilito, che dura in genere da due a quattro settimane, in cui il team esegue i compiti individuati. Come elemento costituivo di Scrum, lo sprint definisce un periodo prefissato in cui occorre generare un valore incrementale. Dato che ogni sprint segue un ciclo prevedibile, i team possono pianificare il lavoro in modo efficace e avere la flessibilità necessaria per apportare modifiche negli ambiti necessari. Uno sprint eseguito al meglio produce un incremento del prodotto che i team possono consegnare.
Il Daily Scrum è una breve riunione quotidiana in cui i componenti dei team parlano dell'avanzamento del lavoro, di eventuali problemi e delle attività da svolgere in quel giorno specifico. L'incontro non deve durare più di 15 minuti e segue una struttura definita che prevede di rispondere a tre domande fondamentali:
- Che attività ho svolto ieri?
- Quali compiti devono eseguire oggi?
- Ci sono degli ostacoli?
I Daily Stand-Up, chiamati anche Daily Scrum Meeting, sono incontri quotidiani in cui i team prendono in considerazione eventuali problemi e collaborano per fare in modo che criticità di minore entità si trasformino in una grave situazione di stallo.
L'esame degli sprint consente di rappresentare il lavoro completato e promuove i feedback costruttivi. Questo evento offre al team Scrum l'opportunità di presentare il prodotto e raccogliere informazioni preziose da diversi stakeholder. Durante l'analisi dello sprint, il team passa in rassegna il lavoro completato e ne mette in evidenza le caratteristiche, le modifiche e i miglioramenti chiave. Gli stakeholder, come i clienti e i dirigenti aziendali, possono fare domande, offrire spunti interessanti e consigliare eventuali miglioramenti in base alle loro esigenze. Il feedback raccolto in questo evento viene quindi utilizzato per definire l'iterazione successiva.
Valutazione retrospettiva degli sprint
A differenza dell'analisi dello sprint, che è incentrata sul prodotto, la retrospettiva ha lo scopo di valutare i processi, la collaborazione e l'efficienza complessiva del team. L'obiettivo è capire che cosa ha funzionato al meglio, quali aspetti si possono migliorare e quali misure concrete devono essere intraprese per migliorare gli sprint in futuro.
Il backlog è un elenco dinamico delle funzioni, dei compiti e dei requisiti gestiti dal Product Owner, organizzati in base alla priorità. Il backlog è alla base di tutte le attività Scrum e costituisce la fonte di riferimento per stabilire le priorità dei team. Gli elementi inclusi nei backlog, noti come elementi di backlog dei prodotti (PBI, Product Backlog Items), possono comprendere sia nuove funzioni e correzioni dei bug, nonché miglioramenti tecnici e compiti di ricerca. Il Product Owner ha la responsabilità di perfezionare costantemente il backlog, garantendo che ogni elemento sia chiaramente definiti e ordinato in base alla relativa importanza.
Il backlog dello sprint, che rappresenta un sottoinsieme del backlog di prodotto da completare entro uno sprint, indica il lavoro che il team si è impegnato a portare a termine. Come tale, comprende i compiti necessari per realizzare l'obiettivo dello sprint. A differenza del backlog generale, che può contenere elementi a lungo termine, il backlog dello sprint è estremamente mirato e deve rispettare dei limiti di tempo. Nel corso dello sprint, il backlog si può evolvere man mano che emergono nuove informazioni, ma l'obiettivo globale resta sempre lo stesso.
Infine, un incremento è il risultato fruibile, relativo al prodotto, ottenuto con uno sprint. Non è soltanto un insieme di compiti portati a termine, ma rappresenta anche lo stato effettivo del prodotto che può essere erogato, nel rispetto della DoD. Ogni incremento si basa sulle iterazioni precedenti per migliorare progressivamente i prodotti e promuovendo l'avanzamento costante del lavoro.
Ciascuna di queste metodologie ha una propria storia e un proprio sviluppo, in base alle esigenze specifiche delle imprese e dei diversi settori.
Nato negli anni Novanta, il metodo Scrum trae ispirazione dal lavoro in team delle squadre di rugby. È stato concepito da Ken Schwaber e Jeff Sutherland.
La filosofia Agile, invece, ha fatto la sua comparsa nel è stata introdotta nel 2001 con l'Agile Manifesto. Più che un framework, Agile è un vero e proprio modo di pensare. Le metodologie che include sono diverse e comprendono Scrum, Kanban ed Extreme Programming (XP)
Kanban è stato sviluppato dal Toyota Production System negli anni Quaranta. In origine, prima di essere adattato allo sviluppo software, era uno strumento pensato per il lean manufacturing.
Tutti e tre puntano all'efficienza e alla capacità di adattamento, ma seguono principi diversi.
Scrum si concentra sulla realizzazione del lavori in brevi iterazioni, limitate nel tempo, prevede una rigida definizione dei ruoli e richiede adattamento e ispezioni costanti.
Agile promuove la flessibilità, la collaborazione e la consegna iterativa, ma non impone una struttura specifica. I framework agili, come Scrum, traducono in realtà i relativi principi teorici in modi diversi.
Kanban sottolinea l'importanza della consegna continua e dell'ottimizzazione del workflow, riducendo i colli di bottiglia e limitando il lavoro in corso (WIP), invece di stabilire cicli di durata fissa.
Ogni approccio prevede metodi di lavoro distinti che definiscono il modo in cui i compiti vengono gestiti e completati.
Scrum utilizza sprint limitati nel tempo, ruoli predefiniti ed eventi strutturati.
Agile è un approccio flessibile che non prevede regole rigide: i team possono adattare i metodi in base alle esigenze del progetto.
In Kanban, una lavagna grafica consente di monitorare il lavoro in corso, gestire il flusso rispettando i limiti WIP e consentire l'avanzamento ottimale dei compiti senza iterazioni fisse.
Scrum è l'unico dei tre framework che definisce ruoli specifici, mentre Agile e Kanban offrono maggiore flessibilità e sono aperti a interpretazioni diverse.
- Scrum richiede tre ruoli fondamentali: il Product Owner, lo Scrum Master e il Development Team, che si occupano di gestire le priorità, i processi e l'esecuzione del lavoro.
- Agile non richiede la definizione di ruoli specifici, ma incoraggia la collaborazione e l'organizzazione autonoma dei team in base alle esigenze di progetto.
- Kanban non formalizza i ruoli, quindi i team possono organizzarsi come preferiscono. Tuttavia hanno anche la possibilità di designare un Service Delivery Manager o un Flow Manager che supervisioni l'avanzamento del lavoro.
Ogni metodologia misura i progressi in modo diverso, impiegando indicatori delle prestazioni distinti.
- Per tenere traccia dell'avanzamento, Scrum si basa invece sulla rapidità (lavoro completato secondo sprint), i grafici burndown (lavoro rimanente nel tempo) e gli obiettivi di sprint.
- Agile non si concentra su parametri fissi, ma piuttosto sulla soddisfazione del cliente, sulle capacità di adattamento del team e sui tempi di ciclo, adeguando le misure da seguire secondo necessità.
- Per ottimizzare i workflow, Kanban prevede l'impiego di lead time (tempo che intercorre dalla richiesta al completamento), tempi di ciclo (tempo impiegato per svolgere un compito) e WIP (Work in Progress, lavori in corso).
Come abbiamo già visto, Scrum punta sulla flessibilità e sull'avanzamento iterativo. In questo modo, è possibile definire un approccio strutturato che consente ai team di restare concentrati sugli obiettivi, adattandosi in modo semplice e veloce alle nuove esigenze. Questo equilibrio ottimizza la gestione dei progetti e offre i seguenti vantaggi:
Anche se offre diversi vantaggi, Scrum non è sempre un metodo semplice da adottare. Per implementarlo in modo efficace, è necessario cambiare radicalmente la mentalità aziendale e promuovere una collaborazione e un impegno costanti dei team. I team che non hanno mai utilizzato Scrum possono avere difficoltà a adeguarsi alle aspettative e ai ritmi concitati che comporta l'organizzazione autonoma. Prima di adottare appieno l'approccio basato su Scrum, è indispensabile tenere conto dei seguenti ostacoli:
Scrum promuove la collaborazione e il lavoro mirato. In realtà, capita che vengano assegnati diversi progetti contemporaneamente a molti team. Oltre a ridurre l'efficienza, questo può rendere difficile impegnarsi appieno nelle procedure del metodo Scrum. Quando sono costrette a destreggiarsi tra impegni diversi, le persone possono avere difficoltà a partecipare ai Daily Scrum, a dare un contributo agli sprint o a mantenere chiare priorità. Per ovviare a questo problema, le organizzazioni devono cercare di limitare al minimo il passaggio da un contesto all'altro e assegnare il personale, quando possibile a un unico team Scrum. Se però il multitasking è inevitabile, una gestione chiara dei carichi di lavoro e l'impiego di strategie per l'assegnazione delle priorità sono indispensabili per garantire la massima produttività, senza correre il rischio che i singoli componenti del team siano sovraccaricati.
Per la loro struttura, gli sprint Scrum richiedono che il lavoro venga completato in un arco di tempo prestabilito. I team possono trovarsi in difficoltà quando devono preventivare la quantità di lavoro che può essere completata in uno sprint, per evitare che al termine del ciclo non ci siano compiti ancora da completare o da portare a termine in fretta. Se questo è un problema, occorre aiutare i team a perfezionare le tecniche di previsione e a migliorare la pianificazione degli sprint utilizzando dati cronologici e sistemi per il rilevamento della velocità.
Uno dei principali vantaggi di Scrum è il suo carattere iterativo. L'iterazione, però, presuppone che ogni tipo di problema venga individuato e risolto tempestivamente. Se un team non riesce a farlo, gli ostacoli possono accumularsi e ritardare oppure compromettere l'avanzamento del lavoro. Uno Scrum Master esperto assume il ruolo principale nell'accelerazione della risoluzione dei problemi, ma anche i componenti del team devono agire attivamente sollevando eventuali dubbi e collaborando all'individuazione dei problemi. Quando si incoraggia una cultura incentrata sull'apprendimento continuo e sulla condivisione delle conoscenze, i team possono lavorare in modo più agile alla risoluzione dei problemi.
Scrum è pensato per promuovere la responsabilità collettiva del lavoro, ma in molte organizzazioni la valutazione delle prestazioni si basa ancora sui risultati dei singoli. Questa frammentazione può creare tensioni all'interno dei team, se i membri si concentrano sul proprio successo personale piuttosto che sui risultati del team. Le organizzazioni che utilizzano Scrum devono valutare la possibilità di cambiare i propri metodi di valutazione per dare importanza contributi del team, la responsabilità condivisa e il successo basato sulla collaborazione.
Le sfide sopra elencate possono sembrare insormontabili, ma non devono costituire un ostacolo all'implementazione di Scrum. Le seguenti best practice possono aiutare anche i team che hanno maggiori riserve a lavorare al meglio:
Scrum dà i massimi risultati quando il team lavora come una squadra, ma una collaborazione efficace va ben oltre il semplice lavoro con gli altri. Per incoraggiare la collaborazione tra pari, è necessario promuovere un ambiente in cui i componenti del team condividono le conoscenze in modo attivo ed efficace, si supportano a vicenda e risolvono insieme i problemi. Per raggiungere questo obiettivo, è consigliabile programmare il lavoro insieme ai colleghi e formare il personale di diverse funzioni aziendali. Come ulteriore supporto, si possono condurre discussioni aperte in occasione dei Daily Scrum e delle retrospettive degli sprint.
Scrum si basa su sprint di durata prestabilita per far sì che il lavoro proceda in modo stabile e prevedibile. Ovviamente, questi intervalli di tempo possono sembrare molto rigidi e i team hanno magari la tentazione di estendere le scadenze degli sprint per lavorare in modo meno concitato. Se da un lato la flessibilità è uno dei vantaggi principali offerti da Scrum, la modifica continua della durata degli sprint può generare incoerenze e ostacolare il rilevamento dei progressi effettuati. Per questo i team dovrebbero attenersi agli intervalli temporali consigliati, che in genere durano due settimane, per trovare un equilibrio fra capacità di reazione e sviluppo sostenibile. Con sprint può brevi, potrebbe non essere disponibile il tempo necessario per completare i lavori più importanti, mentre sprint più lunghi possono ridurre il senso di urgenza e ritardare l'acquisizione di feedback.
Una lavagna Scrum ben strutturata offre visibilità sul workflow e consente ai componenti del team di tenere traccia dei progressi, identificare eventuali ostacoli e procedere verso il conseguimento di obiettivi stabiliti. Che sia fisica o digitale, una lavagna Scrum deve visualizzare chiaramente il backlog di prodotti e sprint e lo stato effettivo del lavoro. Le lavagne Scrum virtuali assicurano maggiore flessibilità, in quando consentono la collaborazione da remoto e il rilevamento automatizzato.
Grazie agli eventi Scrum, le aziende hanno diverse opportunità per riunire tutti i componenti del team e discutere del progetto, ma le riunioni non devono diventare di per sé un obiettivo. Le riunioni devono raggiungere uno scopo chiaro che contribuisca direttamente alla corretta esecuzione dello sprint. Gli sprint devono concentrarsi sulla concisione, sulla fattibilità e sull'allineamento delle discussioni ai rispettivi obiettivi. Se non promuove un avanzamento significativo verso l'obiettivo specifico dello sprint, la riunione deve essere riorganizzata.
ServiceNow AI Platform è una suite completa di soluzioni e applicazioni che consente di implementare Scrum in modo efficace per le attività di pianificazione, rilevamento e automazione dei workflow. Gestione portfolio strategica (SPM) di ServiceNow fornisce tutti gli strumenti necessari per allineare le iniziative agili agli obiettivi aziendali. Sfruttando dati in tempo reale, funzionalità di automazione e informazioni approfondite generate dall'AI avanzata, SPM consente di assegnare la giusta priorità ai lavori, gestire le dipendenze e promuovere la generazione continua di valore.
Gli Scrum Programs for Agile Development di ServiceNow semplificano ulteriormente la collaborazione tra diversi team che procedono insieme verso un obiettivo condiviso. La Scrum Program Planning Board fornisce un'interfaccia centralizzata in cui l'organizzazione può assegnare i lavoro, tenere traccia dell'avanzamento e gestire le dipendenze tra i vari reparti, garantendo un coordinamento ottimale anche in ambienti agili complessi. I team possono agire seguendo cadenze sincronizzate o variabili degli sprint, mantenendo al contempo una visibilità completa sulla definizione delle priorità dei backlog e sulla distribuzione dei carichi di lavoro.
Scopri come Gestione portfolio strategica di ServiceNow migliora le strategie di definizione degli obiettivi aziendali. Richiedi subito una demo!