METODOLOGIE DI PROJECT DELIVERY: LA CONVIVENZA DI WATERFALL ED AGILE

Journal

METODOLOGIE DI PROJECT DELIVERY: LA CONVIVENZA DI WATERFALL ED AGILE

Metodologie alternative? No, due approcci fra i quali saper scegliere diventa un vantaggio competitivo.
Giu 23, 2021
7 min

Sul finire degli anni Novanta, l’avvento di internet e una sempre maggiore diffusione di software house di medio piccole dimensioni ha posto i grossi player davanti ad una nuova realtà: il loro metodo di lavoro era ormai obsoleto e uno dei vantaggi competitivi mostrati da questi nuovi competitor risedeva proprio nella loro limitata grandezza.

Sebbene, infatti, una abbondante potenza di fuoco potesse garantire, sulla carta, tempi di sviluppo più rapidi e una maggior soddisfazione del cliente, queste aziende dimostrarono di poter assecondare più rapidamente le esigenze dei loro committenti, grazie a un metodo di lavoro che riusciva a rispondere con tempestività ed efficienza ad ogni richiesta di modifica formulata.

É cosí che, nel 2001, con il “Manifesto for Agile Software Development”, l’approccio Agile ha trovato, addirittura, una vera e propria codificazione, e, tutt’oggi, gode di grande successo. Questo metodo viene indicato come alternativa al tradizionale metodo a “cascata” o “Waterfall Model” che, nella teoria dell’organizzazione aziendale, trae le sue origini dall’ormai lontanissimo sistema a catena di montaggio, ideato da Henry Ford, nel 1913, e applicato più tardi allo sviluppo del software.

Se il metodo Waterfall si basa, fondamentalmente, su uno sviluppo a fasi, il cui completamento “on time on cost” dipende da una importazione di progetto molto strutturata e organizzata gerarchicamente, il metodo Agile propone un approccio basato sulla attivazione di team di sviluppo di piccole dimensioni, che sappiano, tramite il coinvolgimento diretto e continuo del cliente, ridurre al minimo il rischio di fallimento. La pianificazione di questi gruppi di lavoro, infatti, viene adattata di continuo in base alle risultanze dello sviluppo interattivo e incrementale della singola porzione di progetto, e a seconda dei feedback ricevuti a seguito delle frequenti delivery con cui il cliente è periodicamente aggiornato. In aggiunta, a distinguere ulteriormente il metodo Agile, c’è la netta preferenza per una comunicazione in tempo reale, possibilmente di persona, al posto di un continuo scambio di documenti o email. Un corretto uso di questa metodologia è in grado di abbattere i tempi di consegna del prodotto ultimato, con la certezza di arrivare al termine del processo di sviluppo con una delivery finale pienamente in linea con le aspettative del cliente, minimizzando il rischio di rework e i suoi conseguenti costi. Il metodo Agile è, dunque, l’unico che meriti di essere applicato oggigiorno? Nient’affatto. L’applicazione della corretta metodologia di lavoro dipende dalla natura del progetto e le aziende pi  capaci, proprio come Abstract, sono strutturate per scegliere quella pi  appropriata per ogni lavoro, arrivando, ove necessario, a proporre anche metodologie ibride.

COME SCEGLIERE LA METODOLOGIA CORRETTA

La scelta della metodologia è fondamentale per il successo di un progetto.

Il sistema Waterfall, ad esempio, è in grado di supportare al meglio i progetti di lunga durata, all’interno dei quali sono coinvolti diversi attori, tutti chiamati a concorrere al raggiungimento delle milestone intermedie.

Ciò si rende possibile attraverso l’individuazione di una serie di standard da tenere in considerazione nella predisposizione dei documenti di sviluppo del progetto, nella rendicontazione dello stato di avanzamento e nella verifica della conformità qualitativa dell’output. Quello che serve, in altre parole, è che tutti i soggetti coinvolti nello sviluppo parlino la stessa “lingua”, consentendo ai project manager di esercitare con facilità la propria funzione di controllo del prodotto ultimato sulla base degli standard utilizzati dal cliente. Ciò comporterà la massima aderenza alle esigenze di compliance di chi ha commissionato il lavoro, rendendo irrisorie le possibilità che il lavoro non soddisfi le sue aspettative.

