Il Lean Software Development è una traduzione della 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 Principi Snelli in forma modificata, così come un insieme di 22 tool 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

Tutto ciò che non aggiunge valore al cliente va considerato come uno spreco (muda). Questo include:

   * codice e funzionalità non necessarie
   * delay in the software development process
   * requisiti incerti
   * 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 posso 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.

Autorizzare il 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 cosidetta integrità percepita: il modo in cui viene pubblicizzato, consegnato, diffuso, accesso, quanto intuitivo è il suo utilizzo, il prezzo e quanto risolva dei problemi.

Vederre il tutto

I sistemi software al giorno d'oggi non sono semplicemente la somma delle loro parti, ma anche il prodotto delle loro interazioni.

Voci correlate

Note


Collegamenti esterni