SlideShare a Scribd company logo
I principi del Lean Software Development
Il Lean Thinking applicato al Software
Carlo Barengo – carlo.barengo@gmail.com
Lean
È un termine che riassume un modo di pensare per
aumentare l’efficienza ed eliminare gli sprechi, viene
utilizzato in diversi contesti…..
Cronistoria
1550-1900
Studi che
partono da
Venezia
(arsenale) per
migliorare il
flusso
produttivo
1900-1990
Viene
applicato alle
industrie
manifatturiere
standardizzato
e studiato
1990-2005
Lean viene
“promosso” ed
entra a far
parte delle
metodologie
applicate alla
produzione
2006
Lean viene
applicato allo
sviluppo
software da
parte di M & T
Poppendieck
2011
Lean viene
applicato
anche alle
società
definite come
startup da E.
Ries
Principi Lean e Ambiti
• I principi Lean vengono adottati in ambiti differenti
MANIFATTURIERO
 Eliminare gli sprechi
 Definire il valore dal punto
di vista del Cliente
 Far fluire tutte le attività
 Realizzare un’attività
solamente quando il
processo a valle lo richiede
(just-on-time)
 Perseguire la perfezione
tramite miglioramenti
continui (Kaizen)
STARTUP
 Gli imprenditori sono
ovunque
 Imprenditorialità è
gestione
 Apprendimento “validato”
 Costruisci-Misura-Impara
 Innovazione “responsabile”
SOFTWARE
 Eliminare gli sprechi
 Creare la conoscenza
 Rinviare l’impegno
 Rilasciare velocemente
 Potenziare il Team
 Ottimizzare