Un’altra caratteristica del modello Waterfall è la sua capacità di consentire una precisa pianificare di ogni fase dello sviluppo, così da poter monitorare attentamente i tempi di realizzazione e applicare un attento controllo sul rispetto delle scadenze. Anche in questo caso, a un grande controllo corrisponde un rischio minimizzato.

Ma quali sono le fasi generalmente previste dalla metodologia Waterfall? Solitamente si parte da una prima fase di assessment, alla quale segue una fase di analisi (la cosiddetta Blueprint o la modellazione della to be solution). Ad essa segue una successiva fase implementativa, a seguito della quale troviamo il momento dedicato ai test, al go live ed in conclusione al post go live support. Insomma, la metodologia Waterfall risulta particolarmente adatta al corretto sviluppo di un progetto che si strutturi nelle classiche fasi progettuali, le stesse che permettono di misurare e monitorare i tempi di esecuzione e che vengono sottoposte al committente, in KPI, per evidenziare se siano state rispettate le scadenze o se ci siano stati dei ritardi.

L’applicazione di una metodologia Agile nell’ambito di un progetto di lunga durata e con scadenze molto rigide potrebbe rendere più difficoltoso il suo coordinamento e il controllo sul suo stato di avanzamento, vanificando, al contempo, i vantaggi tipici di questo approccio che invece mostra il suo punto di forza nella adattabilità delle realizzazioni in corso d’opera. Allo stesso modo, infatti, se venisse applicata una metodologia Waterfall, al posto di una Agile, ad un progetto in fase di esecuzione che richieda una notevole capacità di adattamento, una grande flessibilità ed una notevole creatività nel rispondere agli input del cliente.

Proprio per questo motivo è importante capire quando e in che misura adottare una metodologia al posto di un’altra, e dimostrarsi in grado - dove necessario - di applicare anche l’una e l’altra insieme, con un sistema che potremmo definire ibrido.

LE BEST PRACTICE OGGI: IL SISTEMA IBRIDO

Capita sempre più spesso che la metodologia Waterfall e quella Agile vengano applicate in parallelo. In casi del genere, solitamente, la prima è utilizzata per delineare i confini di progetti molto corposi e che implicano un grande coinvolgimento di risorse. La seconda è impiegata, invece, all’interno delle singole milestone, che assumono, così, la forma di progetti in miniatura, il cui sviluppo prevede un coinvolgimento diretto del cliente, con le modalità evidenziate in precedenza.

Soprattutto in ambito digital, quello che si sta osservando, all’interno di rapporti continuativi con delivery su base pluriennale, è un passaggio dalla pianificazione annuale fissa ad un continuous planning, con cui adattarsi alle esigenze di business, che possono mutare con molta velocità.

L’obiettivo non è, quindi, quello di prevenire tutti gli errori possibili in termini di pianificazione e sviluppo, ma di minimizzare i rischi generati da errori nella pianificazione, stessa grazie all’implementazione di un approccio Agile, su un impianto Waterfall.

Un conto è, infatti, la metodologia progettuale organizzativa, un altro l’approccio.

In questo senso, all’interno di progetti gestiti con metodologia Waterfall esistono attività in cui è possibile applicare - o comunque è suggerito farlo - un approccio Agile. È il caso, ad esempio, della fase to be model di analisi. In questo ambito, infatti, potrebbe risultare difficile trovare una soluzione adoperando un modello molto strutturato, ma avere un approccio Agile permette di raggiungere il risultato in modo creativo.
Lo scenario a cui si sta andando incontro e che sta guidando l’evoluzione delle nuove metodologie di sviluppo di un progetto, quindi, porta a far riferimento non troppo alla metodologia in sè, quanto alla capacità di basarsi su dei framework specifici di mercato, su delle best practice che vengono poi, con il tempo, adottate, coltivate e fatte crescere dall’azienda con un proprio stile.

Il valore aggiunto di una realtà come Abstract diventa anche quello di saper selezionare e adottare anche in modalità combinata le corrette metodologie ai diversi progetti e parallelamente mantenere sempre un alto livello di formazione dei propri consulenti su tutte le metodologie utilizzabili.