Lean software development: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
 
(43 versioni intermedie di 20 utenti non mostrate)
Riga 1:
Il '''Lean Software Development''' è una traduzione della [[Lean manufacturing#Overview|Produzione Snella]] (in ngleseinglese ''lean manufacturingproduction'' o ''lean productionmanufacturing'') e dei principi e pratiche del Lean IT nel dominio dello sviluppo software.
{{A|Allo stato la voce è inutile, andrebbe decisamente ampliata (magari usando gli interwiki)|informatica|agosto 2010|firma=[[Utente:Tirinto|Fabius]] <span style="color:red;">aka</span> [[Discussioni utente:Tirinto|Tirinto]] 13:27, 11 ago 2010 (CEST)}}
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 <em>''tool</em>'' che vengono confrontati e comparati con le pratiche agili. Il coinvolgimento di Mary e Tom nelle comunity legate all' [[Agile software development]], incluso la loro presenza come relatori a numerose conferenze Agili, ha fatto si che tali concetti fossero più ampiamente accettati e condivisi all'interno della comunità Agile.
 
== Principi Lean ==
Lo sviluppo Lean potrebbe essere riassunto da sette principi, molto vicini concettualmente a quelli della [[Produzione snella]].
 
*=== Eliminare gli sprechi ===
* 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
* Autorizzare il team
* ritardi nel processo di sviluppo del software
* Integrità nella costruzione
* requisiti incerti
* Vederre il tutto
* burocrazia
* lenta comunicazione interna
 
*=== Amplificare l'apprendimento ===
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.
 
*=== Decidere il più tardi possibile ===
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.
 
*=== Consegnare il più velocemente possibile ===
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.
 
*=== Integrità nella costruzione ===
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.
 
*=== VederreVedere il tutto ===
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
==Note==
<references/>
 
==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]])
* [http://www.open-ware.org/ita/methodology/lean.htm Metodologia "Lean Software Development" ] - descrizione della metodologia nel sito di Open Ware.
* {{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]])
[[Categoria:Metodologia agile]]
* 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]]
[[en:Lean software development]]
[[es:Lean software development]]
[[fr:Lean software development]]
[[pl:Lean Software Development]]
[[ru:Бережливая разработка программного обеспечения]]
[[zh:精益软件开发]]