Cos'è Scrum? Che cos'è e perché funziona così bene

Fotografia del viso della collaboratrice Julia MartinsJulia Martins
1 febbraio 2024
9 minuti di lettura
facebookx-twitterlinkedin
Illustrazione di Scrum
Vedi modelli

Se fai parte o collabori con un team di prodotto, progettazione o sviluppo software, probabilmente hai già sentito il termine Scrum. Scrum è un framework progettato per i team che creano e iterano rapidamente, e l'implementazione dei processi Scrum può aiutarti a lavorare insieme per risolvere problemi complessi. Anche se non fai parte di un team di progettazione o di sviluppo prodotto o software, potresti comunque trarre vantaggio da Scrum. In questo articolo, tratteremo tutto ciò che devi sapere, incluso cos'è e perché funziona così bene.

Cos'è Scrum?

Scrum è un framework Agile che aiuta i team a collaborare e a svolgere lavori di grande importanza. Il framework Scrum fornisce un modello di valori, ruoli e linee guida per aiutare il tuo team a concentrarsi sull'iterazione e sul miglioramento continuo.

In genere, Scrum è strutturato in sprint, che di solito sono sessioni di lavoro della durata di due settimane, al termine delle quali ci si aspetta un risultato finale. Ci sono altri due eventi Scrum: le riunioni giornaliere stand-up che, come suggerisce il nome, si tengono una volta al giorno e sono un'opportunità per il team di riunirsi per 15 minuti e coordinare le attività della giornata, e la retrospettiva sullo sprint, che si svolge al termine dello stesso. Durante la retrospettiva, che sarà gestita dallo Scrum master, il team ha la possibilità di riflettere su quanto fatto e su quanto va cambiato in vista di sprint futuri.

Gestisci i team Agile con Asana

Scrum, Kanban e Agile

Potresti aver sentito parlare di Scrum in relazione ad altre metodologie, come Kanban o Agile. Ciascuno di questi framework svolge un ruolo unico nel modo in cui i team possono collaborare e migliorare continuamente, ma sono strettamente legati tra loro all'interno del framework della metodologia snella. Vediamoli a confronto.

Agile è una filosofia di gestione dei progetti che aiuta i team a migliorare continuamente. I team Agile credono nello sviluppo iterativo e incrementale che aiuta a rispondere al cambiamento e ad affrontare l'incertezza. Sia Scrum che Kanban sono sottoinsiemi della metodologia Agile. Pensa ad Agile come a un termine generale.

Gestisci i team Agile con Asana

Scrum è una delle metodologie Agile più popolari. Se usi Scrum, sei un team Agile. Ma il framework Scrum ha ruoli e sistemi aggiuntivi per aiutare i team a essere agili. In Scrum, come in Agile, i team lavorano per il miglioramento continuo. Ma a differenza di Agile, che è più una filosofia o un framework, Scrum stabilisce modi specifici in cui i team possono migliorare continuamente, attraverso strumenti come sprint, stand-up e retrospettive.

[Vista Bacheca] Bacheca Kanban con uno sprint del team per Scrum in Asana

Anche il framework Kanban è un sottoinsieme di Agile. Kanban è un modo visivo per gestire processi e lavoro continui. Con gli strumenti Kanban, i team possono visualizzare le attività mentre si spostano da una fase all'altra fino al completamento. Spesso, i team che utilizzano Scrum lo fanno in bacheche Kanban, sebbene ciò non sia obbligatorio.

Leggi: Kanban e Scrum: qual è la differenza?

La storia di Scrum

Il termine "Scrum", così come lo conosciamo oggi, comparve per la prima volta nell'articolo The New New Product Development Game scritto da Hirotaka Takeuchi e Ikujiro Nonaka e pubblicato sulla rivista Harvard Business nel 1986. I due presero il termine "scrum" (mischia) dal rugby, spiegando che "come nel rugby, la palla viene passata tra i giocatori di una squadra mentre questa si muove come un'unità sul campo".

Il framework Scrum è stato ulteriormente sviluppato e codificato da Ken Schwaber e Jeff Sutherland nel 1995, quando pubblicarono Manifesto Agile e SCRUM Development Process.

Il metodo Scrum di Schwaber e Sutherland è stato in parte un rifiuto del modello a cascata dello sviluppo del software. In tale modello, i progetti sono suddivisi in fasi sequenziali, in cui i risultati finali di ciascuna fase sbloccano la fase successiva. Schwaber e Sutherland ritenevano che gli sviluppatori di software potessero trarre vantaggio da un approccio più flessibile e iterativo, che consentisse loro di rispondere e adattarsi continuamente al proprio ambiente, al fine di creare il prodotto migliore per i clienti.

