Lean software development: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m →Pratiche del Lean software: +link |
|||
(39 versioni intermedie di 20 utenti non mostrate) | |||
Riga 1:
Il '''Lean Software Development''' è una traduzione della [[Lean manufacturing#Overview|Produzione Snella]] (in
Adattato dal [[Toyota Production System]], una sottocultura pro-lean sta rapidamente emergendo dall'interno della comunità Agile.▼
▲Il '''Lean Software Development''' è una traduzione della [[Lean manufacturing#Overview|Produzione Snella]] (in nglese ''lean manufacturing'' o ''lean production'') e dei principi e pratiche del Lean IT nel dominio dello sviluppo software.
▲Adattato dal Toyota Production System, una sottocultura pro-lean sta rapidamente emergendo dall'interno della comunità Agile
== Origini ==
Il termine '''Lean Software Development''' ha avuto origine in un libro omonimo, scritto da [[Mary Poppendieck]] e [[Tom Poppendieck]]. Il libro presenta i tradizionali [[Lean manufacturing#Overview|Principi Snelli]] in forma modificata, così come un insieme di 22
== Principi Lean ==
Lo sviluppo Lean potrebbe essere riassunto da sette principi, molto vicini concettualmente a quelli della [[Produzione snella]].
* Amplificare l'apprendimento▼
Tutto ciò che non aggiunge valore al cliente va considerato come uno spreco ('''muda'''). Questo include:
* Decidere il più tardi possibile▼
* Consegnare il più velocemente possibile▼
* codice e funzionalità non necessarie
* ritardi nel processo di sviluppo del software
* Integrità nella costruzione▼
* requisiti incerti
* Vederre il tutto▼
* burocrazia
* lenta comunicazione interna
Lo sviluppo del software è un processo di apprendimento continuo con la sfida aggiuntiva dei team di sviluppo e delle dimensioni del prodotto finale. L'approccio migliore per migliorare un ambiente di sviluppo software è quello di massimizzare l'apprendimento.
Dato che lo sviluppo del software è sempre associato con qualche incertezza, i risultati migliori dovrebbero essere raggiunti con un approccio basato sulle opzioni, rinviando le decisioni il più possibile fino a che non può essere effettuata sulla base di fatti e non su previsioni ed ipotesi incerte.
Nell'era della rapida evoluzione tecnologica, non è il più grande che sopravvive, ma il più veloce. Quanto prima il prodotto finale viene fornito senza difetti considerevoli, tanto prima possono essere ricevuti i feedback, ed inseriti nella prossima iterazione. Quanto più corte sono le iterazioni, tanto migliore sarà la formazione e la comunicazione all'interno del team.
=== Dare potere al team ===
Per lungo tempo c'è stata un'opinione diffusa, nella maggior parte delle aziende, riguardo al processo decisionale per l'organizzazione: i dirigenti erano abituati a dire ai lavoratori come svolgere il proprio lavoro. Nella tecnica work-out, i ruoli si trasformano: ai manager si insegna ad ascoltare gli sviluppatori, in modo da poter essere in grado di spiegare meglio le azioni che possono essere adottate, nonché fornire proposte di miglioramento.
Il cliente deve avere una esperienza complessiva del sistema - questa è la cosiddetta integrità percepita: il modo in cui viene pubblicizzato, consegnato, diffuso, accesso, quanto intuitivo è il suo utilizzo, il prezzo e quanto risolva dei problemi.
I sistemi software al giorno d'oggi non sono semplicemente la somma delle loro parti, ma anche il prodotto delle loro interazioni.
== Pratiche del Lean software ==
Le pratiche di sviluppo software Lean, o ciò che i Poppendieck chiamano "strumenti" sono espressi in modo leggermente diverso dai
loro equivalenti nello sviluppo di software agile, ma ci sono degli evidenti paralleli. Esempi di tali pratiche includono:
* Vedere gli sprechi
* [[Value Stream Mapping]]
* Sviluppo basato sui Set
* Sistemi pull
* Teoria delle code
* Motivazione
* Misure & metriche
Alcuni di questi strumenti trovano facilmente riscontro nei metodi agili. Lean Workcells, per esempio sono espressi nei metodi agili come team inter-funzionali.
==Voci correlate==
* [[Kanban]]
* [[Just in time (produzione)]]
* [[Kaizen]]
* [[Lean Startup]]
* [[Toyotismo]]
* Yasuhiro Monden (1998), ''Toyota Production System, An Integrated Approach to Just-In-Time'', Third edition, Norcross, GA: Engineering & Management Press, ISBN 0-412-83930-X.
* Mary Poppendieck, Tom Poppendieck (2003), "Lean Software Development: An Agile Toolkit", Addison-Wesley Professional, ISBN 0321150783
==Collegamenti esterni==
* [http://www.poppendieck.com/ Poppendieck LLC website] - sito di Mary e Tom Poppendieck (in [[lingua inglese|inglese]])
* [http://www.shmula.com/183/12-questions-with-mary-poppendieck Intervista con Mary Poppendieck] (in [[lingua inglese|inglese]])
* {{cita web|http://www.leansoftwareinstitute.com/|Lean Software Institute}}
* [http://blog.crisp.se/henrikkniberg/2008/10/19/1224451800000.html Introduzione al Lean Software Development] {{Webarchive|url=https://web.archive.org/web/20100823004944/http://blog.crisp.se/henrikkniberg/2008/10/19/1224451800000.html |date=23 agosto 2010 }} - H. Kniberg (in [[lingua inglese|inglese]])
* Mary Poppendieck, Tom Poppendieck ''Lean Software Development: An Agile Toolkit for Software Development Managers''
*[https://web.archive.org/web/20080709043139/http://blogs.netobjectives.com/category/podcasts/lean-agile-straight-talk/ Lean-Agile Straight Talk] A podcast hosted by author Jim Trott and featuring author Alan Shalloway about Lean Software Development and Agile Software Development.
*{{collegamento interrotto|1=[http://integration.yourmembership.com/store/view_product.asp?id=317991/ Lean Integration] |data=marzo 2018 |bot=InternetArchiveBot }} A [[white paper]] from the [[Integration Consortium]] on the use of Lean methods in systems and data integration.
*[https://web.archive.org/web/20090615040438/http://epistemologic.com/category/process/lean-software/ Improving Agile through Lean, or The Essence of Lean Software Development] Insights into Lean Software Development from projects, and implementation notes around extending Agile through Lean.
*[http://www.InfoQ.com/Agile InfoQ.com / Agile (includes Lean)] - Tracking change and innovation in the enterprise software development community (News, Articles, Books, Video)
*[https://web.archive.org/web/20080725161157/http://tech.groups.yahoo.com/group/leanagilescrum Lean-Agile-Scrum] - a discussion group for those interested in how Lean, Agility, and Scrum work together
*[https://web.archive.org/web/20100115163924/http://tech.groups.yahoo.com/group/leanprogramming/ Lean Programming] - a discussion group for those interested in programming in Lean Software Development environments
* {{cita web|http://www.leanprimer.com/downloads/lean_primer.pdf|Article: Lean Primer: Introduction}}
* [https://torgronsund.wordpress.com/2010/01/06/lean-startup-business-model-pattern/ Lean Startup Business Model Pattern] - Lean software development principles applied to business models and entrepreneurship
[[Categoria:Metodi di sviluppo software]]
|