Gestione ibrida del progetto: una via di mezzo tra agile e cascata
Pubblicato: 2022-03-11La Guerra Fredda tra Waterfall e Agile si sta sciogliendo? Al centro, la differenza tra le due metodologie di gestione del progetto è la prevedibilità rispetto all'adattabilità. Waterfall mira alla prevedibilità: considera il progetto terminato solo quando tutte le funzionalità predeterminate sono state completate e completamente implementate. Agile si impegna per l'adattabilità: fornire un prodotto minimo praticabile (MVP) e rilasciare nuove funzionalità in modo iterativo per raccogliere il feedback degli utenti che guiderà il percorso di miglioramento.
Che cos'è l'ibrido Agile-Waterfall?
Da quando è stato introdotto ufficialmente più di 20 anni fa, Agile ha continuato a crescere in popolarità. Diffusa durante lo sviluppo del software, la pratica si è insinuata in aree in cui le metodologie Waterfall sono rimaste dominanti. Un approccio ibrido formalizza la sperimentazione dell'utilizzo di Agile in una struttura a cascata più ampia.
"Il vero ibrido è una combinazione di lavoro predittivo e incerto", afferma Jim Stewart, project manager di Toptal nell'area di Boston, Scrum master, Agile coach e istruttore. In un modello ibrido, le tecniche Waterfall vengono utilizzate per le parti ben comprese e predittive del progetto, mentre le tecniche Agile vengono utilizzate per quelle iterative e più incerte.
In questo modo, un'azienda può creare software in modo agile ma implementarlo in un processo Waterfall. Una società finanziaria potrebbe sviluppare un prodotto che ha diversi componenti di grandi dimensioni che devono essere verificati e quindi non possono essere rilasciati fino a quando non sono stati completati e approvati. Allo stesso tempo, parti più piccole di quella funzionalità più ampia, così come altri aspetti dell'interfaccia utente, possono essere ripetute dal team di sviluppo attraverso una serie di sprint.
Quando si tratta di configurare il sistema ibrido giusto per il tuo progetto, la flessibilità è fondamentale. "Non credo in qualcosa di valido per tutti", afferma Miroslav Anicin, un project manager con sede a Belgrado, in Serbia, che fa parte del team di screening di Project Management di Toptal e collaboratore di questo blog. “Non puoi andare da qualche parte e applicare metodologie secondo il libro. Devi sapere esattamente come adattare questi approcci in base a diversi fattori come la maturità del team, la cultura aziendale, le culture delle materie, il tipo di progetto, le dimensioni del team e le dimensioni del prodotto".
Perché utilizzare un sistema ibrido?
Potresti pensare: perché non scegliere completamente Agile, dal momento che si è dimostrato più adattivo, innovativo ed efficiente? Al contrario, perché non continuare a lavorare in Waterfall se un'organizzazione è abituata a questo?
A volte, ci sono ostacoli all'adozione dell'agile puro, specialmente nei settori altamente regolamentati in cui i prodotti sono soggetti ad approvazioni da organizzazioni esterne che richiedono documentazione e scadenze rigorose. Per Juan Vilmaux, un project manager con sede a Cordoba, in Argentina, che fa anche parte del team di screening di Project Management di Toptal, Waterfall è utile nei progetti in cui il rischio è un fattore primario, come nei campi in cui le aziende devono affrontare gli audit. (Dato che l'analisi del rischio deve essere eseguita prima della pianificazione del progetto in questi settori, cambiare qualcosa in quell'analisi richiederebbe un nuovo piano.) "Lavoravo per un'azienda che eseguiva studi clinici e gli audit sono pazzi lì", dice. “Quindi devi passare attraverso diversi processi definiti da autorità esterne come la FDA. Se lavori in Agile, modifichi costantemente il tuo ambito o arretrato, riassegnando le priorità, e ciò può interferire con questi audit".
David Machiels, un project manager di Toptal con sede a Bruxelles, in Belgio, afferma che devi stare attento ai tempi di rilascio nei lavori che richiedono protezione della privacy. Ha guidato un team ibrido sullo sviluppo di una piattaforma di gestione delle identità in Microsoft Azure Active Directory per un gruppo bancario europeo. Ha utilizzato Agile in alcune fasi di sviluppo, ma poiché le banche devono proteggere i dati sulla privacy e sono restie a mettere tali informazioni nel cloud, il suo team ha eseguito il provisioning del sistema su un server locale. "In primo luogo, è necessario eseguire l'implementazione in sede", afferma. “È necessario anche eseguire l'implementazione del cloud. Quindi puoi iniziare a fare la connessione tra i due. Ci sono molti passaggi che devi fare in un certo ordine”.
La maggior parte dei project manager con cui abbiamo parlato per questo articolo ha lavorato a progetti ibridi per clienti del settore finanziario a causa della combinazione intrinseca di normative rigorose e la necessità di proteggere i dati di quel settore. Grant Schuleman, un project manager di Toptal con sede a Johannesburg, in Sud Africa, ha lavorato nei servizi finanziari, nel settore bancario e nelle borse. Dice di aver fornito un motore di trading di azioni e un motore di trading di derivati "dove c'era molta integrazione relativa ai dati master e molti requisiti normativi".
La necessità di aderire a una serie di passaggi prestabiliti si presta a un approccio Waterfall, ma puoi migliorare tale processo incorporando Agile. Le epiche di grandi dimensioni possono essere suddivise in storie degli utenti per uno sviluppo più flessibile, ma le epiche completate possono essere rilasciate in un lasso di tempo più lungo. "A volte hai quella che chiamo una consegna Big Bang", dice Schuleman. Il team esegue la distribuzione in modo incrementale in un ambiente di test di accettazione dell'utente (UAT) e, una volta che tutte le funzionalità sono state approvate in UAT, si rilascia alla produzione come un'unica distribuzione di grandi dimensioni. "E ciò potrebbe richiedere un anno, a seconda di quanto è grande il progetto", dice.
Nel suo programma più grande, Schuleman aveva 120 persone che lavoravano su 10 progetti, alcuni che lavoravano in Waterfall, altri Scrum e altri ibridi. Ha anche organizzato uno "Scrum of Scrum" a settimane alterne per assicurarsi che tutti i team più piccoli fossero allineati per la serie successiva di sprint e lavorassero a ritmi complementari.