Dopo la prima pubblicazione, Schwaber e Sutherland hanno pubblicato la Scrum Guide, un documento che aggiornano regolarmente. Secondo la guida, Scrum incoraggia "i team a dare un'occhiata a quanto siano efficaci le loro tecniche di lavoro e li sfida a evolversi e migliorarsi continuamente".

Come funziona Scrum

La cosa più importante da sapere se si intende eseguire un processo Scrum è che il framework si basa su un sistema di miglioramento continuo. In Scrum, sei consapevole che potresti non sapere tutto all'inizio di uno sprint, ma puoi regolare i tuoi processi e le tue esigenze secondo necessità, in base alle informazioni che ottieni durante il processo di sprint.

Eventi tipici di Scrum

Ma cos'è esattamente Scrum? Cosa farà il tuo team se adotti questa metodologia? Ecco come si sviluppa il processo Scrum.

1. Organizza il tuo backlog: per iniziare uno sprint Scrum, il tuo team leader (noto anche come Scrum master) identificherà le attività da svolgere a partire dal product backlog, che è l'elenco di ciò che deve essere fatto. Per avere il miglior sprint Scrum possibile, assicurati di avere il tuo product backlog chiaramente documentato in un unico posto. Prendi in considerazione l'utilizzo di uno strumento di gestione dei progetti per raccogliere tutte queste informazioni.

2. Indici una riunione di pianificazione dello sprint: prima di iniziare il tuo sprint Scrum, devi sapere su cosa ti concentrerai. Durante la sessione di pianificazione dello sprint, valuterai a quale attività del backlog si dedicherà il tuo team durante quello specifico sprint. Per iniziare, prova il nostro modello gratuito di pianificazione degli sprint.

3. Inizia il tuo sprint Scrum: in genere, uno sprint dura due settimane, anche se puoi avere sprint più brevi o più lunghi in base a quello che meglio conviene per il tuo team. Durante lo sprint, il tuo team lavorerà alle attività del backlog identificate durante la sessione di pianificazione dello sprint.

[Vista Bacheca] Bacheca Kanban con uno sprint del team di tecnici per Scrum in Asana

4. Indici riunioni stand-up giornaliere: metti in agenda un incontro della durata di 15 minuti con il tuo team Scrum ogni giorno. Le riunioni giornaliere in piedi sono la tua occasione per fare il punto su ciò a cui state lavorando e valutare eventuali blocchi imprevisti in cui potreste esservi imbattuti. Prova il nostro modello gratuito per riunioni stand-up giornaliere per organizzare meeting efficaci.

5. Presenta il tuo lavoro durante la revisione dello sprint: una volta terminato lo sprint Scrum, il tuo team dovrebbe riunirsi per una revisione del lavoro svolto, durante la quale presenterà il lavoro "Fatto" per l'approvazione o l'ispezione delle parti interessate.

6. Confrontati e rifletti durante la retrospettiva sullo sprint: al termine dello sprint, trova del tempo per discutere di come è andato e cosa potrebbe essere migliorato in futuro. Ricorda che Scrum crede in un processo di miglioramento continuo, quindi non esitare a provare nuovi processi o rielaborare strategie che sembrano meno efficaci durante il tuo prossimo sprint. Prova il nostro modello di retrospettiva sprint gratuito per organizzare la tua prossima riunione.

Cosa significa "Fatto"?

Prima di iniziare con Scrum, assicurati che il tuo team abbia chiaro cosa significa "Fatto". Poiché il framework si basa su un processo di miglioramento continuo, il significato di questo termine potrebbe non essere così ovvio come credi. In Scrum, niente è perfetto, perché il tuo team è flessibile e migliora in modo iterativo. Quindi "Fatto" non significa "non può essere fatto meglio", ma piuttosto che il tuo team Scrum smetterà di lavorarci, per ora.

Per esempio, ecco alcune definizioni di "Fatto" per i diversi team Scrum:

  • il prodotto è pronto per essere rilasciato

  • il prodotto è stato testato ed è pronto per essere rilasciato in ambiente beta

  • il prodotto è stato testato per l'approvazione e può essere distribuito a tutti gli utenti

