7 cose che dovresti dire al tuo capo sui benefici degli approcci agili

Benefici degli approcci agili

7 cose che dovresti dire al tuo capo sui benefici degli approcci agili

Se stai leggendo questo articolo devi aver già intuito quali siano i benefici degli approcci agili o potresti averli sperimentati direttamente adottando uno dei tanti framework agili (probabilmente Scrum o forse XP, Kanban o altri).

Il prossimo step ora è quello di estenderli ai tuoi progetti, alla tua organizzazione e trasformarti da semplice sostenitore a vero e proprio agente di cambiamento ma prima … Eh si, tutti abbiamo un capo (ma potrebbe essere un cliente o uno sponsor) da convincere!

E qui la questione si fa seria.

Ma cominciamo con la prima domanda…

Perché dovremmo aver bisogno di un altro approccio?

Gli approcci tradizionali di Project Management (i cosiddetti approcci Predittivi o Waterfall) non nascono storicamente per gestire i progetti complessi, ad alto tasso di incertezza, variabilità e rischio dell’era contemporanea: sono stati ereditati ed adattati da altri settori produttivi (il contesto industriale, militare ed ingegneristico).

D’altra parte, all’epoca in cui questo è avvenuto, andava benissimo così: meglio avere un metodo, per quanto imperfetto, che non averne alcuno!

Ma con il tempo questi approcci hanno cominciato a dimostrarsi via via sempre più inadeguati per tre categorie di ragioni principali:

VUCA è la nostra nuova normalità!

VUCA

VUCA

 

questo riguarda tutti, a prescindere dalla tipologia di progetto che stiamo gestendo, perché ha a che fare con l’epoca che viviamo.

L’acronimo VUCA, che trae probabilmente le sue origini dall’ambito militare, sta per Volatility, Uncentainty, Complexity, Ambiguity e sintetizza molto bene le caratteristiche dell’attuale contesto sociale e di mercato:

VVOLATILITA’: storicamente i cambiamenti non sono una novità (altrimenti vestiremmo ancora con una foglia di fico) ma quello che è nuovo oggi è la velocità con cui avvengono. Il contesto è liquido, con continui mutamenti organizzativi, tecnologici ed economici e sembra non esserci mai un momento di stabilità per fermarsi a riflettere ed elaborare delle strategie

UINCERTEZZA: viviamo una generale situazione di incapacità nel fare previsioni e pianificare: i risultati delle nostre azioni  non sono prevedibili, i rischi sconosciuti

CCOMPLESSITA’: la molteplicità dei fattori che interagiscono, le variabili sconosciute e correlate in pattern che non conosciamo conduce ad una generale paralisi decisionale dovuta alla quantità e velocità delle informazioni

AAMBIGUITA’: abbiamo difficoltà ad interpretare il contesto. Se in passato il problema era trovare le risposte giuste oggi è farsi le domande corrette.

Il fraintendimento è dietro l’angolo e l’incontro tra culture, religioni e sistemi di valori diversi contribuisce a rendere ancora più ambigua la realtà.

Il lavoro dei Knowledge Workers è diverso!

Questo aspetto riguarda invece la tipologia di progetti che molti di noi gestiscono.

E non stiamo parlando solo dell’industria IT e dello sviluppo software: i Knowledge Workers sono tutti coloro il cui lavoro ha a che fare con la creazione e la diffusione della conoscenza: avvocati, medici, scrittori, creativi, marketers, insegnanti e così via.

Queste categorie di attività hanno caratteristiche diverse da quelle di tipo industriale. Eccone  alcune:

Lavoro Industriale

Knowledge Work

Risultati tangibili Risultati intangibili
Stabilità Continuo cambiamento
Lavoro procedurale ed automatizzabile Lavoro scarsamente procedurale ed automatizzabile
Trovare la risposta giusta Porsi la domanda giusta
Best e Good Practices Soluzioni emergenti
Definizione dei task Comprensione dei task
Processi Problem Solving e decisioni
Command & Control Autonomia
Quantità Qualità
Aderire agli standard Apprendimento continuo
Minimizzazione dei costi della forza lavoro Le persone sono degli asset
Personale non specialistico Subject Matter Experts

Volendo esprimere il concetto graficamente, i progetti dei Knowledge Workers ricadono nei domini Complicato Complesso della Matrice di Stacey mentre i progetti tradizionali nel dominio del Semplice (i progetti dell’area Chaotic sono di fatto ingestibili a prescindere dall’approccio utilizzato):

Matrice di Stacey

