Una panoramica e un'analisi piuttosto approfondite della ricerca sulle differenze di produttività è fornita in due articoli scritti da Steve McConnell :
Il primo articolo ( Variazioni di produttività ... ) afferma:
... Lo studio originale che ha riscontrato enormi variazioni nella produttività della programmazione individuale è stato condotto alla fine degli anni '60 da Sackman, Erikson e Grant (1968). Hanno studiato programmatori professionisti con una media di 7 anni di esperienza e hanno scoperto che il rapporto tra il tempo di codifica iniziale tra i programmatori migliori e peggiori era di circa 20 a 1; il rapporto tra i tempi di debug oltre 25 a 1; di dimensioni del programma da 5 a 1; e della velocità di esecuzione del programma da 10 a 1. Non hanno trovato alcuna relazione tra la quantità di esperienza di un programmatore e la qualità o la produttività del codice.
L'esame dettagliato delle scoperte di Sackman, Erickson e Grant mostra alcuni difetti nella loro metodologia ... Tuttavia, anche dopo aver tenuto conto dei difetti, i loro dati mostrano ancora una differenza di oltre 10 volte tra i migliori programmatori e il peggio.
Negli anni successivi allo studio originale, la constatazione generale che "ci sono differenze nell'ordine di grandezza tra i programmatori" è stata confermata da molti altri studi di programmatori professionisti (Curtis 1981, Mills 1983, DeMarco e Lister 1985, Curtis et al. 1986 , Card 1987, Boehm e Papaccio 1988, Valett e McGarry 1989, Boehm et al 2000) ...
Questo articolo ha anche una nota a margine interessante:
Questo grado di variazione non è unico per il software. Uno studio di Norm Augustine ha scoperto che in una varietà di professioni - scrittura, calcio, invenzione, lavoro di polizia e altre occupazioni - il 20% superiore delle persone ha prodotto circa il 50% della produzione, indipendentemente dal fatto che si tratti di touchdown, brevetti , casi risolti o software (Augustine 1979).
Il secondo articolo ( ... How Valid is the Underlying Research? ) È stato scritto principalmente per affrontare la revisione critica del primo di Laurent Bossavit :
Nel secondo articolo, nella sezione A Deeper Dive Into the Research Supporting "10x" McConnell ricontrolla più in dettaglio i riferimenti utilizzati nel primo articolo e conclude:
... Mentre ho rivisto queste citazioni ancora una volta scrivendo questo articolo, ho concluso di nuovo che supportano la conclusione generale che ci sono 10 differenze di produttività tra i programmatori. Gli studi hanno coinvolto collettivamente centinaia di programmatori professionisti in una gamma di attività di programmazione.
... il corpo di ricerca che supporta l'affermazione 10x è solido come qualsiasi ricerca che è stata fatta in ingegneria del software. Gli studi che supportano l'affermazione 10x non sono singolarmente soggetti alla limitazione metodologica descritta nella Figura 1, poiché stanno studiando la variabilità individuale stessa (cioè solo il lato sinistro della figura). Bossavit non cita nemmeno uno studio - imperfetto o meno - che contrapponga l'affermazione 10x, e nemmeno io ho visto nessuno di questi studi. Il fatto che nessuno studio abbia prodotto risultati che contraddicono l'affermazione 10x fornisce ancora più fiducia nell'affermazione 10x. Quando considero il numero di studi che sono stati condotti, in generale trovo la ricerca non solo suggestiva, ma conclusiva, il che è raro nella ricerca di ingegneria del software.
Per completezza, l'elenco dei riferimenti utilizzati nelle variazioni di produttività ... è anche riportato di seguito:
Riferimenti
Augustine, NR 1979. "Le leggi di Augustine e i principali programmi di sviluppo del sistema". Revisione della gestione dei sistemi di difesa: 50-76.
Boehm, Barry W. e Philip N. Papaccio. 1988. "Comprensione e controllo dei costi del software". Transazioni IEEE sull'ingegneria del software SE-14, n. 10 (ottobre): 1462-77.
Boehm, Barry, et al, 2000. Stima dei costi del software con Cocomo II, Boston, Mass .: Addison Wesley, 2000.
Boehm, Barry W., TE Grey e T. Seewaldt. 1984. "Prototipazione contro specifica: un esperimento multiprogetto". Transazioni IEEE sull'ingegneria del software SE-10, n. 3 (maggio): 290-303. Anche in Jones 1986b.
Card, David N. 1987. "Un programma di valutazione della tecnologia software". Tecnologia informatica e software 29, n. 6 (luglio / agosto): 291-300.
Curtis, Bill. 1981. "Variabilità sostanziale del programmatore". Atti dell'IEEE 69, n. 7: 846.
Curtis, Bill, et al. 1986. "Psicologia del software: la necessità di un programma interdisciplinare". Atti dell'IEEE 74, n. 8: 1092-1106.
DeMarco, Tom e Timothy Lister. 1985. "Performance del programmatore ed effetti sul posto di lavoro". Atti dell'ottava conferenza internazionale sull'ingegneria del software. Washington, DC: IEEE Computer Society Press, 268-72.
DeMarco, Tom e Timothy Lister, 1999. Peopleware: progetti produttivi e squadre, 2d Ed. New York: Dorset House, 1999.
Mills, Harlan D. 1983. Produttività del software. Boston, Mass .: Piccolo, marrone.
Sackman, H., WJ Erikson e EE Grant. 1968. "Studi sperimentali esplorativi che mettono a confronto le prestazioni di programmazione online e offline". Comunicazioni dell'ACM 11, n. 1 (gennaio): 3-11.
Valett, J. e FE McGarry. 1989. "Un riassunto delle esperienze di misurazione del software nel laboratorio di ingegneria del software." Journal of Systems and Software 9, n. 2 (febbraio): 137-48.
Weinberg, Gerald M. ed Edward L. Schulman. 1974. "Obiettivi e prestazioni nella programmazione per computer". Fattori umani 16, n. 1 (febbraio): 70-77.