Perché dovresti conoscere il metodo Agile? Perché per avere successo oggi le aziende devono abbandonare i vecchi metodi, le politiche arcane e gli status quo, imparare ad apprezzare il cambiamento e abbracciare la complessità.

Il metodo Agile è nato nel 2001, il termine fu coniato dai più importanti guru dell’informatica ed esprime un insieme di valori e principi che permettono di lavorare meglio e guidano lo sviluppo software ottimizzando costi, tempi e qualità.

Agile è l’evoluzione di modelli precedenti: metodologie predittive (modello a cascata) e iterative (modello a spirale) che si sono rivelate nel tempo inefficaci e si basa su valori e principi nati per risolvere alcuni problemi fino ad allora riscontrati nel mondo dell’ingegneria del software.

Metodo agile vs Vecchi metodi

Il metodo Agile si è evoluto a partire da metodi precedenti che però utilizziamo ancora oggi. Quello a noi più familiare è il metodo orizzontale, che consiste nel risolvere un problema utilizzando una serie di operazioni lineari: prima analizziamo le cose da fare, poi pianifichiamo tutti gli aspetti del compito che dobbiamo portare a termine e alla fine eseguiamo tutte le azioni per completare l’attività. Di per sé non è un approccio sbagliato e in alcune situazioni funziona anche molto bene.

Il problema sorge nel momento in cui questo metodo viene applicato a una realtà complessa.

La teoria della complessità ci suggerisce di entrare nel contesto e provare a risolvere un problema e capire se quello che stiamo facendo funziona oppure no.
Il metodo Agile parte da questo presupposto si concentra nella definizione di un metodo di lavoro nei sistemi complessi.

Cosa succede, ad esempio, se mentre stiamo lavorando a un progetto software arrivano nuove richieste in corso d’opera? O se cambia l’interpretazione di alcuni requisiti? O nuove informazioni emergono durante il ciclo di lavorazione?

Come abbiamo visto sopra, con i metodi tradizionali il processo avviene con un unico passaggio e non possiamo prevede una rivisitazione dei requisiti o delle idee, così come non possiamo controllare i possibili cambiamenti del business o della tecnologia.

Minimizzare il cambiamento non è una strategia che premia, perché significa irrigidire ancora di più il processo di pianificazione, continuando ad aggiungere pagine e pagine al progetto e nel frattempo perdere potenziali opportunità.
L’inghippo di questo approccio è quello di pensare di poter controllare il cambiamento attraverso un grande investimento nell’analisi e nella pianificazione. Questo è il classico atteggiamento di chi vede l’imprevisto come un costo, eppure per quanto tenti di controllarlo o evitarlo, spesso il cambiamento arriva comunque, facendo cadere tutte le ipotesi fatte in precedenza. Così lo spreco è doppio: da una parte c’è lo spreco di energia per un lavoro che non serve, dall’altro c’è la produzione di un documento strategico che non potrà essere utilizzato.

L’approccio Agile consiste, quindi, non nell’affrontare un problema complesso nella sua interezza, ma nel scomporlo e spezzettarlo in problemi più piccoli e facili da gestire. Le metodologie agili hanno lo scopo di ridurre all’osso le fasi di pre-analisi e pianificazione, andando direttamente a produrre qualcosa che possa dirci se stiamo procedendo nel modo corretto o meno.

La filosofia Agile

L’obiettivo del metodo Agile è la piena soddisfazione del cliente e l’abbattimento dei costi di sviluppo software. La filosofia Agile i concentra molto sulle interazioni con le persone, cosa che non avveniva, ad esempio, con il metodo organizzativo di micro management, usato fino alla seconda guerra mondiale, dove poche persone detenevano il potere decisionale , avevano le informazioni ed erano le uniche a sapere cosa fare e come farlo. A quel punto le masse operaie erano solo gli esecutori materiali di un compito stabilito dall’alto.
Il metodo Agile ribalta questo modo di lavorare e con il suo Manifesto introduce un modello organizzativo basato su un gruppo di persone con competenze diverse che sono capaci di lavorare in gruppo.

Agile Manifesto: i 4 valori

Il cuore del metodo Agile, riassunto nei 4 valori dell’Agile Manifesto, elenca ciò che è importante:

  • Gli individui e le interazioni più che i processi e gli strumenti
  • Il software funzionante più che la documentazione esaustiva
  • La collaborazione col cliente più che la negoziazione dei contratti
  • Rispondere al cambiamento più che seguire un piano

Da questi valori dell’agile manifesto discendono una serie di principi che abbiamo riassunto:

  • Dare la massima priorità alla soddisfazione del cliente rilasciando software di valore, fin da subito e in maniera continua. Quindi nell’Agile Manifesto si vuole provare a creare qualcosa dall’inizio e capire già in questa fase se risponde a un bisogno reale oppure no .
  • Il cambiamento è inevitabile, conviene abbracciarlo e risparmiare tempo e risorse.
  • Alla consegna, a ogni iterazione, il team aggiunge un pezzo al sistema in costruzione. Le iterazioni devono essere brevi per permettere verifiche frequenti del lavoro.
  • Committenti e sviluppatori devono lavorare insieme per tutta la durata del progetto. Lavorare in gruppo a stretto contatto, nello stesso posto, con un basso turnover favorisce la qualità del prodotto e migliori prestazioni.
  • Fare in modo che le persone siano motivate, è un altro punto importante dell’Agile Manifesto quindi creare l’ambiente e il supporto di cui le persone hanno bisogno e credere in loro.
  • Parlare a faccia a faccia con le persone è il modo più efficace ed efficiente di comunicare. la tecnologia in questo caso potrebbe essere un ostacolo.
  • Il software funzionante è il principale metro di misura di progresso. Non aspettare che tutto sia pronto, ma iniziare da subito a provare il prodotto.
  • Promuovere uno sviluppo sostenibile. Lavorare oltre i propri limiti, infatti, è controproducente.
  • La continua attenzione all’eccellenza tecnica e alla buona progettazione esaltano l’agilità
  • Ridurre gli sprechi, puntando alla semplicità e all’attenzione in tutti i processi
  • Le architetture, i requisiti e la progettazione migliori emergono da team che si auto-organizzano, senza perdere tempo con pianificazioni troppo estese
  • Infine secondo l’Agile Manifesto a intervalli regolari il team riflette su come diventare più efficace, tramite l’analisi di quanto fatto, regola e adatta il proprio comportamento di conseguenza