Come scegliere tra un approccio Agile ed uno Lean?

Quali sono le principali caratteristiche? E le differenze?

Quale metodologia tra Scrum e Kanban è la migliore?

In questo post ti parlerò delle due principali correnti di pensiero alternative all’approccio tradizionale, Agile e Lean, e farò un confronto diretto tra le due metodologie, Scrum e Kanban, con l’obiettivo di trasferirti tutte le informazioni necessarie ad una scelta ragionata per i tuoi progetti.

 


Una crescita che non conosce crisi

Si, è proprio questo il punto.

Negli ultimi 20 anni la diffusione delle metodologie legate all’Agile e al Lean è cresciuta in modo vertiginoso, impattando in diversi settori di business.

Per quanto riguarda l’AGILE i dati parlano chiaro.

Consultando l’undicesimo report annuale sullo “stato di salute” dell’agile a livello mondiale

The 11th annual state of agile report, questo il link della versione in inglese: stateofagile.versionone.com

scopriamo che:

  • il 94% delle aziende che hanno partecipato al survey dichiarano l’utilizzo di metodologie agili per la gestione dei progetti
  • di queste, il 25% appartiene al comparto IT (Information Technology)
  • il 69% dichiara di utilizzare metodologie di project management agili per accelerare il processo di delivery
  • la metodologia più utilizzata è SCRUM (utilizzata dal 58% dei rispondenti)
  • ed infine, i rispondenti hanno dichiarato che il 98% dei progetti gestiti con metodologie agile termina con successo

E’ interessante notare che la diffusione dell’Agile interessa anche settori diversi dal tradizionale comparto dello sviluppo software.

Discorso analogo per il LEAN. 

I principi del “pensiero snello” sono applicati da anni con successo nelle Operations (in particolare nel settore automobilistico). Ma, come ti mostrerò a breve, gli stessi principi sono applicati con successo anche in altri ambiti, quali il project management (lean project management) e le start-up (lean startup).

Grazie alla lean, ad esempio, Dropbox è stata in grado di passare da 100.000 iscritti a più di 4.000.000 in soli 15 mesi. Altri interessanti casi di studio li trovi qui: lean stratup case studies.


Filosofie, Metodologie e Strumenti: livelli concettuali differenti

Perché parlo di Agile e Lean e poi separatamente di SCRUM e Kanban?

La risposta è semplice.

Lo faccio perché appartengono a livelli concettuali differenti.

Mi spiego meglio. 

Agile e Lean sono filosofie, correnti di pensiero che si basano su principi di carattere generale.

SCRUM e Kanban sono metodologie, dei veri e propri framework che fanno uso di tecniche e strumenti specifici (sprint, board, test, ecc.).

In altri termini, SCRUM è solo una delle metodologie Agile, così come Kanban è solo una delle metodologie Lean.


Agile o Lean?

Due scuole di pensiero, due filosofie che hanno dimostrato di poter essere applicate con successo in contesti eterogenei.

Ma quale scegliere?

E’ proprio questo il punto.

Hai deciso di optare per una metodologia alternativa al metodo tradizionale (modello a cascata) e non sai se per te è meglio approcciarti all’Agile o al Lean.

A mio avviso per poter fare una scelta ragionata hai bisogno di:

  • comprendere il perché di una tale popolarità
  • conoscere i principi fondamentali di entrambi gli approcci, fare un confronto e analizzarne le principali differenze

 


Perché gli approcci Agile e Lean hanno riscosso un così enorme successo?

Le regioni sono essenzialmente quattro.

1. Competizione

La competizione nei mercati internazionali è la madre di tutti i cambiamenti che alterano le regole del business.

Secondo il GEM Global Report sono circa 100 milioni i nuovi business lanciati ogni anno.

Adottare tecniche manageriali efficaci ed estremamente efficienti è una condizione necessaria per sopravvivere e prosperare all’interno dell’affollata arena competitiva.

2. Il rapido sviluppo del mercato IT

La rapida crescita dell’IT e l’efficacia dimostrata dall’applicazione delle metodologie Agile e Lean ai progetti di sviluppo software ha destato grande attenzione.

Il settore dell’information technology è stato una sorta di trend setter.

Aziende operanti in business diversi dall’IT hanno deciso di approfondirne la conoscenza e sperimentare l’utilizzo delle due metodologie.

3. Un certa tendenza al “prodotto ideale”

Sono tantissime le aziende che perseguono l’obiettivo di produrre beni con la migliore qualità al miglior prezzo e, soprattutto, capaci di soddisfare appieno le attese dei consumatori.

Prodotti, potremmo definire, “leggendari” che è possibile ottenere solo se si è in grado di combinare sapientemente innovazione del modello di business, tecnologie e innovative tecniche manageriali.