A prescindere da quale sia la definizione di "Fatto" del tuo team, assicurati che tutti siano sulla stessa lunghezza d'onda. Una volta stabilita, è utile conservarla in un posto condiviso e farvi riferimento frequentemente, specialmente durante la revisione dello sprint.

Artefatti Scrum

In Scrum, un artefatto è qualcosa che crei, come uno strumento per risolvere un problema. Ci sono tre artefatti in Scrum: il product backlog, lo sprint backlog e l'incremento di prodotto.

Product backlog

Il product backlog è l'elenco principale delle attività da svolgere e deve essere valutato dal project manager o dal product owner. Tuttavia, solo perché qualcosa è nel product backlog, non significa che il tuo team dovrà lavorarci. Piuttosto, il tuo team può scegliere a quali attività del product backlog lavorare durante uno sprint Scrum. I product owner dovrebbero riordinare e aggiornare frequentemente il product backlog sulla base di nuove informazioni provenienti dai clienti, dal mercato o dal team di progetto.

Sprint backlog

Lo sprint backlog è la raccolta delle attività o dei prodotti ai quali il tuo team si è dedicato nel corso di uno sprint Scrum. Questi vengono scelti dal product backlog durante la sessione di pianificazione dello sprint e spostati nel progetto di pianificazione dello sprint del tuo team, se ne hai uno.

Il tuo team potrebbe non portare a termine tutto ciò che c'è nel backlog durante ogni sprint, ma è improbabile che tu aggiunga attività al backlog a metà sprint. Se ti ritrovi a farlo frequentemente, dedica più tempo alla fase di pianificazione, in modo da avere un'idea concreta di ciò a cui lavorerai durante lo sprint.

Incremento di prodotto

L'incremento di prodotto è ciò che consegnerai alla fine di uno sprint. Può essere un nuovo prodotto o una nuova funzionalità, un miglioramento o una correzione di bug, o qualsiasi altra cosa a seconda della natura del tuo team. Presenta il tuo incremento durante la revisione dello sprint. A quel punto, verrà lanciato o meno in base a ciò che ne pensano gli stakeholder Scrum e se è "Fatto".

Ruoli Scrum

I ruoli Scrum principali sono tre.

  • Product owner: responsabile del mantenimento del product backlog, deve conoscere le esigenze degli utenti e fungere da portavoce con il team e gli stakeholder esecutivi. Un buon product owner sarà in grado di informare chiaramente il team sui prossimi risultati essenziali da raggiungere. È anche la persona che decide se il prodotto è pronto per essere distribuito o meno (spesso dando priorità alla distribuzione frequente).

  • Scrum master: è la persona che gestisce i vari eventi Scrum (una specie di project manager e facilitatore). Ha il compito di agevolare le riunioni stand-up giornaliere e condurre gli incontri di pianificazione, revisione e retrospettiva degli sprint.

  • Team Scrum: chiunque partecipi allo sprint. I membri di questi team dovrebbero sapersi organizzare e collaborare, al fine di raggiungere l'obiettivo Scrum di miglioramento continuo.

Principi Scrum

Ci sono sei principi Scrum che ti aiutano ad applicare il framework e a trarne vantaggio.

  1. Controllo sul processo empirico: i team Scrum credono nella trasparenza, nel controllo e nell'adattamento.

  2. Autoorganizzazione: sebbene il tuo team Scrum avrà ruoli e regole, ogni membro viene incoraggiato ad assumersi la responsabilità del proprio lavoro e delle attività assegnategli. La metodologia Scrum crede che la responsabilità condivisa porti a team più creativi e dinamici.

  3. Collaborazione: il tuo team fornirà i migliori risultati se lavorerete insieme durante e dopo lo sprint Scrum.

  4. Priorità basata sul valore: l'obiettivo di uno sprint Scrum è ottenere il miglior valore commerciale. A tale scopo, bisogna assegnare la priorità alle attività da svolgere fin dall'inizio del processo.

  5. Timeboxing: ci sono varie attività nel processo Scrum basate sul tempo, come lo sprint stesso, le riunioni stand-up giornaliere e la retrospettiva. Scrum si basa sul principio del miglioramento costante, quindi è importante pianificare il tempo da dedicare a un'attività per poter passare poi a quella successiva e migliorare i processi futuri.

  6. Sviluppo iterativo: in Scrum, il tuo primo prodotto sarà tutt'altro che perfetto, ma grazie all'iterazione, il tuo team sarà in grado di adattarsi alle esigenze dei clienti e modificare il prodotto e i risultati in base al valore che apportano.

