#LeanDevelopment
Explore tagged Tumblr posts
ryadel · 5 years ago
Text
Lean Development: principi di base e best practice
Tumblr media
Il Lean Software Development è una metodologia di sviluppo agile ispirata ai principi della produzione snella (nota anche come lean manufacturing o lean production), una filosofia produttiva che punta a minimizzare gli sprechi fino ad annullarli. Il termine è stato coniato all'interno dell' omonimo libro scritto nel 2003 da Mary e Tom Poppendieck, due project manager molto attivi all'interno della Agile community, che contiene la descrizione dei principali approcci metodologici e strumenti operativi del sistema. Il Lean Software Development si compone di sette principi base, tutti considerati estremamente importanti all'interno della comunità Agile.
#1. Eliminare gli sprechi
Tutto ciò che non aggiunge valore al cliente va considerato come uno spreco. Esempi di spreco: codice e funzionalità non necessarie, ritardi nel processo di sviluppo del software, requisiti incerti, burocrazia, lenta comunicazione interna.
#2. Amplificare l'apprendimento
Lo sviluppo del software è un processo di apprendimento continuo, quindi il training & learning on the job, nonché la condivisione delle informazioni (knowledge sharing) costituisce un obiettivo primario.
#3. Decidere il più tardi possibile
Come misura di mitigazione delle incertezze, tipiche dello sviluppo del software moderno, si favorisce un approccio basato sulle opzioni, rinviando le decisioni fino a quando non si acquisiscono dati sufficienti per poter correggere previsioni e ipotesi potenzialmente imprecise (data-driven decision).
#4. Consegnare il più velocemente possibile
In questo particolare momento storico, contraddistinto da cambiamenti rapidi e continui, la velocità è il punto di forza dello sviluppo: per questo motivo le iterazioni devono essere prodotte nel più breve tempo possibile, così da poter ricevere i feedback da inserire nella successiva; da questo si evince anche che, quanto più corte sono le iterazioni, tanto migliore sarà la formazione e la comunicazione all'interno del team, nonché lo sviluppo del prodotto.
#5. Dare potere al team
Adozione della tecnica work-out, in cui i ruoli tra dirigenti e operativi si invertono: i manager sono tenuti ad ascoltare gli sviluppatori ed apprendere da loro il know-how necessario per poter effettuare di volta in volta le scelte più efficaci, nonché fornire proposte di miglioramento.
#6. Costruire l'integrità
E' importante che i clienti abbiano una percezione globale e ben definita del sistema (integrità percepita): come viene pubblicizzato, consegnato e distribuito, quanto è accessibile, quanto è intuitivo il suo utilizzo, quanto costa, quali problemi risolve e in che modo, etc.; inoltre, è importante che i singoli componenti del sistema funzionino bene insieme con un equilibrio tra flessibilità, manutenibilità, efficienza e reattività (integrità concettuale). Per ottenere questi risultati è fondamentale il ricorso al refactoring, adottando un approccio che garantisca un miglioramento continuo (continuous improvement) e un sistema di rilasci frequente (continuous deployment) che consenta al software di evolvere in modo iterativo e veloce (continuous integration); è inoltre fondamentale adottare good practice di sviluppo (DRY - Don't Repeat Yourself et sim.) che consentano di mantenere semplicità, chiarezza e un numero minimo di funzioni all'interno del codice durante i vari refactoring, nonché un paradigma di test automatizzati (continuous testing, testing automation) per ridurre i difetti e i bug di regressione.
#7. Visione di insieme
I sistemi oftware al giorno d'oggi non sono semplicemente la somma delle loro parti, ma anche il prodotto delle loro interazioni. I difetti nel software tendono ad accumularsi durante il processo di sviluppo: segmentando le varie funzioni in sotto-processi più piccoli (segmentation) e standardizzando le diverse fasi dello sviluppo (standardization) è possibile individuare ed eliminare le cause alla radice dei difetti. Questo è particolarmente vero nei sistemi complessi, dove più organizzazioni sono coinvolte nel suo sviluppo ed esistono numerosi team di sviluppo: in quei casi è importante anche stringere relazioni ben definite tra diversi fornitori, al fine di produrre un sistema con componenti che interagiscono senza problemi.
Modalità di adozione
Il pensiero snello, per essere applicato con successo all'interno di un gruppo di lavoro, deve essere compreso bene da tutti i membri del team. "Pensa in grande, agisci in piccolo, fallisci velocemente; impara rapidamente": questi slogan, presenti nel libro dei Poppendieck, riassumono bene l'importanza della comprensione del campo e l'idoneità dell'implementazione di principi snelli lungo l'intero processo di sviluppo del software:  i principi lean funzionano bene solo qunado sono implementati insieme, a patto di riuscire a sviluppare un sufficiente "buon senso" all'interno di tutto l'ambiente di lavoro coinvolto.
Conclusioni
Per il momento è tutto: ci auguriamo che questo piccolo approfondimento possa essere d'aiuto a chi ha deciso di avvicinarsi a questo interessantissimo e moderno set di good practice per lo sviluppo software.   Read the full article
0 notes
lanewproductdt · 6 years ago
Photo
Tumblr media
Thank you for choosing our team for your project, James. We understand that design changes and even direction pivots are essential parts of the product development process. Ideas must evolve to become viable businesses. #productdevelopment #ideadevelopment #conceptdevelopment #prototyping #rapidprototyping #leanstartup #leandevelopment (at LA New Product Development Team) https://www.instagram.com/p/B4cxJxhBGZb/?igshid=ct21nzvqxzm2
0 notes
agilefictionorg · 8 years ago
Photo
Tumblr media
https://en.m.wikipedia.org/wiki/Lean_software_development
0 notes
sixsigmapenang · 4 years ago
Photo
Tumblr media
What is motion waste in business?🙋🏻‍♂️🙋‍♀️🙋 Never heard of it? Fine. Let me tell you about it...✌ Every distance that you walk or travel (aka motion waste) is money and time. This will impact business profit, productivity, and efficiency💰 Swift left and press play ▶️ to know 👇 ✅What is motion waste? ✅Why motion is not good for your business? ✅How motion waste is being generated? ...and so much more! 👉Have questions? Comment below! Follow @businesscoachchiong for more business improvement tips 🗄 Save this post  ✉️ Share this post ❤️ Like this post PS: Struggling to increase business profits and customer satisfaction? Sign up for the Value Stream Mapping (VSM) training to learn how to reduce business wastes and costs. 👉Tap the link in my bio NOW! #manufacturingindustry #manufacturingservices #americanmanufacturing #manufacturingexcellence #manufacturingsector #manufacturingplant #8wastes #organizationalchange #eliminatewaste #leanthinking #problemsolving #problemsolvingskills #leadershipdevelopment #businessgrowthstrategy #increaseprofits #operationalexcellence #processoptimization #businesswaste #savingtips #reducecosts #leanmanagement #leandevelopment #savetimeandmoney #leansystem #companyculture #culturechange #culturetransformation #processexcellence #leanoffice #changemanagement (at Alabama USA) https://www.instagram.com/p/CLg9Br_J8pl/?igshid=17fkb270ufmlb
0 notes
wendyfox · 10 years ago
Video
youtube
Solving Design Problems Together
(via https://www.youtube.com/watch?v=137XnWlUTKY)
0 notes
agilefictionorg · 8 years ago
Quote
Design thinking in business uses the designer's sensibility and methods to match people's needs with what is technologically feasible and what a viable business strategy can convert into customer value and market opportunity
Tim Braun
0 notes
agilefictionorg · 8 years ago
Quote
double productivity by using lean development to do less by avoiding waste, and then double it again by working smarter by eliminating impediments
Jeff Sutherland
0 notes