Lean Software Development: 7 Principi Chiave (in parole semplici)

L’ottimizzazione dell’efficienza e la minimizzazione dei costi sono due componenti importanti dell’approccio lean allo sviluppo del software, che è già stato testato da molte aziende IT nella pratica.

Le radici di questo approccio risalgono alla storia della nota casa automobilistica Toyota, e sono basate sui suoi approcci di problem solving. La linea di fondo è di fare solo quei cambiamenti che sono vantaggiosi e, allo stesso tempo, che richiedono costi minimi e che non richiedono troppo tempo per essere implementati.

In relazione allo sviluppo del software, la metodologia Lean è stata trattata per la prima volta da Mary Poppendieck e Tom Poppendieck, che hanno pubblicato il libro “Lean Software Development” nel 2003. Descrive i principi tradizionali della produzione snella in relazione allo sviluppo del software, così come un insieme di 22 strumenti (pratiche) e il loro confronto con la metodologia di sviluppo agile.

Lean Software Development – non è una metodologia per la gestione dello sviluppo del progetto, come può sembrare a prima vista. Si tratta di un insieme di principi utilizzati in vari progetti per migliorare il processo di sviluppo e aumentarne l’efficacia.

I 7 principi del Lean Software Development

Al cuore del lean development ci sono una serie di principi importanti che rimangono praticamente invariati negli ultimi anni. Cerchiamo di spiegarli in parole brevi e semplici.

1. Eliminare gli sprechi. Nello sviluppo di app, lo spreco è tutto ciò che non porta alcun valore commerciale al cliente, e non migliora la qualità del prodotto sviluppato o accelera i tempi di rilascio del progetto.

In altre parole, questo è ciò per cui spendiamo soldi e da cui non otteniamo alcun profitto. Per esempio, il codice inutilizzato e le funzioni non necessarie che non portano valore aggiunto sia all’utente che al business, ma richiedono tempo per la discussione, lo sviluppo, il test e la documentazione.

2. Amplificare l’apprendimento. Affinché il team sviluppi un sistema che porterà valore commerciale al cliente, deve avere una vasta gamma di competenze. Il team deve accumulare conoscenza e condividerla, per esempio, sotto forma di una revisione alla fine dell’iterazione.

Alcuni dei nuovi apprendimenti saranno tecnici, e altri, al contrario, sono classificati come requisiti non funzionali. Per esempio, avere una comprensione di ciò che un utente commerciale vuole veramente, e non ciò che gli sviluppatori immaginano. Pertanto, il team deve costantemente sviluppare, imparare e accumulare conoscenze. Questo permette al team di evitare problemi in futuro.

3. Decidere il più tardi possibile. L’idea principale qui è di aspettare fino all’ultimo momento prima di prendere qualsiasi decisione, specialmente quelle irreversibili. Questo è particolarmente vero quando si parla di decisioni che possono avere un impatto significativo sul successo dello sviluppo.

Tutte le decisioni devono essere supportate da dati analitici e dai risultati del monitoraggio dei processi, altrimenti il team rischia di essere assorbito da troppi cambiamenti e può dimenticare lo scopo principale del progetto.

Più tardi si prende una decisione, più competenze e comprensione si hanno, e meno si dovrà rifare in seguito.

4. Consegnare il più velocemente possibile. Questa è la base dello sviluppo iterativo. Più velocemente mostri il tuo lavoro di base al cliente, prima avrai il suo feedback, quindi, riceverà il prodotto con i miglioramenti necessari molto prima.

Un’interessante funzione aziendale che è andata in produzione in pochi mesi può alla fine rivelarsi completamente inutile. Ma se fosse rilasciata entro due settimane, potrebbe rivelarsi vantaggiosa per il cliente.

5. Responsabilizzare la squadra. Lo sviluppo del software è un processo di lavoro mentale, quindi trattate le persone come professionisti competenti e motivati, piuttosto che come professionisti con abilità ristrette nello scrivere codice o disegnare diagrammi.

Perché le persone si assumano la responsabilità, siano motivate e lavorino come una squadra solida, devono essere consapevoli del loro contributo al prodotto che viene sviluppato. È necessario creare condizioni in cui ogni persona possa essere concentrata lavorando sul compito aziendale corrente.

Fidati della tua squadra e rispettala. Il fattore umano è uno degli elementi più importanti nello sviluppo di software di successo.

6. Costruire l’integrità. Secondo i principi del lean development, un problema può essere trovato dopo la sua comparsa, oppure si possono eliminare in anticipo le cause che portano ad un problema.

Gli autori del Lean Software Development suggeriscono di risolvere il problema di qualità direttamente quando inizia a comparire – inizialmente mettendo la qualità nel prodotto, e non lasciando l’identificazione e la correzione dei bug per il test o la produzione. Per questo, vale la pena muoversi a piccoli passi e controllare la qualità dopo ogni passo.

7. Vedere il Tutto.

Il modo principale per risolvere i problemi è quello di scomporli in problemi più piccoli ed eliminare costantemente le cause del loro verificarsi. Ma per vedere la radice del problema, il team dovrebbe avere una buona comprensione generale del processo di sviluppo corrente, il concetto e la strategia del prodotto che si sta sviluppando.

Sommario

In questo articolo scoprirai i principi del Lean Software Development, che puoi applicare quando lavori su progetti nel tuo team. È possibile che questo vi permetterà di migliorare l’efficienza e ottimizzare i processi.

È necessario comprendere il fatto che stiamo parlando di principi, e non di regole rigide. Pertanto, si deve fare qualche sforzo per adattarli efficacemente alle specificità del tuo progetto.

Vuoi iniziare un progetto?

Il nostro team è pronto a realizzare le tue idee. Contattateci ora per discutere la vostra tabella di marcia!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.