Scrum: guida definitiva

Scrum è un framework che applica i principi Agile, un insieme semplice ma potente di nozioni e pratiche che aiutano i team a realizzare prodotti suddivisi in cicli brevi, ricevendo feedback veloci dal cliente che permettono un miglioramento continuo e un rapido adattamento al cambiamento. scopriamolo insieme.

Scrum: Guida definitiva

Che cos'è Scrum

Scrum è un framework che applica i principi Agile, un insieme semplice ma potente di nozioni e pratiche che aiutano i team a realizzare prodotti suddivisi in cicli brevi, ricevendo feedback veloci dal cliente che permettono un miglioramento continuo e un rapido adattamento al cambiamento.

Come funziona Scrum e perché applicarlo

Scrum prevede che il lavoro venga definito in brevi iterazioni temporizzate chiamate sprint che di solito durano 1, 2 o 3 settimane.
Il lavoro Scrum prevede la pianificazione del primo sprint con le attività estratte dal Product Backlog e definite tramite User Story (descrizione di una funzionalità software dal punto di vista dell'utente finale utilizzando la formula "As a ...," "I want ...," "so that ..." per descrivere il tipo di utente, cosa vuole e perché).
L'obiettivo di Scrum è avere un software funzionante alla fine di ogni sprint, consentendo un feedback veloce da parte del cliente.
Alla fine dello sprint, il team si riunisce per rivedere il lavoro svolto, capire se ci sono miglioramenti da applicare e pianificare lo sprint successivo.

I 3 ruoli di Scrum

Scrum prevede la presenza di tre ruoli:

  • Scrum Master, il leader dello Scrum team.
    È il coach del team semplifica la collaborazione, rimuove gli impedimenti, facilita i rituali di sprint, salvaguardia il processo Scrum e protegge il team dalle pressioni sul tempo e sugli obiettivi attraverso confronti 1 to 1 in caso di necessasità.
    Non assegna compiti ai membri del team e non è responsabile della consegna di un progetto (mansione del Product Owner).
  • Product Owner, il responsabile della consegna del prodotto.
    Il Product Owner  è il mediatore tra il cliente e il team: ha il compito fondamentale di organizzare e compilare le attività attraverso il Backlog. 
  • Membro del team, appartenente allo Scrum Team, composto da risorse interfunzionali e auto-organizzate.
    Tutti i partecipanti al progetto lavorano insieme, si aiutano a vicenda e non sono necessariamente vincolati a ruoli distinti come architetto, programmatore, designer o tester.

Creazione della Scrum Board su Jira Cloud di Atlassian

Jira Cloud è alleato e compagno della vita quotidiana di Hinto® perché semplice, flessibile e intuitivo.
La creazione di una Scrum Board è immediata:

1. Scelta della tipologia di Board

Tipologia di Board

2.Spiegazione dei fondamenti dello Scrum

Scrum

3.Definizione del nome e della key con possibilità di basare la struttura della board clonando la struttura di un altro progetto

Crea progetto

4.Et voilà: la Board è pronta per essere popolata dai task.

Board

La rappresentazione visiva di una Scrum Board è molto simile ad una Kanban Board, ma prevede un Product Backlog separato dalla Board in cui è possibile aggiungere User Stories e task organizzandole già nel primo e nei successivi Sprint.
Jira permette anche di definire la durata degli sprint, l'avvio e la chiusura degli sprint e gestire automaticamente i task non completati negli sprint: la natura intuitiva di Jira infatti, se stai per chiudere uno sprint e ci sono ancora attività da completare ti richiedere di completarle, di spostarle nel successivo sprint o di allocarle nel backlog.

Flusso, attività e cerimonie di Scrum

Scrum ha un flusso definito e una serie di rituali e attività.

Scrum

Pianificazione dello sprint

Prima che uno sprint inizi, lo Scrum Master facilita un incontro, chiamato Sprint Planning Meeting, tra lo Scrum Team e il Product Owner, in cui il Product Owner identifica gli obiettivi dello sprint imminente e il team pianifica il proprio lavoro in base agli obiettivi.
Questo di solito viene fatto definendo le seguenti attività:

  • Capacità dello sprint: il team determina la capacità dello sprint, tenendo conto del numero di giorni, del numero di membri del team, delle vacanze, ecc.
  • Obiettivi dello sprint: il Product Owner identifica quali sono gli obiettivi dello sprint e li riporta nel backlog.
  • Selezione del lavoro: vengono selezionate le user stories che verranno affrontate nello sprint. Man mano che le storie vengono inserite, vi è un confronto tra Product Owner e lo Scrum Team per approfondire i requisiti della storia.
  • Analisi delle attività: il team Scrum discute ogni User Stories in dettaglio parlando della pianificazione e di come verranno completate.
    Potrebbe capitare di dover produrre dei task secondari necessari al completamento delle User Stories: una volta completato l'elenco delle attività secondarie, la stima delle primarie viene rivista e aggiornata se necessario.
  • Impegno dello sprint: una volta che tutte le storie sono state suddivise e le stime sono state aggiornate, vengono confermate le attività presenti nello sprint.

Let’s go, ora bisogna lavorare allo sprint!

Esecuzione dello sprint

Lo Scrum Team lavorerà sui vari task o sulle User Stories, aggiornando lo stato di esso spostandolo da una colonna della Scrum Board alla successiva (Da fare> In corso> Test> Completato) sulla Scrum Board.

Board Kankaban

I progressi del team vengono monitorati utilizzando un grafico burn-down che mostra la quantità di lavoro completato e rimanente misurata in story point. I punti rimanenti della storia vengono visualizzati sull'asse Y e il tempo rimanente viene mostrato sull'asse X. Il grafico burn-down viene aggiornato al termine delle storie.
Jira permette di avere questi dati automatici nella sezione dei report, come mostrato di seguito:

Agile

Standup quotidiano

All'inizio di ogni giornata dello sprint, lo Scrum Master facilita un breve incontro di 15 minuti con lo Scrum Team e il Product Owner per pianificare la giornata e rivedere i progressi dello sprint. Questa è una breve riunione in cui tutti sono tenuti a rispondere alle seguenti domande in 2 minuti o meno, facendo riferimento a elementi specifici sulla Sprint Board:

  • Cosa hai fatto ieri?
  • Cosa pensi di fare oggi?
  • Ci sono impedimenti che ti impediscono di portare a termine il tuo lavoro?

Ciò consente a tutti di vedere su cosa stanno lavorando, vedere quali progressi sono stati compiuti o meno e identificare gli ostacoli e / o l'aiuto necessario.

Sprint Demo

Alla fine dello sprint, lo Scrum Master facilita uno Sprint Demo Meeting in cui ogni task completato viene mostrato sul software funzionante al proprietario del prodotto e al resto del team. Il proprietario del prodotto definirà “completato” il task se esso rispetterà tutti gli Acceptance Criteria (l'elenco di elementi testabili specifici della storia).
Se un task non viene ritenuto “completato”, viene reinserito nel backlog nell'ordine di priorità per essere completato in un secondo momento.
Spesso, le parti di una storia che il Product Owner non accetta vengono suddivise in una o più tasks separati e la storia originale viene chiusa.
La velocità di esecuzione dello sprint (definito tramite gli story point) viene utilizzata per tenere traccia del livello di output del team e viene usata per stimare quando tutti i task saranno completi.

Usare gli Story Points per effettuare la stima

Le User Stories devono essere stimate e spesso questa operazione non è per niente facile, per questo vengono utilizzati metodi per classificare l’effort richiesto per il completamento dell’attività definiti Story Points.
Questo metodo consiglia di confrontare le User Stories da stimare con pezzi di lavoro precedenti, noti e ben compresi.
Bisogna stimare ponendosi sempre la domanda: "Questa storia è più grande, più piccola o approssimativamente della stessa dimensione della User Story X realizzata precedentemente?".Vengono utilizzati diversi valori numerici o convenzionali:

  • La scala di Fibonacci (1, 2, 3, 5, 8, 13, 21 ...) è quella più usata usata in cui ogni incremento è circa il doppio del precedente (una storia di cinque punti è più o meno grande il doppio,xx come una storia in tre punti).
  • Taglie di magliette (XS, S, M, L, XL)
  • Dimensione dei pesci (pesciolini, pesci rossi, trote, tonni, balene, ecc.).

Qualsiasi scala che ti consenta di confrontare le dimensioni di qualcosa rispetto ad altro funzionerà.
La somma degli Story Point rappresentano l'intero sforzo del team per implementare una storia, inclusi sviluppo, test, progettazione e altre attività varie necessarie per la Definizione di Done (DoD).
La stima tiene conto della quantità di lavoro, complessità e rischio.
I vantaggi della stima in story point sono:

  • Rapidità;
  • Sufficientemente accurato da fornire una panoramica dell'ambito, pianificare il lavoro futuro, stabilire le priorità e gestire le aspettative;
  • Mostra le incertezze che verranno colmate per completare la stima;
  • Coinvolge tutti (sviluppatori, designer, QA, product manager), utilizzando più prospettive per determinare la dimensione del lavoro;
  • Misura la velocità del team.

Anche per le stime Jira permette di assegnare una stima temporale in ore o giorni, ma anche una stima in Story Points, permettendoti di gestire questa informazioni in maniera autonoma e personale.

Sprint Retrospective

Dopo lo sprint demo, ma prima del prossimo sprint planning meeting, lo Scrum Master facilita una retrospettiva dello sprint in cui il team riflette sullo stesso appena completato e discute su cosa è andato bene e cosa no in modo da poter migliorare continuamente. Ci sono una miriade di formati o esercizi retrospettivi che possono essere utilizzati per aiutare il team a generare discussioni.
In Hinto abbiamo semplificato la pratica di tracciamento delle retrospettive realizzando un template sul nostro Confluence.
In questo modo è molto semplice riuscire a tracciare anche solo visivamente ciò che è andato bene nello sprint, ciò che è andato male e ciò che si può fare per migliorarsi.

Sprint Retrospective

 

Sprint

Vantaggi e svantaggi di Scrum

L’utilizzo di Scrum non è per tutte le realtà e presenta anche evidenti svantaggi:

  • Aumenta la trasparenza e la responsabilità che è sia un vantaggio che uno svantaggio in quanto i problemi e le scarse prestazioni all'interno e all'esterno del team sono esposte.
  • Scrum Team o Scrum Master inesperti e / o non impegnati possono causare seri problemi a causa di un'applicazione errata della metodologia Scrum. Non ci sono ruoli definiti nel team Scrum poiché tutti fanno tutto, quindi sono necessari membri del team impegnati con esperienza tecnica per seguire il processo Scrum e migliorare nel tempo.
  • Esiste il rischio di scope creep, soprattutto se non esiste una data di fine definita
  • User stories o task mal definiti possono portare a rielaborazioni, stime imprecise e ampliamento dell'ambito.
  • Scalabilità: l' adozione del framework Scrum in team di grandi dimensioni è una sfida poiché Scrum è pensato per team più piccoli.

Il vantaggio principale di Scrum è quello di consentire ai team di progetto di ricevere feedback continuiadattarsi rapidamente ai requisiti in evoluzione e all'incertezza, ridurre gli sprechi, aumentare la visibilità , la trasparenza e impegnarsi per il miglioramento continuo. Concentrandosi sempre sugli elementi più importanti nel backlog del prodotto e lavorando solo in brevi iterazioni che producono sempre un software funzionante, Scrum, è più focalizzato sul cliente e consente ai clienti di vedere cosa gli piace (e cosa non piace) per apportare le modifiche necessarie. Il costo generale in termini di processo e gestione è inferiore, portando così a risultati più rapidi ed economici.
Scrum è un'ottima metodologia per progetti con requisiti che non sono chiaramente noti e / o che dovrebbero cambiare.
Scrum è ideale anche per team esperti e motivati in quanto consente ai team di organizzare il lavoro da soli e fornisce visibilità, trasparenza e responsabilità sia per i progressi che per i problemi. Tutto ciò porterà i team a migliorare e diventare più produttivi nel tempo.

Hai bisogno di consulenza o conoscere l’utilizzo di Scrum grazie agli strumenti Atlassian?

Hinto® da sempre utilizza Scrum ed è Gold Partner Atlassian.
Attraverso questo articolo ci auguriamo di averti trasmesso interesse per questo framework.