I principi Lean
• Adottato inizialmente da Toyota nel processo “just-in-
time”, ha trasformato radicalmente il processo di
produzione dei veicoli.
• Per quanto riguarda lo sviluppo software nasce dalla
rielaborazione dei principi Lean della produzione
industriale da parte di Tom e Mary Poppendieck.
• Con le loro pubblicazioni ed i numerosi seminari
hanno fatto in modo che siano stati ampiamente
accettati dalle comunità “Agili” di sviluppatori
I principi Lean
1. Eliminare gli sprechi
2. Definire il valore dal punto di vista del cliente
3. Far fluire tutte le attività
4. Realizzare un’attività solo quando il proceso a valle lo
richiede
5. Perseguire la perfezione tramite continui
miglioramenti (Kaizen)
I principi Lean – applicati allo sviluppo SW
1. Eliminare gli sprechi
2. Amplificare l’apprendimento
3. Decidere il più tardi possibile
4. Consegnare rapidamente
5. Potenziare il team delle risorse
6. Costruire l’integrità
7. Ottimizzare il tutto
Sette semplici regole
1. Eliminare gli sprechi:
• impiegare il tempo solo su cose che aggiungono valore al cliente.
2. Amplificare l’apprendimento:
• quando ci sono problemi di difficile soluzione aumentate il feedback.
3. Decidere il più tardi possibile:
• tenere aperte varie opzioni, ma non troppo a lungo.
4. Consegnare rapidamente:
• consegnare valore al cliente prima che lo richieda..
5. Potenziare il team delle risorse:
• Esortare le persone a dare valore aggiunto.
6. Costruire l’integrità:
• non pensare all’integrità di un prodotto dopo la consegna, costruiscila costantemente.
7. Ottimizzare il tutto:
• evitare la tentazione di ottimizzare singole parti a discapito di tutto
1 - Eliminare gli sprechi
Può sembrare ovvio!
• Alcuni sprechi spesso sono evidenti, altri sono difficili da identificare o da
affrontare
• In alcuni casi processi e modi operativi possono sembrare uno spreco ma in realtà
sono utili ad altri settori aziendali
Lo spreco nelle attività industriali
Le metodologie Lean applicate in Toyota (produzione industriale) identificavano 3 forme di spreco:
• ‘Muda‘ - attività inutili, che assorbono risorse e non creano valore al cliente
• sprechi di trasporto, sprechi per attese, sprechi di movimento, sprechi per scorte, sprechi di
processo, sprechi di sovrapproduzione e sprechi per prodotti difettosi
• ‘Mura‘ - intesa come “incompatibilità”
• evidente nella gestione delle scorte, queste forniscono una riserva anche quando la
produzione non ne ha bisogno (non avere scorte in più rispetto alla reale richiesta).
Fluidificare la produzione per rispondere facilmente ai cambiamenti.
• ‘Muri‘ - sovraccarico di persone o risorse
• provoca a lungo termine la possibilità di infortuni o malattie, assenza dal lavoro per periodi
più o meno lunghi e insoddisfazione generale delle persone che si sentono sfruttate.
Osserviamo il lavoro, analizziamo le attività svolte, aumentiamo l’efficienza togliendo sovraccarico.
Il lean thinking insegna proprio questo: osservare ed analizzare
Lo spreco nello sviluppo software
Lo spreco è qualunque cosa che non aggiunge valore ad un
prodotto, (percezione del cliente), spesso viene generato da:
• Pezzi che stanno sullo scaffale a prendere polvere
• Specifiche software raccolte in un raccoglitore che si sta
impolverando
• Spostare continuamente lo sviluppo da un gruppo di lavoro
ad un altro
L’ideale è fare esattamente cosa desidera il ns. Cliente,
sviluppare e consegnare quando vuole (il prima possibile!)
1.2 - Eliminare gli sprechi
Il processo iterativo di analisi e miglioramento continuo è importante per
identificare/eliminare sprechi (Sviluppo Agile)
Nei metodi tradizionali, di sviluppo e project management, si c’è il
“lessons learned” ma è presente solo alla fine nel processo di chiusura, e
può avere le seguenti criticità:
• dimenticare alcuni particolari accaduti;
• persone non più presenti;
• contesti cambiati;
• team smembrati o attivati su altri progetti.
Difficilmente quanto accaduto viene realmente identificato ed applicato
successivamente.
2- Amplificare l’apprendimento
Lo sviluppo è ricerca e scoperta
La produzione è ridurre al massimo le variazioni.
Un approccio Lean per lo sviluppo applicativo risulta essere abbastanza
differente dalle pratiche Lean di produzione industriale.
Es. Lo sviluppo è come creare una ricetta di un piatto di pasta, la produzione è
fare il piatto di pasta
Lo Chef non ha una ricetta perfetta al primo tentativo, la ottiene solo dopo una
serie di varianti applicando l’esperienza acquisita (processo iterativo)
Nello sviluppo software l’ambiente è ancora più complesso in quanto:
• non si lavora singolarmente ma in gruppo;
• la conoscenza deve essere il più possibile distribuita
• l’apprendimento deve essere amplificato
3 – Decidere il più tardi possibile
Nello sviluppo software, decidere il più tardi possibile
permette di avere un approccio basato su più opzioni.
• Ritardare le decisioni può avere i seguenti effetti:
• Decidere nel momento in cui ci sia qualcosa di
concreto e non teorico
• All’interno di un sistema complesso, le decisioni
vengono rimandate fino a che questo non prenda
forma nella sua totalità
3 – Consegnare rapidamente
Lo sviluppo rapido ha molti vantaggi:
• Non si possono ritardare le decisioni;
• Non si dispone di un feedback affidabile
• Assicura che il cliente abbia ciò di cui ha bisogno adesso e non ieri
Comprimendo il più possibile il flusso del valore applichiamo una delle principali
strategie Lean per l’eliminazione degli sprechi
3 – Potenziare il Team delle risorse
• Coinvolgere gli sviluppatori nelle decisioni tecniche è fondamentale per raggiungere
obiettivi di eccellenza
• Infatti chi è in prima linea possiede:
• la conoscenza del dettaglio;
• la disponibilità di più persone e pareri.
• Le decisioni vengono prese il più tardi possibile e l’esecuzione è veloce quindi non è
possibile da un’autorità centrale orchestrare la singola risorsa.
• Nelle pratiche Lean (industriali) vengono utilizzate tecniche per la schedulazione del
lavoro e meccanismi di segnalazione tra un gruppo ed un’altro.
• Nello sviluppo Lean ci si accorda sul meccanismo di schedulazione che è scandito dal
rilascio di versioni incrementali dell’applicativo (generalmente ad intervalli regolari).
• La segnalazione tra i team è costituita da:
• Grafici, incontri giornalieri, integrazioni frequenti e test generali
•
6 - Costruire l’Integrità (di un prodotto)
Un prodotto si può affermare che sia costituito da due
tipologie di Integrità:
• Integrità percepita;
• Integrità concettuale.
La prima è che un prodotto finale raggiunga un
bilanciamento di funzioni, disponibilità, usabilità ed
economia che gratifichi il cliente;
La seconda è che il prodotto sia ben integrato in un
sistema più grande con coerenza.
6.1 – Integrità percepita
Questa è influenzata dall’esperienza
che il cliente ha di un sistema, nello
specifico:
•Come è pubblicizzato;
•Come è installato;
•Le modalità di accesso;
•Se il suo utilizzo è intuitivo;
•Quanto costa;
•Quali sono i tempi di risposta;
•Come risolve il problema che gli
sottoponiamo.
6.2 - Integrità Concettuale
Un sistema è integrato in una architettura generale affinchè:
Flessibilità, manutenzione, efficienza e tempi di risposta siano in
equilibrio
Integrità concettuale è pre-requisito di Integrità percepita
Se un applicativo non ha un buon disegno concettuale l’utente ha
difficoltà di navigazione tra le funzioni e di conseguenza problemi di
usabilità
Con il giusto impegno si può far emergere l’Integrità concettuale con
l’evoluzione e la maturità del prodotto applicativo stesso.
7 - Ottimizzare il tutto
Un sistema applicativo è composto da parti interdipendenti e
che interagiscono fra loro con un obiettivo funzionale
generale.
Un sistema non è solo una somma di singole funzioni, ma
l’integrazione fra loro.
Prese singolarmente le funzioni applicative migliori non fanno
un sistema applicativo migliore, quindi:
• l’obiettivo si considera centrato per un sistema quando le
singole parti che lo compongono sono integrate e NON
come performano singolarmente.
7 – Ottimizzare il tutto
• Il Systems thinking tratta una organizzazione
come fosse un sistema, analizzando come le
parti si relazionano e come sono le
performance del tutto;
• Gli analisti, in genere costruiscono un modello
computerizzato inserendo dei dati riassunti
dalle interviste al personale e ricavandone le
regole organizzative.
• Ovviamente ognuno prende delle decisioni in
base ai dati disponibili
• Spesso i risultati dei modelli portano ad un
impatto sulle politiche aziendali che spesso
non vengono capite.
• In ogni caso le nuove politiche sono orientate
a risolvere un problema non ad eliminarlo
definitivamente
7.1 – Ottimizzare il tutto
Spesso notiamo questa dinamica nello sviluppo applicativo
• Quando un’organizzazione ha esperienze negative nello sviluppo tende a
imporre nuovi processi organizzativi (spesso sequenziali)
• Es. specifiche di progetto molto accurate, con approvazione continua del
cliente e tracciamento di ogni modifica di dettaglio nel codice.
• Inizialmente si può avere anche un beneficio ma non detto che sia la cura
giusta
• L’effetto ritardo in un processo sequenziale, in un ambiente dinamico, aumenta
la difficoltà a tenere l’applicativo allineato alle richieste del cliente
• Spingere sui processi di tipo sequenziale può portare ad una spirale di aumento
dei costi e limitare la crescita aziendale
• Sebbene un processo possa produrre i risultati desiderati può creare l’effetto
secondario di rallentare tutta l’organizzazione.
• Continuare a spingere sullo stesso processo per raggiungere un buon risultato
amplifica l’effetto contrario di limitarne la crescita
Quindi non continuare a spingere sulla crescita ma concentrarsi sul rimuoverne i
limiti
Conclusioni
Se i problemi odierni dipendono dalle soluzioni di ieri, i problemi di domani
dipenderanno dalle soluzioni adottate oggi
Evitiamo eccessi e cerchiamo di trovare un punto bilanciato tra i principi Lean
1. Eliminare gli sprechi non significa gettar via tutta la documentazione
2. Amplificare l’apprendimento non significa cambiare mentalità
3. Decidere il più tardi possibile non significa procrastinare all’infinito
4. Consegnare rapidamente non significa correre e fare un lavoro sciatto
5. Potenziare il team delle risorse non significa abbandonare la leadership
6. Costruire l’integrità non significa fare un disegno complesso all’inizio
7. Ottimizzare il tutto non significa ignorare i dettagli
Una medicina efficace per un team può essere veleno per un’altro team
(non adottiamo arbitrariamente modalità che sono utilizzate in altre organizzazioni)
Conclusioni
L’analisi delle funzionalità e la loro tracciabilità dipendono dalla funzione
cui è dedicato l’applicativo e la probabilità che questo cambi nel tempo,
quindi attenzione:
• Mettere in orbita un missile non è come l’approvazione un prestito
• Modificare il codice di un mainframe non è come creare una pagina
web statica.
La giusta quantità di interazione richiesta da un applicativo è
direttamente proporzionale agli utilizzatori del sistema, alla loro capacità
tecnica ed alla propensione all’utilizzo di un sistema informatico, quindi
attenzione:
• L’integrità percepita del sistema applicativo deriva dall’interfaccia
utente.
• È molto più difficile «re-ingegnerizzare» gli utenti che riscrivere il
codice.
Relatore - Contatti - Affiliazione

More Related Content

What's hot

Disciplined Agile DevOps
Disciplined Agile DevOpsDisciplined Agile DevOps
Disciplined Agile DevOps
Felice Pescatore
 
Lean Startup Machine - Rome - Agile e Lean Project Management
Lean Startup Machine - Rome - Agile e Lean Project ManagementLean Startup Machine - Rome - Agile e Lean Project Management
Lean Startup Machine - Rome - Agile e Lean Project Management
Simone Onofri
 
Open Innovation Campus - 05/04/2018 - Agile challenges: essere agili nello sv...
Open Innovation Campus - 05/04/2018 - Agile challenges: essere agili nello sv...Open Innovation Campus - 05/04/2018 - Agile challenges: essere agili nello sv...
Open Innovation Campus - 05/04/2018 - Agile challenges: essere agili nello sv...
Vittorio Polizzi
 
Agile Lean Management - MoSCoW, Timeboxing e Kanban
Agile Lean Management - MoSCoW, Timeboxing e KanbanAgile Lean Management - MoSCoW, Timeboxing e Kanban
Agile Lean Management - MoSCoW, Timeboxing e Kanban
Simone Onofri
 
