Agile vs Lean

Le metodologie Agile e Lean sono chiamate ad aiutare le imprese nel fornire valore ai clienti e ai dipendenti. Scopriamo cosa sono, come si differenziano e comportano.

Agile vs Lean

Agile e Lean, un obiettivo in comune: aiutare le aziende

La nuova sfida di ogni organizzazione è quella di fornire valore, sia ai propri clienti che ai dipendenti. 
Le aziende si trovano così davanti alla grande challenge, come un equilibrista su un filo che deve muoversi sempre più velocemente, per fornire prodotti e servizi di qualità ai clienti, fornendo la struttura e la stabilità per promuovere una sana cultura organizzativa.
Le metodologie Agile e Lean sono chiamate ad aiutare le aziende in questa impresa.
Tuttavia c’è ancora molta confusione sulle distinzioni tra queste metodologie e le pratiche ad esse associate.

Cosa significa Agile?  Cosa vuol dire Lean? E soprattutto, quali sono le differenze tra le due metodologie? 

Due metodologie a confronto 

Il termine "Lean" deriva dal modello di produzione basato sul Toyota Production System (TPS) ideato e sviluppato da Sakichi Toyoda, Kiichiro Toyoda e Taiichi Ohno, mentre Agile è stato originariamente progettato per lo sviluppo di software ed è ancora ampiamente utilizzato nelle organizzazioni IT di tutto il mondo.
I principi Lean e Agile promuovono la focalizzazione sul lavoro e sui processi attraverso i quali viene prodotto il lavoro, piuttosto che sulle persone responsabili del lavoro, consentendo una migliore collaborazione, più creatività e una più rapida erogazione di valore.
Approfondiamo insieme gli aspetti caratteristici di questi approcci, ma ricorda che se avessi bisogno di una consulenza specifica per la tua azienda Hinto è pronta per aiutarti.

Che cos'è l'Agile

Agile è stato progettato per i team di sviluppo software, come un modo iterativo e focalizzato sul tempo per garantire una fornitura continua di valore.

Agile è la capacità di creare e rispondere al cambiamento. È un modo per affrontare e, in ultima analisi, riuscire in un ambiente incerto e turbolento"

L’Agile viene utilizzato per migliorare la flessibilità, la soddisfazione del cliente e l'adattabilità sul mercato, promuovendo la suddivisione del lavoro in iterazioni piccole e frequenti: ogni release consegnata è testabile e aggiunge valore al prodotto.
Si preferisce essere adattivi, lavorare con le stime piuttosto che con i vincoli e consegnare un prodotto completo al 25% e usabile al 100% al posto di consegnare un prodotto completo al 50% e non usabile, consentendo agli utenti di fornire feedback su cosa funziona, cosa no e cosa può essere migliorato.

Agile Methology

Essere agili significa dare priorità alla qualità del rapporto tra le persone: l’obiettivo è mantenere uno standard alto e garantire un equo scambio sia all’interno del team sia nelle interazioni tra team e cliente. Queste ultime sono la chiave per ottenere un software di alta qualità perché, attraverso un frequente confronto tra le parti, si crea una sinergia tra di esse: da un lato il cliente fornisce feedback immediati, dall’altro il team è in grado di progredire di volta in volta nello sviluppo.
Altra pietra miliare di Agile è l’MVP (minimum available product): vengono stabilite tra team e cliente le feature di base che il prodotto rilasciato deve avere e che permettano di misurare se ciò che si sta rilasciando soddisfi le richieste del cliente, evitando di dover buttare ore e ore di lavoro.

Il manifesto Agile e i suoi 12 principi

Nel febbraio 2001, un gruppo di pionieri di Agile si incontrò a Snowbird, nello Utah, per produrre il Manifesto Agile che ha definito una serie di valori e principi per una metodologia che tenta di adattarsi ai requisiti in evoluzione e alle esigenze dei clienti, ridurre gli sprechi e fornire vantaggi più rapidamente utilizzando un approccio incrementale e iterativo. Il Manifesto Agile cita:

Stiamo scoprendo modi migliori per sviluppare software facendolo e aiutando gli altri a farlo. Attraverso questo lavoro siamo arrivati a valorizzare:

  • Individui e interazioni su processi e strumenti
  • Software funzionante su documentazione completa
  • Collaborazione con il cliente nella negoziazione del contratto
  • Rispondere al cambiamento piuttosto che seguire un piano

