Metodologia Agile: le basi
- Marco Medri
- 2 set 2022
- Tempo di lettura: 3 min
Aggiornamento: 26 ott 2022
Agile è una metodologia di management, sviluppata principalmente in ambiente software development.
Perché Nasce?
I vecchi sistemi di management, Waterfall in particolare, non rispondevano più alle esigenze delle nuove tipologie di progetto. Come spesso succede, con il tempo, le cose cambiano e lo stesso succede col Project Management, che per definizione deve variare, deve essere cucito attorno al progetto.
Questa metodologia, cerca proprio di adattarsi il più possibile al paradigma dello sviluppo software. In questo mondo, tutto cambia, velocemente e noi non possiamo andare Piano.
Composizione
Non vado in dettaglio nel descrivere il famoso Manifesto Agile che si compone di
12 Principi di base
4 Valori fondanti Valori fondanti
Cito testualmente:
We are uncovering better ways of developing software by doing it and helping others do it.
Individual and Interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over follow the plan
Questi sono l'ispirazione della metodologia stessa, su di essa si sono sviluppati poi differenti framework che hanno cercato di incasellare questi principi in linee guida pratiche.
Framework Scrum
Iniziamo con le definizioni principali per comprendere questa metodologia
BACKLOG
Il backlog rappresenta l'insieme di attività da portare a termine.
Product Backlog: insieme delle attività per concludere il progetto
Spring Backlog: insieme di attività per concludere lo sprint
Da queste due definizioni di base, passiamo a descrivere gli aspetti cardine che definiscono il modello, chi deve fare cosa, cosa fare, e quando farlo.
Figure di riferimento
Esistono essenzialmente 3 ruoli
Scrum Master: rappresenta la figura chiave che si occupa di far si che la metodologia Agile venga implementata.
Product Owner (PO): ha la responsabilità di produrre un ottimo prodotto. Porta avanti gli interessi del committente (spesso è il cliente stesso). Dovrebbe esserci un solo PO per team. è focalizzato sulla parte business e sul portare valore.
Developers Team: è il gruppo di persone che si occupa di sviluppare il prodotto.
Workflow
Lo sviluppo di un progetto prevede 4 momenti fondamentali
Sprint: dura 1-4 settimane. Lo scopo è quello di produrre tutte le features decise nello Sprint Planning. I due eventi principali che contraddistinguono lo Sprint sono:
Sprint Review: quando si mostra agli stakeholders il risultato dello sprint. In genere viene prodotta una demo
Sprint retrospective: rivolto verso il team per darsi un feedback come team. Come migliorare e cosa è andato bene. Esistono molti "giochi" interattivi per avere la massima collaborazione del team in questo evento fondamentale, per apportare miglioramenti al lavoro di tutto il gruppo.
Sprint Planning: all'inizio dello sprint ci si riunisce per
Accordarsi sui goal dello sprint le priorità sono date dal PO
Selezionare gli item dal Product Backlog che portano al goal
Creare lo Sprint Backlog
Daily Scrum: una riunione di 15 minuti, tutti i giorni, atta a capire i progressi dello sprint. Serve per capire se ci sono impedimenti, deve essere breve e coincisa.
Backlog refinement: è importante agire sul backlog e modificarlo/aggiornarlo in corso d'opera per portare il massimo valore.
Approfondimenti
Consiglio di approfondire alcuni temi come
Definition of Done: avere una chiara e condivisa definizione di quando un task sia completato è essenziale
Burndown chart: utile grafico per capire come stiamo procedendo nel raggiungimento del prodotto finale
Definizione di Velocity: capacità di produrre valore in uno sprint
Kanban
Il secondo modello implementativo della filosofia Agile è il kanban, esso deriva dal mondo manufatturiero e dalla pratica Just-in-time, ovvero in ogni istante l'ammontare di task da processare è equivalente alla mia capacità di produzione.
Per fare ciò tutta la metodologia si basa sulla Kanban board, ovvero una lavagna con 3 colonne principali. I task man mano che vengono completati si spostano da sinistra a destra.

La tipologia di sistema che definisce al meglio questo framework è Pull system ovvero una metologia che rinpingua i task quando sono stati completati, senza sprechi.
Best Practice
I punti chiave del framework sono:
Visualizzazione del workflow: devo vedere l'intero progetto sulla lavagna;
Riduzione Work in Progress: tutti i task sono in funzione della capacità produttiva del team per assicurare la massima efficienza;
Workflow efficiente: misurazione del lead time, il tempo totale necessario a completare un task;
Politiche di management esplicite: chiarezza dell'obiettivo comune;
Feedback: ciclo positivo di feedback per migliorare il lavoro.
Comments