Agile Lean Conference 2016 - Romano Lean_scrum_kanban
Agile Lean Conference 2016 - Romano Lean_scrum_kanbanAgile Lean Conference 2016 - Romano Lean_scrum_kanban
Agile Lean Conference 2016 - Romano Lean_scrum_kanban
Agile Lean Conference
 
Agile Lean Conference 2017 - Leadership e facilitazione
Agile Lean Conference 2017 - Leadership e facilitazioneAgile Lean Conference 2017 - Leadership e facilitazione
Agile Lean Conference 2017 - Leadership e facilitazione
Simone Onofri
 
Quando il project management si fa agile
Quando il project management si fa agileQuando il project management si fa agile
Quando il project management si fa agile
inspearit Italy
 
DevOps: l'IT al servizio del Business
DevOps: l'IT al servizio del BusinessDevOps: l'IT al servizio del Business
DevOps: l'IT al servizio del Business
Felice Pescatore
 
2016 dev ops@core -devops nella cameretta di mio figlio
2016 dev ops@core -devops nella cameretta di mio figlio2016 dev ops@core -devops nella cameretta di mio figlio
2016 dev ops@core -devops nella cameretta di mio figlio
Felice Pescatore
 
AgileIot: Agile meets IoT
AgileIot: Agile meets IoTAgileIot: Agile meets IoT
AgileIot: Agile meets IoT
Felice Pescatore
 
L'innovazione manageriale nello sviluppo dei servizi e dei prodotti
L'innovazione manageriale nello sviluppo dei servizi e dei prodottiL'innovazione manageriale nello sviluppo dei servizi e dei prodotti
L'innovazione manageriale nello sviluppo dei servizi e dei prodotti
Claudio Saurin
 
Agile Lean Conference 2016 - Pescatore_ Road to Disciplined DevOps
Agile Lean Conference 2016 - Pescatore_ Road to Disciplined DevOpsAgile Lean Conference 2016 - Pescatore_ Road to Disciplined DevOps
Agile Lean Conference 2016 - Pescatore_ Road to Disciplined DevOps
Agile Lean Conference
 
2015 mag 28 PMI Rome Agile Project Management - Agile tra Sviluppo e Esercizio
2015 mag 28 PMI Rome Agile Project Management - Agile tra Sviluppo e Esercizio2015 mag 28 PMI Rome Agile Project Management - Agile tra Sviluppo e Esercizio
2015 mag 28 PMI Rome Agile Project Management - Agile tra Sviluppo e Esercizio
ACT Point
 
Semplicemente Agile
Semplicemente AgileSemplicemente Agile
Semplicemente Agile
Stefano Gallotti
 
Sviluppo Agile secondo l'approccio SCRUM
Sviluppo Agile secondo l'approccio SCRUMSviluppo Agile secondo l'approccio SCRUM
Sviluppo Agile secondo l'approccio SCRUM
Matteo Papadopoulos
 
Certificazione Agile PMI-ACP
Certificazione Agile PMI-ACPCertificazione Agile PMI-ACP
Certificazione Agile PMI-ACP
Vito Madaio
 
Back to Agile - Codemotion 2013
Back to Agile - Codemotion 2013  Back to Agile - Codemotion 2013
Back to Agile - Codemotion 2013
Fabio Armani
 
Progetto e Project Management
Progetto e Project ManagementProgetto e Project Management
Progetto e Project Management
Domenico Aloisi
 
Come ti cambio l'organizzazione con un Capo Progetto e un Team SCRUM
Come ti cambio l'organizzazione  con un Capo Progetto e un Team SCRUMCome ti cambio l'organizzazione  con un Capo Progetto e un Team SCRUM
Come ti cambio l'organizzazione con un Capo Progetto e un Team SCRUM
Stefania Di Cristofalo
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
Giulio Roggero
 

What's hot (20)

Disciplined Agile DevOps
Disciplined Agile DevOpsDisciplined Agile DevOps
Disciplined Agile DevOps
 
Lean Startup Machine - Rome - Agile e Lean Project Management
Lean Startup Machine - Rome - Agile e Lean Project ManagementLean Startup Machine - Rome - Agile e Lean Project Management
Lean Startup Machine - Rome - Agile e Lean Project Management
 
Open Innovation Campus - 05/04/2018 - Agile challenges: essere agili nello sv...
Open Innovation Campus - 05/04/2018 - Agile challenges: essere agili nello sv...Open Innovation Campus - 05/04/2018 - Agile challenges: essere agili nello sv...
Open Innovation Campus - 05/04/2018 - Agile challenges: essere agili nello sv...
 
Agile Lean Management - MoSCoW, Timeboxing e Kanban
Agile Lean Management - MoSCoW, Timeboxing e KanbanAgile Lean Management - MoSCoW, Timeboxing e Kanban
Agile Lean Management - MoSCoW, Timeboxing e Kanban
 
Agile Lean Conference 2016 - Romano Lean_scrum_kanban
Agile Lean Conference 2016 - Romano Lean_scrum_kanbanAgile Lean Conference 2016 - Romano Lean_scrum_kanban
Agile Lean Conference 2016 - Romano Lean_scrum_kanban
 
Agile Lean Conference 2017 - Leadership e facilitazione
Agile Lean Conference 2017 - Leadership e facilitazioneAgile Lean Conference 2017 - Leadership e facilitazione
Agile Lean Conference 2017 - Leadership e facilitazione
 
Quando il project management si fa agile
Quando il project management si fa agileQuando il project management si fa agile
Quando il project management si fa agile
 
DevOps: l'IT al servizio del Business
DevOps: l'IT al servizio del BusinessDevOps: l'IT al servizio del Business
DevOps: l'IT al servizio del Business
 
2016 dev ops@core -devops nella cameretta di mio figlio
2016 dev ops@core -devops nella cameretta di mio figlio2016 dev ops@core -devops nella cameretta di mio figlio
2016 dev ops@core -devops nella cameretta di mio figlio
 
AgileIot: Agile meets IoT
AgileIot: Agile meets IoTAgileIot: Agile meets IoT
AgileIot: Agile meets IoT
 
L'innovazione manageriale nello sviluppo dei servizi e dei prodotti
L'innovazione manageriale nello sviluppo dei servizi e dei prodottiL'innovazione manageriale nello sviluppo dei servizi e dei prodotti
L'innovazione manageriale nello sviluppo dei servizi e dei prodotti
 
Agile Lean Conference 2016 - Pescatore_ Road to Disciplined DevOps
Agile Lean Conference 2016 - Pescatore_ Road to Disciplined DevOpsAgile Lean Conference 2016 - Pescatore_ Road to Disciplined DevOps
Agile Lean Conference 2016 - Pescatore_ Road to Disciplined DevOps
 
2015 mag 28 PMI Rome Agile Project Management - Agile tra Sviluppo e Esercizio
2015 mag 28 PMI Rome Agile Project Management - Agile tra Sviluppo e Esercizio2015 mag 28 PMI Rome Agile Project Management - Agile tra Sviluppo e Esercizio
2015 mag 28 PMI Rome Agile Project Management - Agile tra Sviluppo e Esercizio
 