In linea con i valori del manifesto ci sono i 12 principi alla base del Manifesto Agile:

  1. La nostra massima priorità è soddisfare il cliente attraverso la consegna tempestiva e continua di software di valore.
  2. Benvenuto ai requisiti in evoluzione, anche in fase avanzata di sviluppo. I processi agili sfruttano il cambiamento per il vantaggio competitivo del cliente.
  3. Fornisci software funzionante frequentemente, da un paio di settimane a un paio di mesi, con una preferenza per un periodo di tempo più breve.
  4. Gli uomini d'affari e gli sviluppatori devono lavorare insieme ogni giorno durante tutto il progetto.
  5. Costruisci progetti attorno a persone motivate. Fornisci loro l'ambiente e il supporto di cui hanno bisogno e affidati a loro per portare a termine il lavoro.
  6. Il metodo più efficiente ed efficace per trasmettere informazioni all'interno di un team di sviluppo è la conversazione faccia a faccia.
  7. Il software funzionante è la principale misura del progresso. I processi agili promuovono lo sviluppo sostenibile.
  8. Gli sponsor, gli sviluppatori e gli utenti dovrebbero essere in grado di mantenere un ritmo costante a tempo indeterminato.
  9. La continua attenzione all'eccellenza tecnica e al buon design aumentano l'agilità.
  10. La semplicità, ovvero l'arte di massimizzare la quantità di lavoro non svolto, è essenziale.
  11. Le migliori architetture, requisiti e progetti emergono da team auto-organizzati.
  12. A intervalli regolari, il team riflette su come diventare più efficaci, quindi sintonizza e adatta il proprio comportamento di conseguenza.

Che cos'è Lean

La storia di Lean ha origini più antiche, più precisamente negli stabilimenti della casa automobilistica giapponese Toyota negli anni '50 e '60. Il Toyota Production System (TPS) mirava a migliorare la riduzione delle perdite e incoraggiare la produzione sostenibile, utilizzando segnali visivi per produrre l'inventario esattamente quando era necessario (noto come produzione just-in-time) e si concentrava sull'ottimizzazione dell'intero sistema di produzione per ridurre al minimo gli sprechi.
In breve, i tre pilastri del Lean Software Development sono:

  • essere in grado di riconoscere ed eliminare ciò che non serve (Muda)
  • mantenere il workflow (Mura) 
  •  non sovraccaricare i processi produttivi (Muri).

L’attenzione sul carico dei processi ha lo stesso peso (in termini di importanza) della riduzione degli sprechi perché sono questi due criteri a far sì che il workflow funzioni.
Adottare metodi e strumenti Lean permette di superare l’idea che produrre di più significhi incrementare il valore del prodotto.
TPS ha lavorato per eliminare gli sprechi applicando questi due concetti fondamentali:

  • Jidoka: la qualità deve essere integrata durante il processo di produzione, il che significa che quando si verifica un problema, il processo si arresta immediatamente, impedendo la produzione di prodotti difettosi.
  • Just-in-Time (JIT): fare solo ciò che è necessario, quando è necessario e nella quantità necessaria.

Come funziona l'approccio Lean 

L'approccio al Lean come un insieme di principi guida, piuttosto che un insieme specifico di pratiche prescrittive, rende l'implementazione più facile, più flessibile e più sostenibile.
È questa versione di Lean che ha iniziato a diffondersi nelle organizzazioni IT e, attraverso il Lean Management, ha applicato i valori fondamentali del miglioramento continuo e del rispetto per le persone producendo i cinque principi Lean che sarebbero stati ripetuti più volte per migliorare ed eliminare continuamente gli sprechi:

  1. Identifica valore: specifica un valore dal punto di vista del cliente finale per famiglia di prodotti.
  2. Mappare il flusso del valore: identifica tutti i passaggi nel flusso del valore per ciascuna famiglia di prodotti, eliminando quando possibile quei passaggi che non creano valore.
  3. Crea flusso: fai in modo che i passaggi di creazione del valore avvengano in una sequenza serrata in modo che il prodotto fluisca senza intoppi verso il cliente.
  4. Stabilire il pull: quando il flusso viene introdotto, consenti ai clienti di trarre valore dalla successiva attività a monte.
  5. Cerca la perfezione: quando il valore viene specificato, i flussi di valore vengono identificati, i passaggi sprecati vengono rimossi e vengono introdotti flusso e attrazione, ricomincia il processo e continua finché non viene raggiunto uno stato di perfezione in cui viene creato un valore perfetto senza sprechi.

Seguendo la tendenza secondo cui il Lean potrebbe essere esteso a qualsiasi settore, Eric Ries nel 2008 ha definito l’applicazione del Lean alle start-up, ovvero ai nuovi prodotti e servizi da realizzare in circostanze in cui vive l’incertezza. Per essere considerata Lean, una startup dovrebbe seguire i valori dei 5 principi Lean di Eric Ries, delineati nel suo libro “The Lean Startup”:

  1. Gli imprenditori sono ovunque
  2. L'imprenditorialità è gestione
  3. Apprendimento convalidato
  4. Contabilità dell'innovazione
  5. Costruisci-Misura-Impara
