News

Il framework Agile e i suoi benefici

In passato i progetti di sviluppo software erano portati avanti utilizzando metodi tradizionali di gestione del lavoro. Uno di questi diversi metodi era il metodo waterfall, in cui un progetto seguiva fasi distinte, iniziando dalla raccolta delle specifiche, poi la progettazione, quindi la scrittura del codice, la creazione dei test di collaudo, integrazione, test definitivi e, per finire, la fase di manutenzione del prodotto.

Questo modello di gestione poteva andar bene per le industrie in cui il processo era fisso e il risultato era affidabile e stabile (si pensi ad esempio ad un processo di produzione che crea sempre lo stesso prodotto su una linea di assemblaggio). Nelle aziende del mondo IT il cambiamento è invece una componente fondamentale dei progetti software. Spesso infatti accade che i requisiti dei clienti cambino o i tests rivelino che qualcosa non funziona come dovrebbe una volta che l’utente finale ci mette le mani.

Ciò perché – durante il lungo arco di tempo della fase di sviluppo – sorgevano inevitabilmente imprevedibili ostacoli per i quali, quand’anche risolti, spesso il risultato finale non incontrava più le aspettative del cliente, vuoi per le mutate esigenze di mercato, vuoi per le nuove richieste del cliente che nel frattempo erano nate.

I piani, descritti in confortevoli Gantt, rassicuravano la Direzione che tutto era sotto controllo ma in realtà fallivano puntualmente, sforando i tempi ed il budget stanziato.

La parola Agile viene utilizzata per la prima volta nel 2001 con la pubblicazione del “Manifesto per lo Sviluppo Agile del Software”, ma prima dell’ufficializzazione di questa parola esistevano già aziende che avevano una modalità di fare organizzazione con le caratteristiche Agile. Il Manifesto è una raccolta di valori e principi che rappresenta la stella polare per i team che vogliono diventare agili.

Invece di essere tenuti prigionieri dal piano di gestione del progetto delineato all’inizio, i metodi di gestione del progetto Agile hanno fatto sì che i team potessero prendere in considerazione questi cambiamenti per realizzare il miglior prodotto possibile. Per fare ciò, avevano bisogno di cicli di sviluppo più brevi (chiamati Sprint), un processo più iterativo con feedback e test continui.

Gore, Toyota, Morning Star, Haier e Semco sono alcuni esempi di aziende che hanno cominciato prima delle altre a lavorare secondo il paradigma di “Autonomia condivisa”, abbandonando quindi il concetto di “Predizione e Controllo”.

Con l’autonomia condivisa le decisioni sono guidate dai clienti o da persone a loro vicine.

Agile significa rispondere rapidamente ai mutamenti del mercato, anche se rapidi e imprevisti.

In sostanza Agile è prima di tutto un mindset, quindi una filosofia, un modo di pensare, un paradigma organizzativo descritto da 4 linee guida che ne costituiscono la filosofia: [1]

  1. Individui e relazioni invece di strumenti e procedure
  2. Software che funziona invece della documentazione esaustiva
  3. Collaborazione con il cliente invece della negoziazione dei contratti
  4. Rispondere al cambiamento invece di seguire budget e piani

Non basta quindi implementare una nuova metodologia ma serve un radicale cambio di mentalità che vada nella direzione di una maggiore fiducia reciproca tra lavoratore e responsabile d’azienda con una grande assunzione di responsabilità da parte del lavoratore.

Questi valori fondamentali sono al centro di tutti gli approcci di gestione del progetto Agile. Ciò che risulta chiaro dai valori fondamentali è che gli approcci Agile sono, soprattutto, collaborativi e guidati dalle persone.

Ciò vale non solo per i processi di lavoro (il progresso avviene mettendo l’elemento umano al centro), ma anche ai prodotti finiti. Cioè, l’obiettivo è creare qualcosa di funzionale che offra il massimo valore all’utente finale.

Secondo l’Agile Manifesto, ci sono 12 principi chiave di gestione agile del progetto.[2]

I metodi di gestione del progetto Agile si basano su un processo altamente collaborativo e solide basi interpersonali. Bisogna essere eccellenti l’uno con l’altro.

Alcuni dei vantaggi più evidenti di una gestione Agile dei progetti sono:

  1. La capacità di gestire realtà mutevoli perché con cicli sprint più brevi è possibile ridurre i rischi,
  2. Una maggiore soddisfazione dei clienti perché – incorporando verifiche più frequenti – è possibile avere feedback reali e adattare il proprio processo di sviluppo
  3. Squadre più soddisfatte perché sono più autonomi e incoraggiate a dare il meglio di sé stessi.

Diventare una azienda Agile non è però immediato. Bisogna coinvolgere/assumere le persone giuste e metterle in condizioni di esprimere al meglio il loro talento, serve una Direzione che agevoli e favorisca l’adozione dei valori Agile, serve inoltre che le persone si lascino andare al cambiamento con fiducia senza opporre resistenze psicologiche.

 

Come si può vedere dalla figura precedente, oggi vi sono almeno 80 framework Agile.

Tra questi, Scrum è uno dei frameworks più utilizzati. Come altre metodologie di gestione del progetto Agile, Scrum si attiene ai principali valori e principi dell’Agile (iterazioni, reattività al cambiamento e tutte quei vantaggi discussi sopra).

La speranza è che tutti cerchino di pensare a come trasformare il proprio lavoro in un modo più Agile. Se ci si riesce, è già un primo passo.

[1] https://agilemanifesto.org/iso/it/manifesto.html

[2] https://agilemanifesto.org/principles.html