Matrice di Stacey

Ora penso che parecchi di noi si ritrovino nella descrizione dello scenario attuale e so anche che, nella vita di tutti i giorni, quando ci troviamo ad affrontare un problema particolarmente complesso, in cui non tutto ci è chiaro fin dall’inizio, tendiamo per istinto a seguire un approccio molto simile a quello agile.

Nella vita quotidiana si, ma non quando si tratta di progetti! In pratica siamo prigionieri del paradosso che noi stessi abbiamo creato: tutti sappiamo di vivere in un contesto complesso e non lineare ma, quando gestiamo i nostri progetti, colti da improvvisa amnesia, ce ne dimentichiamo e pretendiamo di gestirli come se questo non fosse vero. Buffo, no ?

Agile do it better!

E non lo dico io …

La versione 2014 del famoso CHAOS report pubblicato annualmente da Standish Group ci mostra i risultati del confronto degli oltre 10.000 progetti software censiti nel proprio database.

I progetti sono segmentati per:

  • Tipologia: Agile e Waterfall,
  • Dimensione: All, Small, Medium e Large,
  • Esito:Successful, Challenged e Failed.

Il tasso di successo totale dei progetti agili rispetto a quelli waterfall è oltre 3 volte maggiore, mentre, per i progetti piccoli e medi, il tasso di fallimento dei progetti waterfall è pari al doppio di quelli agili.

Il report dimostra inoltre che i progetti agili scalano decisamente meglio dei progetti waterfall.

In generale comunque la distanza in termini di performance tra i due approcci diminuisce sui progetti più piccoli.

Trovi la sintesi nei grafici riportati nell’infografica.

Il Report State Of Agile pubblicato annualmente da Version One (qui faccio riferimento alla 12^ ed ultima edizione del 2018) ci racconta, in cifre, lo stato dell’arte della diffusione e dell’utilizzo degli approcci agili a livello mondiale.

La cosa interessante è che il report si basa sull’analisi di risposte a sondaggi effettuati con aziende ed organizzazioni reali (di cui il 27% europee) che volontariamente condividono la loro esperienza nell’utilizzo di approcci agili ed offre degli insights utilissimi e ben documentati (Hey, i capi vogliono vedere i numeri!).

Tra i vari aspetti analizzati vediamo quali sono i benefici degli approcci agili riconosciuti dalle aziende e organizzazioni che li hanno adottati.

Nell’infografica trovate i primi 7 benefici in ordine di peso percentuale: dovrebbero fornire motivazioni sufficienti a comprendere la potenziale portata e le ricadute positive che l’agile potrebbe portare ma, se il vostro capo è proprio un osso particolarmente duro, allora sfoderate pure gli altri che trovate di seguito e … good luck !

I benefici degli approcci agili

1. Change/Flexibility: ability to manage changing priorities (71%)

Il 71% dei rispondenti al sondaggio Version One attribuisce agli approcci agili la capacità di gestire i change delle priorità di business.

Responding to change over following a plan. – 4^ valore dell’Agile Manifesto

Dunque, gli approcci agili sono flessibili per costruzione!

I team agili sono consapevoli:

  • che la loro conoscenza dello scope, soprattutto all’inizio del progetto, è scarsa,
  • di non possedere doti divinatorie o sfere magiche per prevedere il futuro.

E si comportano di conseguenza, accettando di adattare i requisiti in modo emergente a mano a mano che lo sviluppo procede.

Utilizzano le tecniche di prioritizzazione del valore per stabilire quale requisito sviluppare e/o quale change integrare.

Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage. – 2^ Principio dell’Agile Manifesto

Rispetto all’atteggiamento mentale tipico degli approcci tradizionali, possiedono un mindset che interpreta le richieste di cambiamento come potenziali opportunità per avvicinare sempre più il prodotto finale all’idea di massimo valore raggiungibile per il cliente (nel caso di un progetto) o per il mercato (nel caso di un prodotto) piuttosto che come minacce da combattere come la peste.

Proprio come le costruzioni antisismiche che, grazie alle loro strutture flessibili, riescono a garantire la stabilità anche di fronte ad eventi distruttivi come i terremoti, allo stesso modo un progetto agile è stabile perché flessibile.

Gestire i cambiamenti o i rischi in brevi cicli di sviluppo, come iterazioni di un paio di settimane, è molto più semplice che farlo su un progetto tradizionale che traguarda un piano iniziale di uno o due anni.