La parte più difficile del passaggio all'ibrido
L'implementazione di un sistema ibrido Agile-Waterfall può essere uno sforzo molto dipendente dalla situazione. Come guida per questo processo, il project manager deve trovare il giusto mix di metodologie appropriate per il prodotto, il team e le persone che le utilizzeranno. "Se stai cercando di applicare alcune di queste metodologie così come sono, senza alcuna personalizzazione", afferma Anicin, "sarà un fallimento al 100%".
Schuleman ha cercato di integrare i processi Agile in un aggiornamento di un'applicazione legacy, ma nel bel mezzo del progetto ha dovuto tornare a Waterfall puro. L'esperimento è fallito perché non è stato accolto dagli sviluppatori, i quali erano tutti abituati a lavorare in Waterfall e non capivano perché il lavoro fosse suddiviso in epiche che sono state ulteriormente suddivise in storie degli utenti. Avrebbero visto una user story in uno sprint, dice Schuleman, ma non riuscivano a capire perché "ci sono anche altre 10 user story relative a questa applicazione che non sono ancora nell'ambito". Volevano lavorare su tutto in una volta.
Allora qual è il fattore più consequenziale nel successo di un sistema ibrido? Persone. Alcune persone sono aperte al cambiamento ed entusiaste di provare cose nuove; alcuni no. Quando non lo sono, spesso la loro resistenza si riduce a una mancanza di comprensione. I membri del team e la direzione "non necessariamente comprendono la gestione del progetto oltre un livello superficiale", afferma Stewart. "Hanno usato Waterfall e sanno che c'è una parola d'ordine Agile." Dal momento che non sono esperti nel nuovo processo, potrebbero voler fare ciò che hanno fatto in passato.
E l'ibrido non è per tutti. Alcuni project manager ritengono che il superamento di metodologie opposte causi più problemi di quanti ne risolva. "Di solito non è un buon approccio per passare all'ibrido", dice Vilmaux. “Stai aumentando le tue possibilità di fallire perché stai ricevendo le parti peggiori di entrambi i mondi. Limiti Agile, ma la natura di Agile è accogliere i cambiamenti ed essere flessibile. Inizi a perdere tutto questo se lavori in un ambiente Waterfall che funziona meglio in modo lineare, fisso e deterministico, e dove i cambiamenti non sono impossibili ma possono essere molto costosi. Aggiungendo Agile, inizi a spingere le cose non lineari all'interno del mondo di Waterfall.
Detto questo, nonostante la sua complessità, l'ibrido fatto bene può sicuramente dare i suoi frutti. Anicin ha recentemente condotto un progetto ibrido di successo per l'IFC (un membro del Gruppo della Banca Mondiale) nella Republika Srpska, in Bosnia ed Erzegovina. "Come progetto IFC", dice, "era guidato da un piano, completamente, ma abbiamo concordato che avremmo applicato un approccio misto. I requisiti e le specifiche, tutto, erano molto dettagliati, ma i nostri team hanno lavorato in Agile".
Il beneficiario di questo processo è stato il governo della Republika Srpska, che ha ottenuto un prodotto migliore a un costo inferiore in tempi più rapidi. C'erano "molte organizzazioni coinvolte: organizzazioni governative, organizzazioni completamente diverse", afferma Anicin. “È stato difficile, ma ha funzionato”.
Utilizzo di Hybrid come aggiornamento agile
Con ogni settore che sta subendo una trasformazione digitale in questi giorni, sempre più aziende stanno diventando curiose di Agile. "Le risorse umane stanno diventando un po' agili", afferma Stewart. "Inoltre, conosco un'organizzazione di polizia nei Paesi Bassi che utilizza schede attività per ripulire l'arretrato dei crimini".
Anche se l'azienda con cui lavori non è pronta per entrare con entrambi i piedi, un'introduzione graduale ad Agile può pagare dividendi nel tempo. Uno dei motivi principali di ciò è che Agile è molto bravo a gestire l'incertezza. "Agile, nella mia mente, è molto meglio quando ci sono incognite", dice Schuleman, "e il 99% delle volte ci sono incognite".
Un altro vantaggio è la trasparenza intrinseca di Agile. "Preferisco Agile perché posso vedere i cambiamenti", dice. “Con Waterfall, ci può essere molto fumo e specchi: 'Siamo completi al 20%', 'Siamo completi al 30%', ma poi sei bloccato all'80% per altri otto mesi. È molto più facile nascondere i problemi. Con Agile, hai standup quotidiani e se una user story è lì per più di quanto dovrebbe, è facile dire: "Questa cosa non si muove; qual è il problema?'"
L'integrazione di Agile in qualsiasi sistema consente di risparmiare tempo e denaro, offrendo al contempo un valore più in linea con ciò di cui il cliente ha effettivamente bisogno. Quando un progetto fallisce, Stewart chiede se è perché avrebbe dovuto essere più agile. "Scommetto che dal 35% al 40% dei progetti IT che falliscono ogni anno", afferma, "una buona parte di quelli che sono Waterfall dovrebbero essere agili, e questo non sta accadendo".
L'integrazione graduale di Agile attraverso un sistema ibrido può fornire alcuni vantaggi, soprattutto quando ci sono aspetti di un modo di pensare Waterfall che possono fornire vantaggi al tuo team. Per Anicin, il fulcro di un buon sistema ibrido “è sulla parte della scoperta. Quando parliamo dell'approccio misto, stiamo fornendo un product backlog molto più dettagliato”, molto più ampio di quello che creerebbe per un progetto Agile puro. In un progetto ibrido, utilizza questo arretrato più dettagliato per offrire al suo team una prospettiva più dettagliata in stile Waterfall sulle aspettative a lungo termine per il prodotto finito. Anicin quindi integra il suo team "al prodotto, non solo al progetto", afferma. "Mi aspetto che l'intero team comprenda i dettagli del prodotto perché devono avere questa proprietà del prodotto, che è così importante".
La tua azienda e il tuo team potrebbero non essere pronti per passare all'Agile puro, ma come minimo, puoi ottenere notevoli vantaggi dall'aggiunta di pratiche agili come standup giornalieri e scadenze di consegna più brevi e frequenti. Se sei rigoroso, intelligente e attento a come lo implementi, un sistema ibrido potrebbe essere proprio ciò di cui hai bisogno per aggiornare il tuo progetto.