Valori Scrum

Per trarre il massimo vantaggio, i team devono condividere i cinque valori Scrum principali illustrati nella Scrum Guide.

  • Impegno: il team Scrum è un'unità e i membri del team devono fidarsi l'uno dell'altro, impegnarsi nello sprint per tutta la sua durata e dedicarsi al miglioramento continuo, al fine di trovare la soluzione migliore.

  • Coraggio: durante uno Scrum, il team potrebbe riscontrare problemi complessi, per i quali non esiste una soluzione giusta o sbagliata. I team Scrum hanno il coraggio di porre domande scomode o difficili e di rispondere onestamente per arrivare alla soluzione migliore.

  • Concentrazione: durante uno sprint Scrum, il team lavora a partire da un product backlog e concentra tutti gli sforzi sulle attività scelte, al fine di conseguire i risultati prefissati entro la fine dello sprint.

  • Apertura mentale: non filerà tutto liscio durante uno Scrum. I membri del team devono essere aperti a nuove idee e opportunità che li aiutino ad apprendere individualmente e che possano contribuire a migliorare il loro prodotto o processo.

  • Rispetto: la collaborazione è alla base di Scrum. Pertanto, ogni singolo membro deve avere rispetto per tutti gli altri componenti del team, lo Scrum master e il processo Scrum.

Il mio team dovrebbe usare Scrum?

Scrum non è per tutti, ma non trova applicazione solo nell'ambito dello sviluppo di prodotti e software e team di progettazione. Qualsiasi team può adottare il framework e utilizzare il miglioramento continuo per conseguire ottimi risultati. Anche Scrum presenta vantaggi e svantaggi.

Vantaggi di Scrum

Scrum è più efficace per i team che hanno bisogno di creare e distribuire con frequenza, che si tratti di "prodotti" tradizionali, come codici o nuove funzionalità, che di "prodotti" Scrum più atipici, come campagne di marketing o risorse creative.

I team che seguono il framework Scrum beneficiano di agilità e flessibilità. Il processo Scrum può aiutarti ad aumentare il lavoro di squadra e a raggiungere i tuoi obiettivi in modo più efficace. Inoltre, i team Scrum sanno sempre esattamente a cosa stanno lavorando, dal momento che scelgono le attività dal product backlog, e hanno chiari i loro obiettivi, poiché tutti concordano su cosa significa "Fatto".

I limiti di Scrum

I progetti Scrum possono spesso risentire di uno slittamento del progetto, in quanto il processo Scrum abbraccia e incoraggia il cambiamento. Se apporti troppe modifiche o ricevi troppi feedback discordanti dai clienti, rischi di fossilizzarti sulle stesse cose senza ottenere risultati concreti.

  • Soluzione: assicurati di definire chiaramente gli obiettivi e l'incremento di ogni sprint. Inoltre, assicurati che tutto il tuo team Scrum abbia chiaro cosa significa "Fatto", in modo che non lavori più di quanto deve. Se necessario, implementa un processo di controllo delle modifiche per evitare questi problemi.

I team Scrum partecipano a molte riunioni: oltre ai regolari incontri per la pianificazione e la revisione dello sprint, si riuniscono anche ogni giorno per una riunione stand-up.

  • Soluzione: se le riunioni quotidiane di Scrum non ti sembrano utili, trova un modo per cambiarle. Monitorare le riunioni stand-up di un progetto ti aiuta a concentrarti solo sulle cose più utili.

Scrum può risultare difficile (sebbene non impossibile) da implementare se non fai parte di un team di sviluppo prodotto, progettazione o sviluppo software.

  • Soluzione: se il tuo team decide di utilizzare Scrum, assicurati di chiarire esattamente come i processi vi aiuteranno. Se possibile, identifica le note dolenti attuali e indica gli eventi Scrum che potrebbero essere d'aiuto. Inoltre, programma varie sessioni di formazione durante i tuoi primi sprint Scrum, per favorire il successo del tuo team.

Iniziare a usare Scrum

I migliori team Scrum sono gruppi collaborativi e iterativi che hanno chiaro ciò a cui lavorano in ogni sprint. Per quello, hai bisogno di un posto di comando centralizzato, come Asana. Scopri come i team Agile eseguono Scrum con Asana.

Risorse correlate

Articolo

Grafico burn-down: cos'è e come usarlo (con esempi)