4. Un certa spinta interna all’azienda da parte dei collaboratori

Non è un segreto che le persone rendono di più quando sono valorizzate e responsabilizzate. Inoltre, lavorare in un contesto dove è diffusa una cultura manageriale orientata alla performance contribuisce in modo determinante all’instaurarsi di un clima aziendale “positivo”.

Nelle aziende agili i gruppi di lavoro possono raggiungere un elevato livello di flessibilità e autonomia. Le persone sono responsabilizzate ed il risultato del lavoro svolto è spesso molto visibile.

Questo aspetto è visto con favore e genera una certa spinta verso l’utilizzo di metodologie “alternative” da parte dei collaboratori e dei gruppi di lavoro.


Quali sono le principali differenze tra Agile e Lean?

AGILE

Nasce inizialmente come tentativo di rendere lo sviluppo software più rapido ed efficiente.

Una forma primordiale di Agile la registriamo già nel lontano 1957, quando  quattro giovanotti non proprio comuni – Bernie Dimsdale, John von Neumann, Herb Jacobs e Gerald Weinberg – sperimentano l’uso di tecniche di sviluppo incrementali su progetti di sviluppo software per Motorola e IBM.

La nascita ufficiale dell’Agile avviene però nel 2001 quando 17 esperti dello sviluppo software danno vita all’ormai noto

Manifesto for Agile Software Development.

Nel manifesto sono individuati 12 principi dello sviluppo software agile che rappresentano la base di una vera e propria corrente di pensiero.

Principali caratteristiche

Contrariamente alla metodologia tradizionale “a cascata”, che pone grande enfasi sulla fase di definizione dei requisiti (circa il 40% del budget e del tempo), l’Agile si basa invece su un approccio iterativo ed incrementale all’esecuzione delle attività.

Si parte dal concetto che i requisiti saranno dettagliati durante l’avanzamento delle attività e che è necessaria solo una conoscenza di alto livello dei prodotti per poter avviare la fase di implementazione.

L’approccio alla pianificazione è a finestra mobile e segue le iterazione dei cicli di lavoro.

L’ambito può cambiare con frequenza in considerazione delle esigenze del cliente e del business in generale.

Queste caratteristiche conferiscono all’Agile grande flessibilità.


LEAN

Il movimento Lean nasce in Giappone nella metà degli anni ’50 con l’obiettivo di aumentare la competitività dell’industria automobilistica (Toyota) nei confronti dei concorrenti statunitensi (Ford).

L’approccio Lean è focalizzato essenzialmente sulla riduzione degli sprechi.

Nel 2000, con la pubblicazione del libro Lean Software Development di Mary e Tom Poppendiecks, le tecniche Lean sono ufficialmente adattate allo sviluppo software e sono diffusi i 7 principi lean dello sviluppo software, comunemente accettati anche dalla comunità Agile.

Nel 2008 i principi Lean sono applicati anche al settore delle start-up da Eric Reis come

“un modo per sviluppare nuovi prodotti e servizi in circostanze di estrema incertezza”.

Per essere considerata “Lean”, una start-up dovrebbe seguire i valori di 5 principi lean di Eric Reis.

Principali caratteristiche

Il pensiero snello (lean thinking) si basa su alcuni principi all’apparenza semplici, ma che hanno un grande impatto sul progetto e sull’intera organizzazione.

Il punto di partenza, cardine della filosofia, è l’identificazione degli sprechi.

Applicare i principi lean vuol dire:

  • identificare ciò che realmente vale (valore), ossia ciò per cui i clienti sono disposti a pagare un prezzo,
  • identificare il flusso del valore (value stream),
  • far scorrere il flusso del valore (flow),
  • fare in modo che il flusso sia tirato (pull), ossia far scorrere il flusso in base alle richieste del cliente, ed infine
  • puntare alla perfezione (perfection), ossia avere la perfezione come obiettivo ultimo dei programmi di miglioramento continuo

Se vuoi approfondire l’applicazione dei principi LEAN al PROJECT MANAGEMENT ti suggerisco di leggere il mio post Come applicare i principi lean alla gestione dei progetti ed avviare la tua personale lotta agli sprechi.


Quali sono le principali differenze tra le due filosofie?

Ecco una tabella di sintesi con le principali differenze tra le due filosofie.

Bene.

Completata questa panoramica sulle due filosofie adesso è il momento di entrare nel merito delle due metodologie selezionate per questi post.

SCRUM

Nel suo famosissimo libro “La Guida a Scrum”, il guru e creatore della metodologia Jeff Sutherland scrive:

“Scrum è un framework di processo utilizzato dai primi anni novanta per gestire lo sviluppo di prodotti complessi. Scrum non è un processo o una tecnica per costruire prodotti ma piuttosto è un framework all’interno del quale è possibile utilizzare vari processi e tecniche. Scrum rende chiara l’efficacia relativa del proprio product management e delle proprie pratiche di sviluppo così da poterle migliorare.”

