a cura di Francesco Bargiacchi Associated Partner di Mod – Management on Demand
Più o meno trent’anni fa, interno giorno, filiale IBM a Milano… circolava questa fotocopia e tutti in filiale e dal cliente l’avevano o l’avevano vista. E ci si rideva sopra….
Già allora ci si focalizzava su una delle varie cause di insuccesso in un progetto: la mancanza di comprensione delle necessità del cliente, di come le specifiche del progetto, se presenti, venivano disattese o spesso non comprese correttamente.
Oggi, passati tre decadi che hanno visto la nascita dei pc, la rivoluzione di Internet, le nuove frontiere dell’intelligenza artificiale, sembra di essere ancora allo stesso punto.
I progetti, e non parlo solo di mega progetti, ma anche di progetti semplici e, soprattutto, non solo quelli che riguardano il mondo dello sviluppo software, ma anche progetti architettonici, ingegneristici, di sviluppo continuano ad avere problemi e a evidenziare ritardi, aumenti di costo o addirittura fallimenti.
Gli studi a proposito dei fallimenti e degli insuccessi dei progetti sono davvero numerosi e tutti concordano che circa il 30% dei progetti tradizionali fallisce, il 60% deve accettare ritardi e/o aumenti di costo e solo il 10% raggiunge l’obiettivo rispettando i vincoli di progetto. Ma circa 20 anni fa si è anche cominciato ad interrogarsi su come riportare questi progetti verso percentuali più equilibrate e si sono affacciate nuove metodologie di progetto, quelle che vanno sotto il cappello di Agile.
Agile (con la A maiuscola) non è la panacea di ogni problema che affligge un Project Manager, ma sicuramente ha un approccio diverso, che cerca di riportare lo sviluppo di un progetto entro binari più sicuri.
Per semplificare parliamo di software, ma oggi Agile ha travalicato questo mondo e sono numerose le discipline e le aree in cui si applica. Alcuni punti assolutamente da condividere:
- il ciclo tradizionale viene sostitito da una modalità iterativa con cicli di rilascio molto frequenti, detti Sprint
- Rispetto dei tempi.. maniacale
- Utente e team di sviluppo in stretto contatto e il team è totalmente autonomo e responsabile
- È preferibile un software che funzioni piuttosto che troppo tempo speso in documentazione
- Essere Adattivi significa essere pronti a rispondere ai cambiamenti, in qualunque momento dello sviluppo (tranne che all’interno di uno Sprint).
Accanto a questi punti ve ne sono altri che rendono i vari framework che si appoggiano Agile estremamente più capaci di adattarsi ai tempi e alle necessità di oggi.
Agile nasce nel 2001, quando un gruppo di persone (Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland – 2001, Feb 11-13 Utah ) redassero quello che è stato chiamato il ” Manifesto di Agile “.
Il Manifesto recitava “stiamo scoprendo migliori modi per sviluppare software facendolo e aiutando gli altri a farlo. Attraverso questo lavoro abbiamo raggiunto una consapevolezza che:
- Individui e le interazioni tra loro ..(valgano di più ) .. piuttosto che processi e strumenti
- il Software funzionante ..(valga di più ) … piuttosto che documentazione esaustiva
- la Collaborazione con il cliente ..(valga di più ) .. piuttosto che negoziare contratti
- Rispondere ai cambiamenti ..(valga di più ) … piuttosto che seguire un piano
E sebbene ci sia valore in quanto scritto a destra, noi riteniamo di maggior valore quanto scritto a sinistra. I quattro punti sono anche indicati come espressioni del valore.”
Agile si attua secondo 12 principi che riassumono i motivi e i pregi per cui una metodologia adattiva può essere scelta rispetto ad una tradizionale; ma solo rispettando questi principi, con una organizzazione del lavoro coerente e con una sponsorizzazione potente si otterranno i benefici previsti.
Tutto oro quello che luccica ? Sicuramente no, occorre una forte disciplina, una capacità di autogoverno dei team e una disponibilità dell’utente che non è sicuramente sempre presente nelle aziende, ma il mondo ormai si muove in questa direzione.
Vi riporto quanto esposto da Jeff Sutherland, , uno dei padri di SCRUM, uno dei framework di Agile, nella conferenza del 2017 sul Project Management riguardo ad alcuni casi eccellenti:
General Electric nel 2015 ha investito 1 miliardo di dollari per creare una startup nella Silicon Valley con 1000 sviluppatori ottenendo ricavi per 3 miliardi di dollari; dal 2016 oltre 36.000 sviluppatori lavorano con Scrum, costituendo cosi GE Digital, una società da $123,7 miliardi;
BMW ha spostato tutto il suo IT (più di 4000 persone) su SCRUM, immediatamente .
E i risultati testimoniano che anche in realtà non preparate si può pianificare un ingresso di Agile che porti poi a modificare radicalmente la società.
Cosí nel triangolo a sinistra, se devo mantenere l’AMBITO fermo, dovrò variare il TEMPO e il COSTO: il mondo di sinistra è il mondo tradizionale, quello per intenderci dove si pianifica tutto all’inizio e poi si realizza e solo alla fine si capisce se quello che abbiamo fatto va bene. Ma vi sono anche altri approcci, come quello di destra, dove si preferisce mantenere TEMPO e COSTO ma piuttosto ottenere un AMBITO diverso. Il secondo triangolo è il mondo adattivo, quello in cui si lavoro a fianco dell’utente/cliente e con lui si decide cosa fare, cosa modificare se accade che si debbano modificare delle specifiche.
Il mondo Adattivo è rappresentato da diversi anni dalla Metodologia Agile (con la A maiuscola).
Oggi è sempre più necessario, e richiesto, avere il supporto di una metodologia di Project Management per affrontare i progetti e mantenere la qualità concordata con il cliente; ciò nonostante i metodi tradizionali stanno mostrando dei limiti in un mondo che cambia velocemente. I primi ad accorgersene sono stati coloro che operavano nel mondo del Software. qualcosa andava cambiato.
non adeguati. La metodologia Agile da questo punto di vista si basa su un approccio incrementale, iterativo, coinvolgendo il cliente e che permette di raggiungere dei risultati in tempi rapidi, evolvendo ciclicamente fino a raggiungere il risultato finale atteso dal cliente.
Metodologia Tradizionale
Metodologia Agile
Predittivo e Adattivo
Le metodologie per lo sviluppo e la gestione di progetti (non solo software) ricadono sempre nello spettro tra Predittivo e Adattivo.
Indichiamo con Predittivo l’approccio che predice il futuro pianificando un progetto nei dettagli prima che la fase di sviluppo cominci. Chiaramente il ciclo di vita si sussegue passo passo e ogni passo comprende un certo gruppo di processi. Questa metodologia è sicuramente la più utilizzata per costruire grandi progetti, come ponti, strade, grattacieli. E questa metodologia, anche chiamata ‘waterfall’ (a cascata) è stata quella utilizzata per anni nei progetti IT. Alla luce però di numerosi fallimenti, ritardi e incomprensioni con il cliente, si è capito, in questi ultimi anni, che non tutto poteva essere sviluppato in questa maniera, anche solo per il fatto che il cliente per primo non aveva ben chiaro cosa di cui aveva bisogno.
Quindi si sta sempre di più facendo spazio l’approccio Adattivo dove si raggiunge l’obiettivo attraverso una serie rapida di rilasci incrementali (chiamati sprint), con il cliente costantemente coinvolto e con il team di sviluppo motivato: entrambi sono così gli artefici del successo.