La scelta Agile e il framework Scrum

La scelta Agile e il framework Scrum

Da qualche tempo abbiamo scelto di abbandonare l'approccio classico waterfall, perché abbiamo potuto sperimentare in molte occasioni i vantaggi di un approccio agile nello sviluppo di prodotti software, usando come faro i quattro valori del Manifesto Agile.
L'agilità per noi non è una scelta di tendenza, ma deriva dal fatto che abbiamo capito che per molti prodotti che realizziamo (anche se non tutti) un approccio adattivo è più proficuo.

Abbiamo capito e sperimentato sulla nostra pelle che l'agilità è innanzitutto un mindset, prima ancora che un insieme di pratiche o l'adozione più o meno ortodossa di un framework come Scrum. – ALBERTO TRONCHIN - IT Board e Scrum Master

Si è agili se tutta l'organizzazione ha fatto questa scelta e ne ha toccato con mano i benefici.
Lavoriamo con un dominio di business in cui esistono scadenze perentorie da rispettare per l'uscita sul mercato di un aggiornamento software. Si tratta di scadenze dettate dalle istituzioni e dall'Agenzia delle Entrate, sulle quali non abbiamo margine di manovra, se non molto limitato. In questo scenario, un approccio incrementale e adattivo non è sempre ideale e pertanto dobbiamo cercare continuamente dei compromessi, non aggrappandoci alle tecniche ma ai principi fondanti.

Abbracciamo il cambiamento

Uno dei quattro principi del Manifesto Agile recita: "È più importante rispondere al cambiamento che seguire il piano". Questo significa adottare un processo di sviluppo del software che non considera il cambiamento come qualcosa da rifuggire, ma come una situazione naturale e frequente.
Proprio per questo, i team di sviluppo prodotto ispezionano continuamente il proprio lavoro (fatto e da fare) per identificare i segnali di cambiamento, in modo tale da "abbracciarli" il più rapidamente possibile. Sia il Business che l'IT sono consapevoli che i cambiamenti sono per lo più inevitabili: si possono manifestare come modifiche delle priorità o dei bisogni/requisiti (quindi originati dal Business) oppure come variazioni nei tempi/costi di realizzazione, magari legati ad imprevisti che si presentano in corso d'opera (quindi originati dal team di sviluppo).
Abbracciare il cambiamento significa per noi anche accettare il fallimento e imparare da esso. Quando qualcosa va storto, Business e IT non si focalizzano sulla caccia al colpevole, ma si chiedono: "Cosa possiamo imparare da quanto è accaduto?"

Abbracciamo il cambiamento

Ispezioniamo continuamente il lavoro fatto

Per poter migliorare, bisogna potersi misurare. Ma per misurare il proprio lavoro, bisogna dedicare tempo all'ispezione di cosa si è fatto e di come lo si è fatto.
In che modo ispezioniamo il nostro lavoro? Al termine di ogni ciclo di produzione (di valore), organizziamo le sprint review, ovvero verifichiamo con occhio critico, assieme a tutti gli stakeholder interessati, se quello che abbiamo prodotto e abbiamo rilasciato è in linea con le aspettative e soddisfa i bisogni. In base ai feedback ricevuti possiamo ritarare il percorso. Inoltre, ad ogni ciclo produttivo, organizziamo le retrospettive di team, durante le quali ci fermiamo ed ispezioniamo il processo che ha portato all'incremento di prodotto realizzato. Da qui possono nascere nuove azioni e nuovi esperimenti, che alimentano il miglioramento continuo del team.

Ispezioniamo continuamente il lavoro fatto

I nostri rituali

L’ispezione e l'adattamento passano attraverso una serie di pratiche e di rituali che abbiamo fatto nostri, ereditandoli in parte da Scrum:

Daily Meeting

Ogni giorno, stesso luogo e stessa ora, il team si ritrova per fare il punto sulle attività appena svolte e programmate per la giornata, verificando se siano o no in linea con il goal stabilito ad inizio sprint.

Sprint Retrospective

Al termine di un ciclo di lavorazione (lo Sprint appunto), il team dedica un paio d’ore a ispezionare com’è andato lo sprint, cosa ha funzionato e cosa non ha funzionato nel processo.

Sprint Review

Il team dedica un paio d’ore ad ispezionare il lavoro svolto presentandolo agli stakeholder interessati. Lo scopo è raccogliere feedback utili per il prossimo ciclo.

Post Mortem Retrospective

Al termine di un progetto o prima di un passaggio di consegne ad altro team, il team ricostruisce le fasi di tutto il progetto per individuare punti critici che magari non sono stati affrontati per qualche motivo durante gli sprint e le relative retrospettive.

Incident Post Mortem

Quando si verifica un incident in ambiente di produzione, si analizzano le cause del problema subito dopo averlo affrontato e risolto, individuando le azioni da pianificare perché quell’incident non si verifichi più o ne venga mitigato il rischio.

Kickoff

Quando si avvia un nuovo progetto, si organizza un momento ufficiale per fissare gli obiettivi, formare la squadra, raccogliere le aspettative, chiarire i ruoli di ciascuno e darsi delle metriche per misurare il successo del progetto.

Celebration Time

Celebrare la fine di un progetto è molto importante per gratificare ed inorgoglire il team. Lo si può fare con un aperitivo o una pizza tutti insieme oppure con una passeggiata in montagna o un’escursione di rafting.