Dal settimo al dodicesimo principio del metodo agile
Foto di ThisIsEngineering da Pexels

Perché usare il metodo agile: principi fondamentali (parte II)

Michele Minazzato
Michele Minazzato12-05-2021
Condividi

Alla base del successo del metodo agile

L’agile nasce nell'ambiente dello sviluppo di software come metodo di project management con un approccio iterativo e incrementale. Grazie a queste caratteristiche, il metodo agile sta conoscendo un successo crescente anche in altri settori, in particolare quelli dove i metodi tradizionali, basati su fasi sequenziali definite a priori, hanno fallito.

I motivi del successo dell’agile vanno ricercati in primis nei dodici principi fondamentali e nel modo in cui possono migliorare l’attività quotidiana di un team aziendale.

Clicca qui per leggere l’articolo sui primi 6 principi.

7. Il software funzionante è il principale metodo di misura del progresso 

Negli anni in cui nasce il metodo agile, il lavoro dello sviluppatore veniva giudicato in base a KPI che facevano riferimento alla sola produttività. Si tratta di un approccio obsoleto: non importa quante righe di codice il programmatore riesce a scrivere, è importante che il codice funzioni correttamente

Per determinare come si crea e si verifica un software che funziona si procede come segue:

Tutte le fasi devono essere ripetute in modo iterativo ed incrementale, così da raggiungere i risultati desiderati attraverso step successivi.

La corretta applicazione di questo metodo dovrebbe essere l’unico metro di giudizio per la qualità di un software. Inoltre, come esplicitato nei principi 4, 5 e 6, la verifica del software deve essere eseguita in un rapporto di fiducia e onestà: più che puntare alla soddisfazione di un contratto, bisogna puntare al raggiungimento della soddisfazione di tutti gli stakeholders.

8. I processi agili promuovono uno sviluppo sostenibile. Gli sponsor, gli sviluppatori e gli utenti dovrebbero essere in grado di mantenere indefinitamente un ritmo costante.

Questo è un principio complesso che comprende i concetti di utenti, sponsor e altri stakeholder: nella maggior parte dei casi i progetti non sono legati ai soli sviluppatori (o ai tecnici incaricati della produzione) ma anche alle varie figure indirettamente coinvolte.

Nel contempo, l’ottavo principio introduce il concetto di ritmo, presente nel metodo agile come anche nella filosofia lean. 

Lo stesso Scrum, il cui autore è uno dei segnatari dell’Agile Manifesto, si basa su un concetto di ritmo inteso come elemento fondamentale per gli esseri umani e contrapposto al concetto di spreco.

Questa idea viene ripresa nella filosofia lean, che prevede tre principali tipologie di sprechi:

9. La continua attenzione all’eccellenza tecnica e alla buona progettazione esalta l’agilità

Questo principio è strettamente collegato agli aspetti più tecnici del lavoro degli sviluppatori e viene ripreso anche nella lean manufacturing, tramite i principi Kaizen a Kaku, due diversi approcci al miglioramento. 

Il concetto di Kaizen si avvicina molto al nono principio: maggiore è l’attenzione all’eccellenza tecnica e alla progettazione più il progetto è in grado di adattarsi ai cambiamenti. Il team non deve più concentrarsi sulle problematiche tecniche ma prevalentemente sul risultato, cioè sulla capacità di generare valore

Per mettere in pratica con successo questo principio è fondamentale mantenere un approccio iterativo e incrementale anche in fase di analisi dei processi aziendali: se i processi che guidano un progetto vengono continuamente analizzati, possono essere continuamente migliorati, così come gli strumenti software che li affiancano.

10. La semplicità – l’arte di massimizzare la quantità di lavoro non svolto – è essenziale

Come abbiamo visto, negli anni in cui nasce il metodo agile gli sviluppatori di software venivano giudicati sulla base della quantità di codice che riuscivano a scrivere. 

Ma come diceva Henry Ford parlando di automobili, “quello che non c’è non può rompersi”: allo stesso modo, il codice che non esiste sicuramente non dà problemi! 

Anche questo principio si intreccia con la lean manufacturing, in particolare circa il concetto di spreco. 

Nella lean gli sprechi possono essere ricondotti anche a qualcosa di non-materico, come il software. Per esempio, una della fonti di spreco della lean è la presenza di scorte, ossia di prodotto a stoccaggio che poi non viene venduto; allo stesso modo, nel software può accadere di stoccare dati inutili, non corretti o di dubbia origine, che occupano spazio prezioso.

Un altro esempio è la sovrapproduzione: secondo la filosofia lean non bisogna produrre più di quanto è richiesto dal mercato. Il metodo agile propone lo stesso ragionamento: è imperativo fare solo l’essenziale a risolvere il problema che si ha davanti. Parlando di software, è quindi imperativo creare funzionalità che risolvono problemi agli utenti, non aggiungere funzionalità non richieste presupponendo che poi verranno usate.

11. Le architetture, i requisiti e la progettazione migliori emergono da team che si auto-organizzano 

L’agile pone il team e le persone che lo compongono al centro di tutto. 

È interessante in questo senso una riflessione di Julio Velasco, allenatore pluripremiato della nazionale italiana: “L’alibi distrugge l’armonia e impedisce di progredire e di imparare”. 

È esattamente il pensiero alla base di questo principio: l’eccellenza tecnica nasce da un’eccellenza dell’organizzazione umana. Se le persone si organizzano e lavorano insieme - in un ambiente orientato a confronto, fiducia e serenità - si possono trovare soluzioni migliori di quelle che si troverebbero in un team “comandato” dall’alto. 

12. A intervalli regolari il team riflette su come diventare più efficace, poi regola e adatta il proprio comportamento di conseguenza 

Questo principio permette al team di andare oltre la metodologia: quando i membri del team sono allineati tra di loro e conoscono bene il metodo agile, diventa possibile trovare soluzioni che superano le stesse metodologie in uso o che integrano metodologie diverse.

Dobbiamo infatti ricordare che l’obiettivo dell’agile non è seguire un metodo, nessuno dei 12 principi parla di una specifica metodologia.

Un team deve coordinarsi e quindi deve avere degli standard che cambiano al variare del team, perché i team sono fatti da persone indipendenti e complesse, ma connesse tra loro.

Ci deve sempre essere attenzione allo spreco, all’irregolarità: ogni team deve trovare il proprio modo di essere efficace, perché spesso le persone tendono, per le loro diversità intrinseche, a lavorare in modo poco allineato, generando grandi quantità di content switching che rendono complesso qualunque tipo di progetto.

Iscriviti alla nostra newsletter

Resta aggiornato su tutte le novità di Nosco, i nostri eventi ed i nuovi articoli del blog.