Semplicemente Agile
Semplicemente AgileSemplicemente Agile
Semplicemente Agile
 
Sviluppo Agile secondo l'approccio SCRUM
Sviluppo Agile secondo l'approccio SCRUMSviluppo Agile secondo l'approccio SCRUM
Sviluppo Agile secondo l'approccio SCRUM
 
Certificazione Agile PMI-ACP
Certificazione Agile PMI-ACPCertificazione Agile PMI-ACP
Certificazione Agile PMI-ACP
 
Back to Agile - Codemotion 2013
Back to Agile - Codemotion 2013  Back to Agile - Codemotion 2013
Back to Agile - Codemotion 2013
 
Progetto e Project Management
Progetto e Project ManagementProgetto e Project Management
Progetto e Project Management
 
Come ti cambio l'organizzazione con un Capo Progetto e un Team SCRUM
Come ti cambio l'organizzazione  con un Capo Progetto e un Team SCRUMCome ti cambio l'organizzazione  con un Capo Progetto e un Team SCRUM
Come ti cambio l'organizzazione con un Capo Progetto e un Team SCRUM
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 

Viewers also liked

End of the nigth kennyG with melody and solo transcriptio( tenor sax)
End of the nigth kennyG with melody and solo transcriptio( tenor sax)End of the nigth kennyG with melody and solo transcriptio( tenor sax)
End of the nigth kennyG with melody and solo transcriptio( tenor sax)carlito estrada
 
IDEXX ELITEVISION WETLAB INVITE
IDEXX ELITEVISION WETLAB INVITEIDEXX ELITEVISION WETLAB INVITE
IDEXX ELITEVISION WETLAB INVITE
Walter Banner
 
Curos Universitario e-learning Teórico Práctico de Histeroscopía
Curos Universitario e-learning Teórico Práctico de Histeroscopía Curos Universitario e-learning Teórico Práctico de Histeroscopía
Curos Universitario e-learning Teórico Práctico de Histeroscopía
Tony Terrones
 
Trabajo escrito zule
Trabajo escrito zuleTrabajo escrito zule
Trabajo escrito zule
Zulelly Alvarez
 
Electrostatica
ElectrostaticaElectrostatica
Electrostatica
Martin Cabezas
 
I requisiti nello sviluppo software - leggi generali e varianti contestuali
I requisiti nello sviluppo software - leggi generali e varianti contestualiI requisiti nello sviluppo software - leggi generali e varianti contestuali
I requisiti nello sviluppo software - leggi generali e varianti contestuali
Emerasoft, solutions to collaborate
 
A better way to discover brand insights
A better way to discover brand insightsA better way to discover brand insights
A better way to discover brand insights
Quid Inc.
 
A review of jacquard fabric
A review of jacquard fabricA review of jacquard fabric
A review of jacquard fabric
Vignesh Dhanabalan
 
Agro tech by Vignesh Dhanabalan
Agro tech by Vignesh DhanabalanAgro tech by Vignesh Dhanabalan
Agro tech by Vignesh Dhanabalan
Vignesh Dhanabalan
 

Viewers also liked (10)

End of the nigth kennyG with melody and solo transcriptio( tenor sax)
End of the nigth kennyG with melody and solo transcriptio( tenor sax)End of the nigth kennyG with melody and solo transcriptio( tenor sax)
End of the nigth kennyG with melody and solo transcriptio( tenor sax)
 
IDEXX ELITEVISION WETLAB INVITE
IDEXX ELITEVISION WETLAB INVITEIDEXX ELITEVISION WETLAB INVITE
IDEXX ELITEVISION WETLAB INVITE
 
Curos Universitario e-learning Teórico Práctico de Histeroscopía
Curos Universitario e-learning Teórico Práctico de Histeroscopía Curos Universitario e-learning Teórico Práctico de Histeroscopía
Curos Universitario e-learning Teórico Práctico de Histeroscopía
 
Trabajo escrito zule
Trabajo escrito zuleTrabajo escrito zule
Trabajo escrito zule
 
Electrostatica
ElectrostaticaElectrostatica
Electrostatica
 
I requisiti nello sviluppo software - leggi generali e varianti contestuali
I requisiti nello sviluppo software - leggi generali e varianti contestualiI requisiti nello sviluppo software - leggi generali e varianti contestuali
I requisiti nello sviluppo software - leggi generali e varianti contestuali
 
A better way to discover brand insights
A better way to discover brand insightsA better way to discover brand insights
A better way to discover brand insights
 
EC-CUBE3プラグイン仕様
EC-CUBE3プラグイン仕様EC-CUBE3プラグイン仕様
EC-CUBE3プラグイン仕様
 
A review of jacquard fabric
A review of jacquard fabricA review of jacquard fabric
A review of jacquard fabric
 
Agro tech by Vignesh Dhanabalan
Agro tech by Vignesh DhanabalanAgro tech by Vignesh Dhanabalan
Agro tech by Vignesh Dhanabalan
 

Similar to Agile Lean Conference 2016 - Barengo _I principi del lean software development

Far scalare la Continuous Delivery per il middle management
Far scalare la Continuous Delivery per il middle managementFar scalare la Continuous Delivery per il middle management
Far scalare la Continuous Delivery per il middle management
Matteo Emili
 
Introduzione alla Metodologia Scrumban
Introduzione alla Metodologia ScrumbanIntroduzione alla Metodologia Scrumban
Introduzione alla Metodologia Scrumban
Nextre Engineering
 
Agile e Lean in sintesi
Agile e Lean in sintesiAgile e Lean in sintesi
Agile e Lean in sintesi
Stefano Muro
 
Lezione 1: I metodi agili
Lezione 1: I metodi agiliLezione 1: I metodi agili
Lezione 1: I metodi agili
Andrea Della Corte
 
Management per l'innovazione: la metodologia Agile (principi e applicazione)
Management per l'innovazione: la metodologia Agile (principi e applicazione)Management per l'innovazione: la metodologia Agile (principi e applicazione)
Management per l'innovazione: la metodologia Agile (principi e applicazione)
Studio Sabrina Fattori - Consulenza Fiscale e Societaria - Roma Eur
 
Leonardo Lillo - Progettare lo Smart Working - Rinascita Digitale | DAY #15
Leonardo Lillo - Progettare lo Smart Working - Rinascita Digitale | DAY #15Leonardo Lillo - Progettare lo Smart Working - Rinascita Digitale | DAY #15
Leonardo Lillo - Progettare lo Smart Working - Rinascita Digitale | DAY #15
Stefano Saladino
 
PMexpo16 - DPO - Workshop
PMexpo16 - DPO - WorkshopPMexpo16 - DPO - Workshop
PMexpo16 - DPO - Workshop
PMexpo
 
Agile Project Management - the Board Game workshop
Agile Project Management  - the Board Game workshopAgile Project Management  - the Board Game workshop
Agile Project Management - the Board Game workshop
Giulio Roggero
 
DAD e Visual Studio Online
DAD e Visual Studio OnlineDAD e Visual Studio Online
DAD e Visual Studio Online
Felice Pescatore
 
Agile working
Agile workingAgile working
Agile working
Free Your Talent
 
Agile@core - Scrum
Agile@core - ScrumAgile@core - Scrum
Agile@core - Scrum
Felice Pescatore
 