Inoltre, in framework come Scrum, le fasi di produzione (gli Sprint) sono protette: il team compreso il Product Owner e lo Scrum Master si impegnano a non variare il contenuto dello scope fino al termine dell’iterazione rimandando eventuali variazioni alle fasi successive. Lo Sprint è un momento di grande stabilità e massima focalizzazione.

2. Visibility: project visibility (66%)

Il 66% dei rispondenti al sondaggio Version One ritiene che gli approcci agili aumentino la visibilità sullo stato del progetto.

Working software is the primary measure of progress. – 7^ Principio dell’Agile Manifesto

I progetti agili forniscono un flusso costante di informazioni, aggiornate giornalmente e basate su misure empirichegli approcci agili misurano ciò che il team rilascia effettivamente, non ciò che il team prevede di rilasciare.

Il Product Owner condivide la vision, gli obiettivi del progetto, i criteri di accettazione con il team ed il backlog, con le sue priorità, è costantemente aggiornato e visibile a tutti.

L’utilizzo di strumenti visuali, a bassa tecnologia, come grafici, diagrammi ed information radiators consentono a tutti di sapere sempre in che stato si trova il progetto, cosa è stato rilasciato, cosa é in lavorazione e cosa deve ancora essere prodotto.

Non serve chiedere lo stato di avanzamento al Project Manager: tutte le informazioni necessarie sono mostrate sulla parete o sulla lavagna. Basta guardare!

3. Alignment: business/IT alignment (65%)

Il 65% dei rispondenti al sondaggio Version One pensa che gli approcci agili agevolino l’allinemento tra il business e l’IT.

Business people and developers must work together daily throughout the project. – 4^ Principio dell’Agile Manifesto

I progetti nascono per creare prodotti o servizi che producano un valore di business: massimizzare questo valore è il mantra dei team agiliAdottare un approccio di sviluppo guidato dal Valore fa parte del loro DNA!

I progetti agili:

  • seguono un approccio value-driven diversamente da quello dei progetti tradizionali che è plan-driven: ogni iterazione produce un incremento di prodotto autoconsistente, potenzialmente rilasciabile e, soprattutto, che rappresenta valore per il cliente
  • minimizzano sprechi ed attività che non producono valore
  • accolgono i cambiamenti come potenziali opportunità per produrre maggiore valore basandosi sulle evoluzioni del mercato e/o sui feedback del cliente
  • prevedono una strettissima e costante collaborazione con il business: il Product Owner è parte del team ed uno dei suoi compiti è fare in modo che il team comprenda i requisiti, condivida la vision e gli obiettivi del progetto
  • il backlog è costantemente prioritizzatoviene prodotto prima ciò che crea più valore.

4. Time-to-Market: delivery speed/time-to-market (62%)

Il 62% dei rispondenti al sondaggio Version One ha riscontrato una maggiore velocità del processo di sviluppo ed una riduzione del time-to-market.

Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. – 3^ Principio dell’Agile Manifesto

I progetti agili:

  • rilasciano valore spesso al termine di ogni breve iterazione della durata compresa generalmente tra 1 e 4 settimane
  • il time-to-market è ridotto
  • le opportunità di revenue sono accellerate
  • il ROI è anticipato e, teoricamente, il progetto può autofinanziarsi.

5. Productivity: Increased team productivity (61%)

Il 61% dei rispondenti al sondaggio Version One nota un generale aumento della produttività dei team.

I team agili sono altamente produttivi:

  • sono auto-organizzati ed auto-gestitiNon c’è spazio per il micro-management nei progetti agili: chi meglio di chi lo fa quotidianamente sa come si fa un certo lavoro?
  • Task ed attività non produttive sono minimizzate
Simplicity–the art of maximizing the amount of work not done–is essential. – 10^ Principio dell’Agile Manifesto
  • Il Servant-Leader (facilitatore o Scrum Master che sia) protegge il team da distrazioni ed ingerenze e gli consente di mantenere la massima focalizzazione
  • I membri del team agile analizzano regolarmente il processo ed il prodotto per trovare spazi di miglioramento ed aumentare performance e qualità
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. – 12^ Principio dell’Agile Manifesto
  • Le metriche empiriche consentono al team di controllare e verificare continuamente le proprie performances.

6. Morale: team morale (61%)

Il morale dei membri del team risulta sensibilmente migliorato per il 61% dei rispondenti al sondaggio Version One con l’adozione di un approccio agile.

Individuals and interactions over processes and tools. – 1^ Valore dell’Agile Manifesto

