Joseph Juran è stato un importante ingegnere americano, di origini rumene, che si è occupato nella sua vita sopratutto di qualità e di gestione della qualità, scrivendo diversi libri di successo.
Il suo punto di vista della qualità era decisamente in contrapposizione con il modello del taylorismo, riportando il concetto della qualità come legato alla dimensione umana, e sottolineando come la sfera umana, le interazioni tra le persone, l’ostacolo al cambiamento, siano spesso gli elementi che maggiormente mettono in crisi la qualità dei prodotti o dei processi, compreso ovviamente il software e tutto quanto ruota attorno al software, dalla progettazione allo sviluppo, test e rilascio.
Nei suoi studi sulla qualità ha ripreso un tema introdotto, diversi anni prima e su ambiti completamente diversi, da Vilfredo Pareto, economista e sociologo italiano , che nell’800 teorizzò la distribuzione paretiana, anche detta “legge 80/20“, verificando come la distribuzione dei redditi era tale per cui il 20% delle persone possedeva l’80% della ricchezza. Studi e approfondimenti successivi dimostrarono che diversi fenomeni in natura rispondono alla legge “80/20”.
Juran, in particolare, applicò il Principio di Pareto al mondo della qualità, teorizzando che:
L’80% dei problemi di un sistema sono generati dal 20% delle possibili cause
Perchè è importante questa legge nello Sviluppo Software?
Perchè quello che normalmente succede è che l’80% dei problemi di una applicazione, di un software, risiede in una parte piuttosto ridotta dell’intero sistema
E agendo su questa parte, spesso si risolvono il maggior numero dei problemi. Questo avviene perché in progetti lunghi, le interazioni umane e il modo con cui le persone lavorano tra di loro, sono tali da amplificare e generare i problemi non su tutto il sistema, ma, statisticamente, solo su alcune parti
Al punto che spesso, quando si hanno tanti problemi o guasti, occorre concentrarsi a identificare la root cause che da sola risolve la maggior parte di essi, arrivando anche a concludere che con il 20% dello sforzo si ottiene l’80% del risultato
Risultati immagini per Principio di Pareto
Non è l’unica applicabilità del Principio di Pareto allo sviluppo software; se ne possono elencare anche altre che sono tutte derivate dagli studi di Juran sulla qualità e il software.
Esempi:
- l’80% del tempo di esecuzione di un SW è impiegato solo dal 20% del codice
- l’80% delle operazioni svolte dagli utenti sono dovute al 20% delle funzionalità del software
- l’80% dei visitatori di un sito vede solo il 20% delle pagine
Queste ultime due, oltretutto, sono considerazioni alla base anche delle metodologie agili. Nelle metodologie agili si afferma che occorre affrontare lo sviluppo di un software partendo dalle funzionalità che generano maggiore valore per il cliente; questo perchè, applicando il Principio di Pareto:
- le funzionalità più utili si riescono a implementare in un tempo ridotto
- le funzionalità meno utili rischiano di rientrare in quell’80% di funzionalità non usate
Ovviamente il Principio di Pareto non si applica solo all’ambito del software. Anzi nasce in ambiti completamente diversi, ma trova una applicabilità e delle conseguenze molto importanti nell’ambito del software
Le altre Leggi alla base dello Sviluppo Software