Lean StartUP - EmiliaRomagnaIN Modena 6 febbraio
Lean StartUP - EmiliaRomagnaIN Modena 6 febbraioLean StartUP - EmiliaRomagnaIN Modena 6 febbraio
Lean StartUP - EmiliaRomagnaIN Modena 6 febbraio
EmiliaRomagnaIN
 
Leader standard work.pdf
Leader standard work.pdfLeader standard work.pdf
Leader standard work.pdf
FabrizioBianchi
 
Scrum! Sopravvivere e gestire progetti tra polli, maiali e clienti
Scrum! Sopravvivere e gestire progetti tra polli, maiali e clientiScrum! Sopravvivere e gestire progetti tra polli, maiali e clienti
Scrum! Sopravvivere e gestire progetti tra polli, maiali e clienti
Marco Da Rin Zanco
 
Agile project management 1 giornata - board game - v2
Agile project management   1 giornata - board game - v2Agile project management   1 giornata - board game - v2
Agile project management 1 giornata - board game - v2
Giulio Roggero
 
Sprint - acceleratori del processo di sviluppo
Sprint - acceleratori del processo di sviluppoSprint - acceleratori del processo di sviluppo
Sprint - acceleratori del processo di sviluppo
maurizio_scabbia
 
Workshop smau milano_2014 - Lean management - Come recuperare competitività c...
Workshop smau milano_2014 - Lean management - Come recuperare competitività c...Workshop smau milano_2014 - Lean management - Come recuperare competitività c...
Workshop smau milano_2014 - Lean management - Come recuperare competitività c...
Giovanni Renzi Brivio
 
Agile vs waterfall project management
Agile vs waterfall project managementAgile vs waterfall project management
Agile vs waterfall project management
Andrea Depedri
 

Similar to Agile Lean Conference 2016 - Barengo _I principi del lean software development (20)

Far scalare la Continuous Delivery per il middle management
Far scalare la Continuous Delivery per il middle managementFar scalare la Continuous Delivery per il middle management
Far scalare la Continuous Delivery per il middle management
 
Agile for Genio
Agile for GenioAgile for Genio
Agile for Genio
 
Introduzione alla Metodologia Scrumban
Introduzione alla Metodologia ScrumbanIntroduzione alla Metodologia Scrumban
Introduzione alla Metodologia Scrumban
 
Agile e Lean in sintesi
Agile e Lean in sintesiAgile e Lean in sintesi
Agile e Lean in sintesi
 
Lezione 1: I metodi agili
Lezione 1: I metodi agiliLezione 1: I metodi agili
Lezione 1: I metodi agili
 
Management per l'innovazione: la metodologia Agile (principi e applicazione)
Management per l'innovazione: la metodologia Agile (principi e applicazione)Management per l'innovazione: la metodologia Agile (principi e applicazione)
Management per l'innovazione: la metodologia Agile (principi e applicazione)
 
Leonardo Lillo - Progettare lo Smart Working - Rinascita Digitale | DAY #15
Leonardo Lillo - Progettare lo Smart Working - Rinascita Digitale | DAY #15Leonardo Lillo - Progettare lo Smart Working - Rinascita Digitale | DAY #15
Leonardo Lillo - Progettare lo Smart Working - Rinascita Digitale | DAY #15
 
PMexpo16 - DPO - Workshop
PMexpo16 - DPO - WorkshopPMexpo16 - DPO - Workshop
PMexpo16 - DPO - Workshop
 
Agile Project Management - the Board Game workshop
Agile Project Management  - the Board Game workshopAgile Project Management  - the Board Game workshop
Agile Project Management - the Board Game workshop
 
Corso progettazione
Corso progettazioneCorso progettazione
Corso progettazione
 
DAD e Visual Studio Online
DAD e Visual Studio OnlineDAD e Visual Studio Online
DAD e Visual Studio Online
 
Agile working
Agile workingAgile working
Agile working
 
Agile@core - Scrum
Agile@core - ScrumAgile@core - Scrum
Agile@core - Scrum
 
Lean StartUP - EmiliaRomagnaIN Modena 6 febbraio
Lean StartUP - EmiliaRomagnaIN Modena 6 febbraioLean StartUP - EmiliaRomagnaIN Modena 6 febbraio
Lean StartUP - EmiliaRomagnaIN Modena 6 febbraio
 
Leader standard work.pdf
Leader standard work.pdfLeader standard work.pdf
Leader standard work.pdf
 
Scrum! Sopravvivere e gestire progetti tra polli, maiali e clienti
Scrum! Sopravvivere e gestire progetti tra polli, maiali e clientiScrum! Sopravvivere e gestire progetti tra polli, maiali e clienti
Scrum! Sopravvivere e gestire progetti tra polli, maiali e clienti
 
Agile project management 1 giornata - board game - v2
Agile project management   1 giornata - board game - v2Agile project management   1 giornata - board game - v2
Agile project management 1 giornata - board game - v2
 
Sprint - acceleratori del processo di sviluppo
Sprint - acceleratori del processo di sviluppoSprint - acceleratori del processo di sviluppo
Sprint - acceleratori del processo di sviluppo
 
Workshop smau milano_2014 - Lean management - Come recuperare competitività c...
Workshop smau milano_2014 - Lean management - Come recuperare competitività c...Workshop smau milano_2014 - Lean management - Come recuperare competitività c...
Workshop smau milano_2014 - Lean management - Come recuperare competitività c...
 
Agile vs waterfall project management
Agile vs waterfall project managementAgile vs waterfall project management
Agile vs waterfall project management
 

More from Agile Lean Conference

Agile Lean Conference 2016 - Torres Agile retrospectives
Agile Lean Conference 2016 - Torres Agile retrospectivesAgile Lean Conference 2016 - Torres Agile retrospectives
Agile Lean Conference 2016 - Torres Agile retrospectives
Agile Lean Conference
 
Agile Lean Conference 2016 - Nasini_Lean-but-not-fast
Agile Lean Conference 2016 - Nasini_Lean-but-not-fastAgile Lean Conference 2016 - Nasini_Lean-but-not-fast
Agile Lean Conference 2016 - Nasini_Lean-but-not-fast
Agile Lean Conference
 