Il principio fondamentale di Scrum è che dividendo tempo, prodotto e organizzazione è possibile ottimizzare il processo e garantire risultati impressionanti.

In parole semplici, per entrare in Scrum un’azienda dovrebbe costituire piccole squadre e dare loro piccoli compiti per brevi periodi di tempo (ad esempio 2 settimane per completare uno sprint).

I progressi delle attività vanno tracciati sulle schede Scrum che devono essere organizzate con le seguenti sezioni: backlog, da fare, in corso e eseguite.

Detto questo, adesso potrei dilungarmi con Scrum e presentarti tutto il framework, ma aggiungerei poco valore alla nostra conversazione dato che in rete è presente un’infinità di materiale.

Allora faccio qualcosa che probabilmente ti sarà più utile.

Ti segnalo alcune risorse che puoi leggere e studiare se vuoi approfondire questa fantastica metodologia.

Ecco i link (in italiano e in inglese):

Scrum Guides, il fantastico lavoro di Jeff Sutherland: scrum guides

La guida a Scrum, versione in italiano (pdf): guida a scrum

Cosa è Scrum, un’ottima sintesi ad opera di Vito Madaio, Responsabile Ten Step Italia: cosa è Scrum

Una volta che avrai studiato la metodologia, per approfondire ti basterà cercare in rete. Avrai solo il problema di selezionare i contributi di valore.

KANBAN

Così come riportato sul sito kanban.it, il kanban è una

“tecnica della Lean Production (Produzione Snella) che rende possibile il Pull Flow (Flusso Tirato) dei materiali.”

Kan (看) significa “visuale”, Ban (板) significa “segnale”.

Il kanban si basa infatti su dei cartellini fisici che acconsentono la produzione, l’acquisto o la movimentazione dei materiali.

L’obiettivo del kanban è di evitare la sovrapproduzione che è lo spreco più impattante sulle performance di un sistema produttivo.

Grazie a David J. Anderson nel 2007 questa metodologie entra nel mondo dello sviluppo software.

Nel libro scritto dallo stesso Anderson (Essential Kanban Condensed, ecco il link) sono esplicitate le cinque proprietà:

  • Visualizzare il flusso di lavoro
  • Limitare il work-in-progress
  • Misurare e gestire il flusso
  • Rendere le politiche di processo esplicite
  • Utilizzare i modelli per riconoscere le opportunità di miglioramento

Anche in questo caso, introdotti i principi fondamentali, ti segnalo le risorse che puoi consultare per approfondire l’argomento:

Kanban, Leanmanufacturing.it

Kanban, Kanban.it

Oltre al testo di Anderson che ti ho già segnalato.

 

Quali sono le principali differenze tra le due metodologie?

Prima di parlare di differenze voglio evidenziarti le aree in comune tra le due metodologie.

Entrambe le metodologie utilizzano un sistema di pianificazione ed assegnano i task a squadre dedicate.

Inoltre, è comune sia l’obiettivo di limitare la quantità di lavoro in corso (Scrum limita per unità di tempo – iterazioni, Kanban limita per stato del workflow) che l’approccio alla scomposizione del lavoro al fine di rilasciare le singole parti del prodotto prima e più spesso possibile.

Per contro, Scrum e Kanban non sono la stessa cosa.

Ecco una tabella di sintesi con le principali differenze tra le due metodologie.

Qual è la metodologia migliore?

La domanda è chiaramente provocatoria.

E’ chiaro che non esiste la metodologia migliore.

L’adozione di una metodologia a discapito dell’altra dipende da variabili sia interne che esterne al tuo progetto.

Di norma sono il contesto e la tipologia di prodotto/servizio/risultato che il progetto si prefigge di realizzare gli elementi che condizionano principalmente la scelta. Ma non è assolutamente preclusa la possibilità di miscelare le diverse metodologie e combinarle in modo da rispondere al meglio alle esigenze del cliente.

Prima di salutarti ti faccio un esempio.

Nel 2009 partecipai come consulente al progetto di realizzazione della metropolitana di Dubai. Un mega progetto pazzesco!

In quel caso specifico, la realizzazione delle opere civili e la costruzione dei nuovissimi treni driveless furono gestiti con metodologie tradizionali a cascata. Per contro, la piattaforma software di video broadcasting che gestisce l’infotainment sia a bordo treno che nelle stazioni fu gestita con metodologia Scrum.

Metodologie diverse selezionate e combinate per rispondere al meglio alle esigenze di un progetto complesso.

E con questo chiudo.

Commenta & Condividi.

A presto!

Francesco