I membri di un team agile sono generalmente più motivati di quanto rispetto ai loro colleghi dei progetti tradizionali:

  • la possibilità di autogestirsi ed auto-organizzarsi da spazio alla creatività, all’innovazione ed alla possibilità di mettere a frutto la propria esperienza
The best architectures, requirements, and designs emerge from self-organizing teams. – 11^ Principio dell’Agile Manifesto
  • un team cross-funzionale amplifica le possibilità di apprendimento reciproco da parte dei membri
  • un ritmo sostenibile di lavoro protegge le persone da eccessivo stress e gli consente di bilanciare lavoro e vita privata aumentandone il benessere
Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. – 8^ Principio dell’Agile Manifesto
  • il modello di Servant-Leadership, contrapposto allo stile Command-and-Control, consente ai membri del team di accrescere la propria autonomia, l’autostima, l’impegno ed il senso di responsabilità
  • il generale clima di fiducia e rispetto accresce la soddisfazione ed il benessere
  • la condivisione di vision ed obiettivi con il cliente accresce motivazione e senso di appartenenza
Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. – 5^ Principio dell’Agile Manifesto
  • lo stile di comunicazione trasparente e face-to-face accresce la coesione e riduce incomprensioni e conflitti.
The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. – 6^ Principio dell’Agile Manifesto

7. Predictability: project predictability (49%)

Il livello di predicibilità dell’andamento del progetto risulta sensibilmente più alto per il 49% dei rispondenti al sondaggio Version One con l’adozione di un approccio agile.

Gli strumenti e le pratiche agili consentono controllare l’andamento e di prevedere con più accuratezza l’esito del progetto rispetto agli approcci tradizionali:

  • la lunghezza fissa delle iterazioni (time-boxed) e la stabilità nell’allocazione dei membri del team consente di determinare il costo esatto di ogni iterazione
  • metriche empiriche come la velocity consentono di prevedere tempi e costi di iterazioni e release ed in generale del progetto
  • strumenti e pratiche come lo Standup Meeting, i Burn-Chart e le Task Board consentono di analizzare e prevedere le performance del team.

8. Quality: software quality (47%)

La qualità risulta migliorata per il 47% dei rispondenti al sondaggio Version One con l’adozione di un approccio agile.

Continuous attention to technical excellence and good design enhances agility. – 9^ Principio dell’Agile Manifesto

Gli approcci agili amplificano le possibilità di produrre risultati di altissima qualitàL’eccellenza tecnologica è uno dei mantra dello sviluppo agile:

  • Gli approcci proattivi dell’integrazione e dei test continui, del refactoring, del pair programming consentono di identificare tempestivamente e spesso prevenire problemi e difetti
  • una chiara definizione di Acceptance Criteria e Definition-Of-Done rendono trasparenti, condivisi e non ambigui i criteri di qualità
  • feedback continui da parte del cliente permettono di identificare ed indirizzare velocemente eventuali problemi
  • la definizione just-in-time dei requisiti permette al team di concentrare la massima attenzione allo sviluppo delle funzionalità a più alto valore.

9. Risks: project risk reduction (47%)

Con l’adozione di un approccio agile il livello di rischio risulta ridotto secondo il 47% dei rispondenti al sondaggio Version One.

Gli approcci agili tendono a ridurre drasticamente rischi e probabilità di fallimento e, in ogni caso, ne riducono gli impatti:

  • I brevi cicli di sviluppo delle iterazioni ed il feedback continuo permettono di rilevare tempestivamente problemi che se protratti nel tempo possono condurre a derive drammatiche
  • L’approccio failing fast consente, in presenza di situazioni non recuperabili, quantomeno di arginarne i danni e ridurne i costi
  • La rilevazione anticipata di problemi e rischi evita che questi possano degenerare e condurre ad un fallimento scongiurabile con interventi tempestivi.

10. Discipline: Engineering discipline (43%)

L’adozione di un approccio agile incoraggia rigore e disciplina secondo il 43% dei rispondenti al sondaggio Version One.

I team agili sanno che per perseguire l’eccellenza tecnologica è necessario rigore e disciplina che si manifestano:

  • nella ricerca di una chiara definizione di criteri di qualità ed accettazione
  • nel refactoring e nell’integrazione continua finalizzati al controllo del Technical Debt
  • nelle pratiche di test continue ed a più livelli mirate alla rilevazione tempestiva di problemi e difetti.

11. Distributed Teams: managing distributed teams (40%)

L’adozione di un approccio agile rende più efficiente la gestione di team di lavoro distribuiti secondo il 40% dei rispondenti al sondaggio Version One.