Lean

Ti racconto la storia discussa da Eric Rise nel suo libro di un padre e le sue figlie.
Un uomo doveva imbustare 200 lettere e, tornando a casa decise di darne 100 alle sue due figlie per farsi aiutare e di tenerne 100 per lui.
Durante lo svolgimento del lavoro descrive di aver visto utilizzare due approcci differenti:

Le figlie avevano scelto prima di piegare tutti e 100 i volantini, dopo di che inserirli dentro le buste e chiuderli, mentre lui aveva scelto di ripetere per 100 volte l’operazione di piegare il volantino e metterlo in busta.

Questo esempio ci mostra come la condivisione dell’obiettivo abbia portato alla revisione di un processo e all’adozione di un processo migliore e più veloce, per evitare gli sprechi nella produttività.

Agile e Lean: confronta e contrasta

Sia Agile che Lean mirano a raggiungere gli obiettivi aziendali e deliziare i clienti con un prodotto competitivo della migliore qualità. Queste e molte altre caratteristiche condivise tra le due mentalità spesso portano le persone a confonderle.
Tuttavia, servono a scopi e compiti diversi, ed è per questo che è importante tracciare una linea chiara tra di loro.
Il termine Lean è più ampio di Agile perché il suo approccio intelligente influenza tutti i tipi di perdite (non solo la perdita di tempo) come denaro, lavoro, energia, ecc.
Concettualmente Agile è un sottoinsieme di principi e pratiche.
L'obiettivo di Agile è quello di rendere flessibile il processo di sviluppo, che viene fatto fornendo in piccole e frequenti iterazioni. L'obiettivo di Lean è rendere sostenibile il processo di sviluppo, che viene fatto migliorando continuamente i processi.
Ascoltare e incorporare il feedback dei clienti è al centro di Agile e Lean ed è anche il nostro primo valore.

Lavoro di team e flusso di lavoro

I team Lean operano in un ciclo di "Costruisci-Misura-Impara", definendo il progresso come apprendimento convalidato. Rispetto al modello iterativo di Agile, lo sviluppo Lean implica il test, la misurazione e la convalida di ipotesi basate sulle tendenze del mercato e sul lavoro passato. Durante la pianificazione e l'assegnazione delle priorità al lavoro, i team Lean si concentrano sugli sforzi che fornirebbero il massimo valore al cliente.
Molti team Lean, ma anche i team Agile utilizzano le bacheche Kanban per visualizzare e gestire i propri flussi di lavoro.
L'applicazione del flusso Kanban ad Agile ha aiutato i team a lavorare in luoghi in cui lo sviluppo iterativo ha avuto difficoltà. Diversamente dal Lean, i team Agile utilizzano anche strumenti come la mappatura della storia dell'utente, i test di accettazione e gli sprint.
Nel tempo, diversi reparti in azienda hanno trovato modi nuovi e unici per implementare i principi Lean e Agile praticano un ibrido Lean-Agile, prendendo elementi da entrambe le metodologie. È chiaro comunque che non esiste un modo unico e definito di "fare" Lean o Agile.
Agile si è dimostrato efficace a livello di team, ma non fornisce un framework per la gestione del lavoro tra team interfunzionali o per la pianificazione e l'assegnazione delle priorità a livello di team, progetto e portfolio.
L'espansione dell'applicazione dei metodi Agile all'intero processo di creazione del prodotto richiede l'utilizzo di un framework Lean che include:

  • Team interfunzionali potenziati
  • Utilizzo di metodi di miglioramento continuo
  • Utilizzare i manager come mentori e insegnanti

Agile si concentra sull'evoluzione dei prodotti per soddisfare al meglio le esigenze dei clienti, ma non si occupa di come far evolvere i processi per supportare meglio l'evoluzione del prodotto. È qui che entra in gioco Kaizen, un metodo Lean per il miglioramento continuo.

Conclusioni

Sebbene spesso trattate come metodologie distinte, Agile e Lean sono radicate in valori simili.
Queste metodologie si sono evolute man mano che si sono espanse in nuovi settori, applicazioni, opportunità e molte organizzazioni hanno avuto un incredibile successo nel trarne vantaggio. Utilizzando il pensiero sistemico, l'approccio al miglioramento continuo delle pratiche di sviluppo Lean e Agile può essere utilizzato per aiutare le organizzazioni a costruire organizzazioni sane e innovative che forniscono in modo sostenibile valore al cliente.

Ti piacerebbe applicare una delle due metodologie all' interno della tua realtà?

Agile e Lean si propongono come metodologie efficaci per aiutare le organizzazioni a costruire realtà sane e innovative.
Hinto®può offrirti i giusti strumenti per introdurle all'interno della tua azienda, per esempio i tool della Suite Atlassian, di cui è Partner.