È un po di tempo che sento parlare della filosofia agile e di come sia la soluzione a molti dei problemi organizzativi ed operativi di un azienda. Ed in effetti, dalla definizione sembra molto promettente:

[…] insieme di metodi di sviluppo del software che mirano ad un approccio meno strutturato e focalizzato sull’obiettivo di consegnare al cliente, in tempi brevi e frequentemente, software funzionante e di qualità (wikipedia)

Ma fin da subito mi ha lasciato una domanda:

Tutto questo molto bello ma…qualche esempio pratico?

Questo domanda è comune a molte persone e per questo sabato 1 febbraio il team di Seesaw ha deciso di lavorare ed investire del tempo (anche nel weekend 🙂) per partecipare all’Agile Venture 2020, da spettatori e da oratori, per tenerci aggiornati e per condividere una nostra visione sul mondo agile.

La conference era situata agli IBM studios di Milano, venue molto affascinante dal punto di vista architettonico.

IBM studios, Piazza Gae Aulenti Milano
IBM studios, Piazza Gae Aulenti Milano

Vi condivido le mie impressioni sulla giornata:

Iniziamo con Matteo Carella, ed il suo talk: “100% organic”, nel quale ci illustra uno schema di iterazione di 12 settimane, nel quale ci invita a ragionare alla struttura di un team resiliente, ovvero un team che è capace di adattarsi al cambiamento repentino tramite un ciclo di inspect e adapt. Gli ambiti che possono mutare sono molteplici, nuovi membri nel team di sviluppo quindi nuove dinamiche da scoprire e perfezionare, nuove tecnologie e nuovi tool di sviluppo che portano alla necessità di formazione continua ed al miglioramento delle tecniche di sviluppo e molti altri.

100% Organic by Matteo Carella from agile42
100% Organic by Matteo Carella from agile42

Ora che abbiamo un idea più chiara del processo iterativo per adattarsi e migliorarsi continuamente emerge una domanda: chi deve attuare questo processo in un azienda? Tutti.

Non singolarmente ma, ovviamente, in team, piccoli team auto organizzati con membri che condividono scopo, visione e metodi in grado di adattarsi al cambiamento.

Costruire un team unito ed efficace non è semplice, ci spiega Emiliano Soldi nel suo talk: “Agili team stabili e di lunga durata: tra mito e realtà”, non basta prendere un certo numero di persone, metterle in una stanza e farle lavorare ad un progetto ed all’occorrenza spostare persone di team in team come fossero risorse.

La coesione delle persone in un team è un percorso, con alti e bassi, che richiede tempo. Per capire le dinamiche del percorso di formazione di un team ci aiuta il modello di team development di Tuckman, del quale non ero a conoscenza ed è veramente interessante. Puoi trovare maggiori informazioni qui.

Agili team stabili e di lunga durata: tra mito e realtà by Emiliano Soldi
Agili team stabili e di lunga durata: tra mito e realtà by Emiliano Soldi

Durante tutte le fasi di formazione di un team solido ed efficace il team deve lavorare, deve eseguire i task ed assicurarsi di finire il lavoro entro le scadenze fissate. Alla scadenza del tempo a disposizione si chiudono i lavori, si impacchetta il tutto e lo si consegna ad un cliente, ma effettivamente cosa si consegna al cliente finale? Del codice scritto in qualche linguaggio di programmazione? Un servizio on-line? Un applicazione?

Il team consegna al cliente finale del valore, calcolato in termini di qualità.

Di qualità e valore ne parla il mio compagno di scrivania Thomas Rossetto nel suo talk: “Quando un software è di qualità?” Nel quale spiega molto bene cos’è e come si misura la qualità di un prodotto software e racconta la definizione e visione, condivisa da tutto il team, del valore.

Più è di qualità il prodotto/servizio più è di valore per il cliente.
Quando un software è di qualità by Thomas Rossetto
Quando un software è di qualità by Thomas Rossetto

“Sviluppare un codice di qualità è complicato, ci sono molti tool che ci aiutano come analizzatori di codice statico, testing e verifiche periodiche di sicurezza e robustezza ma c’è un nemico comune a tutti che è il debito tecnico, ovvero tutti quei compromessi che noi sviluppatori facciamo per consegnare un prodotto funzionante, che soddisfi i bisogni del cliente, senza sforare in termine di costi e di tempo” ha spiegato Thomas.

E la qualità di un software non è univoca, si differenzia tra qualità interna, del team, ed esterna, ovvero per gli utilizzatori finali ed il cliente, ed è composta da molte metriche per misurarla. Soddisfare tutte le metriche è pressoché impossibile rispettando costi e tempi quindi si cerca un equilibrio che sia proficuo ed ottimale per il team ed il cliente.

Ed eccoci alla fine dell’Agile Venture Milano 2020. Un evento dove abbiamo constatato si possa imparare dalle esperienze altrui, prendendo ispirazione, e non copiando, per poter avere qualche elemento in più per plasmare un flusso di lavoro adatto alla propria organizzazione continuando a migliorare se stessi ed il team.