team agili dovrebbero essere idealmente co-locati per amplificarne la coesione, una comunicazione efficace ed il senso di appartenenza.

Non sempre però questo è possibile, anzi oggi come oggi i team agili distribuiti sono la norma e non l’eccezione!

Tuttavia, come sostiene Jim Highsmith, gli approcci agili rendono più efficiente una gestione distribuita dei gruppi di lavoro rispetto agli approcci tradizionali, perché:

  • le brevi iterazioni forzano una continua e più stretta collaborazione
  • il progetto è generalmente più controllabile perché ogni iterazione genera un risultato concreto e tangibile, un incremento di prodotto potenzialmente rilasciabile.

Certamente la gestione di un team distribuito necessita di maggiore attenzione soprattutto nelle fasi iniziali e più delicate della sua formazione (le fasi di Norming Storming): limitare la comunicazione ai soli scambi di email può essere pericoloso, soprattutto in questa fase.

Accorgimenti come un meeting iniziale di Kickoff o, se possibile, sfruttare le sessioni di planning, le demo o le retrospettive per far incontrare fisicamente le persone può contribuire a ridurre i problemi legati alla distanza e creare uno spirito di gruppo più profondo.

Nulla può sostituire l’efficacia di una comunicazione face-to-face ma quando questa non è percorribile ed è proprio necessario ricorrere alla tecnologia, il team agili dovrebbero prediligere la comunicazione calda delle conference-call, delle chat, dell’utilizzo di strumenti come Skype o piattaforme che implementano task-board elettroniche piuttosto che ricorrere alle fredde email.

12. Maintainability: software maintainability (33%)

L’adozione di un approccio agile aumenta la manutenibilità del software per il 33% dei rispondenti al sondaggio Version One.

Il team agili danno un peso importante alla manutenibilià dei prodotti come leva per la qualità e l’efficienza.

Seguono il principio Lean delle 5S che applicano al processo ed al prodotto:

1SSeiri (Separa/Scarta):

separa ciò che davvero serve da ciò che non è funzionale e quindi è fonte di disturbo, disordine, spreco (muda)

2SSeiton (Riordina/Sistema):

tieni in ordine tutto ciò che serve: “ogni cosa al suo posto e un posto per ogni cosa”

3SSeiso (Pulisci/Spazza):

mantieni l’ordine costantemente: un ambiente pulito ed ordinato è un ambiente che “non nasconde” le inefficienze

4SSeiketsu (Sistematizza/Standardizza):

definisci processi, strumenti e metodologie che ti aiutano a mantenere questo ordine

5SShitsuke (Diffondi/Sostieni):

promuovi questo mindset e rendilo pervasivo

13. Costs: project cost reduction (22%)

L’adozione di un approccio agile riduce i costi di progetto per il 22% dei rispondenti al sondaggio Version One.

Gli approcci agili contribuiscono a tenere sotto controllo ed a ridurre i costi:

  • rendendo flessibile lo scope, vengono prodotte le sole funzionalità che producono valore
  • la stabilità del team e le iterazioni time-boxed consentono di sapere sempre quanto si sta spendendo per il progetto
  • il Product Owner può, in qualsiasi momento, sospendere il progetto se ritiene che abbia prodotto un valore sufficiente per soddisfare i bisogni del cliente
  • la possibilità di una revenue e di un ROI anticipato consente teoricamente al progetto di autofinanziarsi.

Conclusioni

Beh, che ne dite? Vi sembrano motivazioni sufficienti per provare ad affrontare lo scettiscismo del vostro capo?

Armatevi della pazienza di un frate trappista e della calma di un monaco zen, accendete un cero al vostro Santo preferito e via! 🙂

Per amore di verità, alla domanda se nel mio caso queste motivazioni hanno sempre sortito l’effetto sperato la risposta è no, purtroppo no, ma qualche volta si, per fortuna. Da che dipende ? Da tante cose: la nostra convinzione e determinazione, la nostra capacità di spiegare ma anche lo stato d’animo e l’insieme di credenze del nostro interlocutore. Quando è davvero disposto ad ascoltare …

Non posso dire che provare garantisca sempre il successo ma sicuramente non tentare garantisce il fallimento (lo so che è banale …) e, come dice la donna Imma di Gomorra (io adoro Gomorra!): “La guerra non la vince chi è più forte, la guerra la vince chi ha più pazienza”.

Good Luck e … Stay agile!

No Comments

Give a comment