Agile Lean Conference 2016 - Minelle_ Competenze per il project manager (agil...
Agile Lean Conference 2016 - Minelle_ Competenze per il project manager (agil...Agile Lean Conference 2016 - Minelle_ Competenze per il project manager (agil...
Agile Lean Conference 2016 - Minelle_ Competenze per il project manager (agil...
Agile Lean Conference
 
Agile Lean Conference 2016 - Buglione_Lean for (being) Agile
Agile Lean Conference 2016 - Buglione_Lean for (being) AgileAgile Lean Conference 2016 - Buglione_Lean for (being) Agile
Agile Lean Conference 2016 - Buglione_Lean for (being) Agile
Agile Lean Conference
 
Agile Lean Conference 2016 - Cagliesi - Agile like the queen
Agile Lean Conference 2016 - Cagliesi - Agile like the queenAgile Lean Conference 2016 - Cagliesi - Agile like the queen
Agile Lean Conference 2016 - Cagliesi - Agile like the queen
Agile Lean Conference
 
Agile Lean Conference 2016 - Pecis _ Servant leadership e lean
Agile Lean Conference 2016 -  Pecis _ Servant leadership e leanAgile Lean Conference 2016 -  Pecis _ Servant leadership e lean
Agile Lean Conference 2016 - Pecis _ Servant leadership e lean
Agile Lean Conference
 
Agile Lean Conference 2015 - Team Building for Agile (Spagnuolo Sabrina)
Agile Lean Conference 2015 - Team Building for Agile (Spagnuolo Sabrina)Agile Lean Conference 2015 - Team Building for Agile (Spagnuolo Sabrina)
Agile Lean Conference 2015 - Team Building for Agile (Spagnuolo Sabrina)
Agile Lean Conference
 
Agile Lean Conference 2015 - Team Building & Idea Generation Workshop (Spagnu...
Agile Lean Conference 2015 - Team Building & Idea Generation Workshop (Spagnu...Agile Lean Conference 2015 - Team Building & Idea Generation Workshop (Spagnu...
Agile Lean Conference 2015 - Team Building & Idea Generation Workshop (Spagnu...
Agile Lean Conference
 
Agile Lean Conference 2015 - Apertura
Agile Lean Conference 2015 - AperturaAgile Lean Conference 2015 - Apertura
Agile Lean Conference 2015 - Apertura
Agile Lean Conference
 
Agile Lean Conference 2015 -Facilitare le retrospettive per ottenere il massi...
Agile Lean Conference 2015 -Facilitare le retrospettive per ottenere il massi...Agile Lean Conference 2015 -Facilitare le retrospettive per ottenere il massi...
Agile Lean Conference 2015 -Facilitare le retrospettive per ottenere il massi...
Agile Lean Conference
 
Agile Lean Conference 2015 - How to convince Investors (Gazzelloni)
Agile Lean Conference 2015 - How to convince Investors (Gazzelloni)Agile Lean Conference 2015 - How to convince Investors (Gazzelloni)
Agile Lean Conference 2015 - How to convince Investors (Gazzelloni)
Agile Lean Conference
 
Agile Lean Conference 2015 - Lean Model Canvas (Danese)
Agile Lean Conference 2015 - Lean Model Canvas (Danese)Agile Lean Conference 2015 - Lean Model Canvas (Danese)
Agile Lean Conference 2015 - Lean Model Canvas (Danese)
Agile Lean Conference
 
Agile Lean Conference 2015 - Agile Software Management (Colonese)
Agile Lean Conference 2015 - Agile Software Management (Colonese)Agile Lean Conference 2015 - Agile Software Management (Colonese)
Agile Lean Conference 2015 - Agile Software Management (Colonese)
Agile Lean Conference
 
Agile Lean Conference 2015 - Twitter: la comunicazione ci rende Agili (Carini)
Agile Lean Conference 2015 - Twitter: la comunicazione ci rende Agili (Carini)Agile Lean Conference 2015 - Twitter: la comunicazione ci rende Agili (Carini)
Agile Lean Conference 2015 - Twitter: la comunicazione ci rende Agili (Carini)
Agile Lean Conference
 
Agile Lean Conference 2015 - Lean & Startup (Canessa)
Agile Lean Conference 2015 - Lean & Startup (Canessa)Agile Lean Conference 2015 - Lean & Startup (Canessa)
Agile Lean Conference 2015 - Lean & Startup (Canessa)
Agile Lean Conference
 
Agile Lean Conference 2015 - Integrare metodi di gestione progetto tradiziona...
Agile Lean Conference 2015 - Integrare metodi di gestione progetto tradiziona...Agile Lean Conference 2015 - Integrare metodi di gestione progetto tradiziona...
Agile Lean Conference 2015 - Integrare metodi di gestione progetto tradiziona...
Agile Lean Conference
 

More from Agile Lean Conference (16)

Agile Lean Conference 2016 - Torres Agile retrospectives
Agile Lean Conference 2016 - Torres Agile retrospectivesAgile Lean Conference 2016 - Torres Agile retrospectives
Agile Lean Conference 2016 - Torres Agile retrospectives
 
Agile Lean Conference 2016 - Nasini_Lean-but-not-fast
Agile Lean Conference 2016 - Nasini_Lean-but-not-fastAgile Lean Conference 2016 - Nasini_Lean-but-not-fast
Agile Lean Conference 2016 - Nasini_Lean-but-not-fast
 
Agile Lean Conference 2016 - Minelle_ Competenze per il project manager (agil...
Agile Lean Conference 2016 - Minelle_ Competenze per il project manager (agil...Agile Lean Conference 2016 - Minelle_ Competenze per il project manager (agil...
Agile Lean Conference 2016 - Minelle_ Competenze per il project manager (agil...
 
Agile Lean Conference 2016 - Buglione_Lean for (being) Agile
Agile Lean Conference 2016 - Buglione_Lean for (being) AgileAgile Lean Conference 2016 - Buglione_Lean for (being) Agile
Agile Lean Conference 2016 - Buglione_Lean for (being) Agile
 
Agile Lean Conference 2016 - Cagliesi - Agile like the queen
Agile Lean Conference 2016 - Cagliesi - Agile like the queenAgile Lean Conference 2016 - Cagliesi - Agile like the queen
Agile Lean Conference 2016 - Cagliesi - Agile like the queen
 
Agile Lean Conference 2016 - Pecis _ Servant leadership e lean
Agile Lean Conference 2016 -  Pecis _ Servant leadership e leanAgile Lean Conference 2016 -  Pecis _ Servant leadership e lean
Agile Lean Conference 2016 - Pecis _ Servant leadership e lean
 
Agile Lean Conference 2015 - Team Building for Agile (Spagnuolo Sabrina)
Agile Lean Conference 2015 - Team Building for Agile (Spagnuolo Sabrina)Agile Lean Conference 2015 - Team Building for Agile (Spagnuolo Sabrina)
Agile Lean Conference 2015 - Team Building for Agile (Spagnuolo Sabrina)
 
Agile Lean Conference 2015 - Team Building & Idea Generation Workshop (Spagnu...
Agile Lean Conference 2015 - Team Building & Idea Generation Workshop (Spagnu...Agile Lean Conference 2015 - Team Building & Idea Generation Workshop (Spagnu...
Agile Lean Conference 2015 - Team Building & Idea Generation Workshop (Spagnu...
 
Agile Lean Conference 2015 - Apertura
Agile Lean Conference 2015 - AperturaAgile Lean Conference 2015 - Apertura
Agile Lean Conference 2015 - Apertura
 
Agile Lean Conference 2015 -Facilitare le retrospettive per ottenere il massi...
Agile Lean Conference 2015 -Facilitare le retrospettive per ottenere il massi...Agile Lean Conference 2015 -Facilitare le retrospettive per ottenere il massi...
Agile Lean Conference 2015 -Facilitare le retrospettive per ottenere il massi...
 
Agile Lean Conference 2015 - How to convince Investors (Gazzelloni)
Agile Lean Conference 2015 - How to convince Investors (Gazzelloni)Agile Lean Conference 2015 - How to convince Investors (Gazzelloni)
Agile Lean Conference 2015 - How to convince Investors (Gazzelloni)
 
Agile Lean Conference 2015 - Lean Model Canvas (Danese)
Agile Lean Conference 2015 - Lean Model Canvas (Danese)Agile Lean Conference 2015 - Lean Model Canvas (Danese)
Agile Lean Conference 2015 - Lean Model Canvas (Danese)
 
Agile Lean Conference 2015 - Agile Software Management (Colonese)
Agile Lean Conference 2015 - Agile Software Management (Colonese)Agile Lean Conference 2015 - Agile Software Management (Colonese)
Agile Lean Conference 2015 - Agile Software Management (Colonese)
 
Agile Lean Conference 2015 - Twitter: la comunicazione ci rende Agili (Carini)
Agile Lean Conference 2015 - Twitter: la comunicazione ci rende Agili (Carini)Agile Lean Conference 2015 - Twitter: la comunicazione ci rende Agili (Carini)
Agile Lean Conference 2015 - Twitter: la comunicazione ci rende Agili (Carini)
 
Agile Lean Conference 2015 - Lean & Startup (Canessa)
Agile Lean Conference 2015 - Lean & Startup (Canessa)Agile Lean Conference 2015 - Lean & Startup (Canessa)
Agile Lean Conference 2015 - Lean & Startup (Canessa)
 
Agile Lean Conference 2015 - Integrare metodi di gestione progetto tradiziona...
Agile Lean Conference 2015 - Integrare metodi di gestione progetto tradiziona...Agile Lean Conference 2015 - Integrare metodi di gestione progetto tradiziona...
Agile Lean Conference 2015 - Integrare metodi di gestione progetto tradiziona...
 

Agile Lean Conference 2016 - Barengo _I principi del lean software development

  • 1. I principi del Lean Software Development Il Lean Thinking applicato al Software Carlo Barengo – carlo.barengo@gmail.com
  • 2. Lean È un termine che riassume un modo di pensare per aumentare l’efficienza ed eliminare gli sprechi, viene utilizzato in diversi contesti…..
  • 3. Cronistoria 1550-1900 Studi che partono da Venezia (arsenale) per migliorare il flusso produttivo 1900-1990 Viene applicato alle industrie manifatturiere standardizzato e studiato 1990-2005 Lean viene “promosso” ed entra a far parte delle metodologie applicate alla produzione 2006 Lean viene applicato allo sviluppo software da parte di M & T Poppendieck 2011 Lean viene applicato anche alle società definite come startup da E. Ries
  • 4. Principi Lean e Ambiti • I principi Lean vengono adottati in ambiti differenti MANIFATTURIERO  Eliminare gli sprechi  Definire il valore dal punto di vista del Cliente  Far fluire tutte le attività  Realizzare un’attività solamente quando il processo a valle lo richiede (just-on-time)  Perseguire la perfezione tramite miglioramenti continui (Kaizen) STARTUP  Gli imprenditori sono ovunque  Imprenditorialità è gestione  Apprendimento “validato”  Costruisci-Misura-Impara  Innovazione “responsabile” SOFTWARE  Eliminare gli sprechi  Creare la conoscenza  Rinviare l’impegno  Rilasciare velocemente  Potenziare il Team  Ottimizzare
  • 5. I principi Lean • Adottato inizialmente da Toyota nel processo “just-in- time”, ha trasformato radicalmente il processo di produzione dei veicoli. • Per quanto riguarda lo sviluppo software nasce dalla rielaborazione dei principi Lean della produzione industriale da parte di Tom e Mary Poppendieck. • Con le loro pubblicazioni ed i numerosi seminari hanno fatto in modo che siano stati ampiamente accettati dalle comunità “Agili” di sviluppatori
  • 6. I principi Lean 1. Eliminare gli sprechi 2. Definire il valore dal punto di vista del cliente 3. Far fluire tutte le attività 4. Realizzare un’attività solo quando il proceso a valle lo richiede 5. Perseguire la perfezione tramite continui miglioramenti (Kaizen)
  • 7. I principi Lean – applicati allo sviluppo SW 1. Eliminare gli sprechi 2. Amplificare l’apprendimento 3. Decidere il più tardi possibile 4. Consegnare rapidamente 5. Potenziare il team delle risorse 6. Costruire l’integrità 7. Ottimizzare il tutto
  • 8. Sette semplici regole 1. Eliminare gli sprechi: • impiegare il tempo solo su cose che aggiungono valore al cliente. 2. Amplificare l’apprendimento: • quando ci sono problemi di difficile soluzione aumentate il feedback. 3. Decidere il più tardi possibile: • tenere aperte varie opzioni, ma non troppo a lungo. 4. Consegnare rapidamente: • consegnare valore al cliente prima che lo richieda.. 5. Potenziare il team delle risorse: • Esortare le persone a dare valore aggiunto. 6. Costruire l’integrità: • non pensare all’integrità di un prodotto dopo la consegna, costruiscila costantemente. 7. Ottimizzare il tutto: • evitare la tentazione di ottimizzare singole parti a discapito di tutto
  • 9. 1 - Eliminare gli sprechi Può sembrare ovvio! • Alcuni sprechi spesso sono evidenti, altri sono difficili da identificare o da affrontare • In alcuni casi processi e modi operativi possono sembrare uno spreco ma in realtà sono utili ad altri settori aziendali
  • 10. Lo spreco nelle attività industriali Le metodologie Lean applicate in Toyota (produzione industriale) identificavano 3 forme di spreco: • ‘Muda‘ - attività inutili, che assorbono risorse e non creano valore al cliente • sprechi di trasporto, sprechi per attese, sprechi di movimento, sprechi per scorte, sprechi di processo, sprechi di sovrapproduzione e sprechi per prodotti difettosi • ‘Mura‘ - intesa come “incompatibilità” • evidente nella gestione delle scorte, queste forniscono una riserva anche quando la produzione non ne ha bisogno (non avere scorte in più rispetto alla reale richiesta). Fluidificare la produzione per rispondere facilmente ai cambiamenti. • ‘Muri‘ - sovraccarico di persone o risorse • provoca a lungo termine la possibilità di infortuni o malattie, assenza dal lavoro per periodi più o meno lunghi e insoddisfazione generale delle persone che si sentono sfruttate. Osserviamo il lavoro, analizziamo le attività svolte, aumentiamo l’efficienza togliendo sovraccarico. Il lean thinking insegna proprio questo: osservare ed analizzare
  • 11. Lo spreco nello sviluppo software Lo spreco è qualunque cosa che non aggiunge valore ad un prodotto, (percezione del cliente), spesso viene generato da: • Pezzi che stanno sullo scaffale a prendere polvere • Specifiche software raccolte in un raccoglitore che si sta impolverando • Spostare continuamente lo sviluppo da un gruppo di lavoro ad un altro L’ideale è fare esattamente cosa desidera il ns. Cliente, sviluppare e consegnare quando vuole (il prima possibile!)
  • 12. 1.2 - Eliminare gli sprechi Il processo iterativo di analisi e miglioramento continuo è importante per identificare/eliminare sprechi (Sviluppo Agile) Nei metodi tradizionali, di sviluppo e project management, si c’è il “lessons learned” ma è presente solo alla fine nel processo di chiusura, e può avere le seguenti criticità: • dimenticare alcuni particolari accaduti; • persone non più presenti; • contesti cambiati; • team smembrati o attivati su altri progetti. Difficilmente quanto accaduto viene realmente identificato ed applicato successivamente.
  • 13. 2- Amplificare l’apprendimento Lo sviluppo è ricerca e scoperta La produzione è ridurre al massimo le variazioni. Un approccio Lean per lo sviluppo applicativo risulta essere abbastanza differente dalle pratiche Lean di produzione industriale. Es. Lo sviluppo è come creare una ricetta di un piatto di pasta, la produzione è fare il piatto di pasta Lo Chef non ha una ricetta perfetta al primo tentativo, la ottiene solo dopo una serie di varianti applicando l’esperienza acquisita (processo iterativo) Nello sviluppo software l’ambiente è ancora più complesso in quanto: • non si lavora singolarmente ma in gruppo; • la conoscenza deve essere il più possibile distribuita • l’apprendimento deve essere amplificato
  • 14. 3 – Decidere il più tardi possibile Nello sviluppo software, decidere il più tardi possibile permette di avere un approccio basato su più opzioni. • Ritardare le decisioni può avere i seguenti effetti: • Decidere nel momento in cui ci sia qualcosa di concreto e non teorico • All’interno di un sistema complesso, le decisioni vengono rimandate fino a che questo non prenda forma nella sua totalità
  • 15. 3 – Consegnare rapidamente Lo sviluppo rapido ha molti vantaggi: • Non si possono ritardare le decisioni; • Non si dispone di un feedback affidabile • Assicura che il cliente abbia ciò di cui ha bisogno adesso e non ieri Comprimendo il più possibile il flusso del valore applichiamo una delle principali strategie Lean per l’eliminazione degli sprechi
  • 16. 3 – Potenziare il Team delle risorse • Coinvolgere gli sviluppatori nelle decisioni tecniche è fondamentale per raggiungere obiettivi di eccellenza • Infatti chi è in prima linea possiede: • la conoscenza del dettaglio; • la disponibilità di più persone e pareri. • Le decisioni vengono prese il più tardi possibile e l’esecuzione è veloce quindi non è possibile da un’autorità centrale orchestrare la singola risorsa. • Nelle pratiche Lean (industriali) vengono utilizzate tecniche per la schedulazione del lavoro e meccanismi di segnalazione tra un gruppo ed un’altro. • Nello sviluppo Lean ci si accorda sul meccanismo di schedulazione che è scandito dal rilascio di versioni incrementali dell’applicativo (generalmente ad intervalli regolari). • La segnalazione tra i team è costituita da: • Grafici, incontri giornalieri, integrazioni frequenti e test generali •
  • 17. 6 - Costruire l’Integrità (di un prodotto) Un prodotto si può affermare che sia costituito da due tipologie di Integrità: • Integrità percepita; • Integrità concettuale. La prima è che un prodotto finale raggiunga un bilanciamento di funzioni, disponibilità, usabilità ed economia che gratifichi il cliente; La seconda è che il prodotto sia ben integrato in un sistema più grande con coerenza.
  • 18. 6.1 – Integrità percepita Questa è influenzata dall’esperienza che il cliente ha di un sistema, nello specifico: •Come è pubblicizzato; •Come è installato; •Le modalità di accesso; •Se il suo utilizzo è intuitivo; •Quanto costa; •Quali sono i tempi di risposta; •Come risolve il problema che gli sottoponiamo.
  • 19. 6.2 - Integrità Concettuale Un sistema è integrato in una architettura generale affinchè: Flessibilità, manutenzione, efficienza e tempi di risposta siano in equilibrio Integrità concettuale è pre-requisito di Integrità percepita Se un applicativo non ha un buon disegno concettuale l’utente ha difficoltà di navigazione tra le funzioni e di conseguenza problemi di usabilità Con il giusto impegno si può far emergere l’Integrità concettuale con l’evoluzione e la maturità del prodotto applicativo stesso.
  • 20. 7 - Ottimizzare il tutto Un sistema applicativo è composto da parti interdipendenti e che interagiscono fra loro con un obiettivo funzionale generale. Un sistema non è solo una somma di singole funzioni, ma l’integrazione fra loro. Prese singolarmente le funzioni applicative migliori non fanno un sistema applicativo migliore, quindi: • l’obiettivo si considera centrato per un sistema quando le singole parti che lo compongono sono integrate e NON come performano singolarmente.
  • 21. 7 – Ottimizzare il tutto • Il Systems thinking tratta una organizzazione come fosse un sistema, analizzando come le parti si relazionano e come sono le performance del tutto; • Gli analisti, in genere costruiscono un modello computerizzato inserendo dei dati riassunti dalle interviste al personale e ricavandone le regole organizzative. • Ovviamente ognuno prende delle decisioni in base ai dati disponibili • Spesso i risultati dei modelli portano ad un impatto sulle politiche aziendali che spesso non vengono capite. • In ogni caso le nuove politiche sono orientate a risolvere un problema non ad eliminarlo definitivamente
  • 22. 7.1 – Ottimizzare il tutto Spesso notiamo questa dinamica nello sviluppo applicativo • Quando un’organizzazione ha esperienze negative nello sviluppo tende a imporre nuovi processi organizzativi (spesso sequenziali) • Es. specifiche di progetto molto accurate, con approvazione continua del cliente e tracciamento di ogni modifica di dettaglio nel codice. • Inizialmente si può avere anche un beneficio ma non detto che sia la cura giusta • L’effetto ritardo in un processo sequenziale, in un ambiente dinamico, aumenta la difficoltà a tenere l’applicativo allineato alle richieste del cliente • Spingere sui processi di tipo sequenziale può portare ad una spirale di aumento dei costi e limitare la crescita aziendale • Sebbene un processo possa produrre i risultati desiderati può creare l’effetto secondario di rallentare tutta l’organizzazione. • Continuare a spingere sullo stesso processo per raggiungere un buon risultato amplifica l’effetto contrario di limitarne la crescita Quindi non continuare a spingere sulla crescita ma concentrarsi sul rimuoverne i limiti
  • 23. Conclusioni Se i problemi odierni dipendono dalle soluzioni di ieri, i problemi di domani dipenderanno dalle soluzioni adottate oggi Evitiamo eccessi e cerchiamo di trovare un punto bilanciato tra i principi Lean 1. Eliminare gli sprechi non significa gettar via tutta la documentazione 2. Amplificare l’apprendimento non significa cambiare mentalità 3. Decidere il più tardi possibile non significa procrastinare all’infinito 4. Consegnare rapidamente non significa correre e fare un lavoro sciatto 5. Potenziare il team delle risorse non significa abbandonare la leadership 6. Costruire l’integrità non significa fare un disegno complesso all’inizio 7. Ottimizzare il tutto non significa ignorare i dettagli Una medicina efficace per un team può essere veleno per un’altro team (non adottiamo arbitrariamente modalità che sono utilizzate in altre organizzazioni)
  • 24. Conclusioni L’analisi delle funzionalità e la loro tracciabilità dipendono dalla funzione cui è dedicato l’applicativo e la probabilità che questo cambi nel tempo, quindi attenzione: • Mettere in orbita un missile non è come l’approvazione un prestito • Modificare il codice di un mainframe non è come creare una pagina web statica. La giusta quantità di interazione richiesta da un applicativo è direttamente proporzionale agli utilizzatori del sistema, alla loro capacità tecnica ed alla propensione all’utilizzo di un sistema informatico, quindi attenzione: • L’integrità percepita del sistema applicativo deriva dall’interfaccia utente. • È molto più difficile «re-ingegnerizzare» gli utenti che riscrivere il codice.
  • 25. Relatore - Contatti - Affiliazione