Całkiem dokładny przegląd i analiza badań nad różnicami wydajności znajdują się w dwóch artykułach napisanych przez Steve'a McConnella :
Pierwszy artykuł ( zmiany produktywności ... ) stwierdza:
... Oryginalne badanie, które wykazało ogromne różnice w wydajności indywidualnego programowania, zostało przeprowadzone pod koniec lat 60. XX wieku przez Sackmana, Eriksona i Granta (1968). Przebadali profesjonalnych programistów ze średnio 7-letnim doświadczeniem i stwierdzili, że stosunek początkowego czasu kodowania między najlepszymi i najgorszymi programistami wynosił około 20 do 1; stosunek czasów debugowania powyżej 25 do 1; o rozmiarze programu od 5 do 1; i szybkości wykonywania programu około 10 do 1. Nie znaleźli związku między ilością doświadczenia programisty a jakością kodu lub produktywnością.
Szczegółowe badanie ustaleń Sackmana, Ericksona i Granta pokazuje pewne wady ich metodologii ... Jednak nawet po uwzględnieniu wad, ich dane wciąż wykazują ponad 10-krotną różnicę między najlepszymi programistami a najgorszymi.
Po latach od oryginalnego badania ogólne odkrycie, że „istnieją różnice w rzędach wielkości między programistami” zostało potwierdzone przez wiele innych badań profesjonalnych programistów (Curtis 1981, Mills 1983, DeMarco i Lister 1985, Curtis i in. 1986 , Card 1987, Boehm and Papaccio 1988, Valett and McGarry 1989, Boehm i in. 2000) ...
Ten artykuł ma również ciekawą notatkę:
Ten stopień zmienności nie jest unikalny dla oprogramowania. Badanie przeprowadzone przez Norm Augustine wykazało, że w różnych zawodach - pisaniu, piłce nożnej, wynalazkach, pracach policyjnych i innych zawodach - 20% osób wytwarzało około 50% produkcji, niezależnie od tego, czy chodzi o przyziemienia, patenty , rozwiązane sprawy lub oprogramowanie (Augustine 1979).
Drugi artykuł ( ... Jak ważne są badania podstawowe? ) Został napisany głównie w celu omówienia krytycznej recenzji pierwszego Laurenta Bossavita :
W drugim artykule, w sekcji A Głębsze zanurzenie w badaniach, wspierających „10x” McConnell ponownie sprawdza bardziej szczegółowo odniesienia użyte w pierwszym artykule i stwierdza:
... Po ponownym przejrzeniu tych cytatów na piśmie w tym artykule ponownie doszedłem do wniosku, że potwierdzają one ogólne stwierdzenie, że istnieją 10-krotne różnice produktywności między programistami. W badaniach łącznie wzięły udział setki profesjonalnych programistów z całego spektrum działań programistycznych.
... zbiór badań, które potwierdzają 10-krotność twierdzenia, jest tak solidny, jak każde badanie przeprowadzone w inżynierii oprogramowania. Badania, które potwierdzają twierdzenie 10x, w szczególny sposób nie podlegają ograniczeniom metodologicznym opisanym na rycinie 1, ponieważ badają samą indywidualną zmienność (tj. Tylko lewą stronę figury). Bossavit nie cytuje ani jednego badania - wadliwego lub innego - które sprzeciwia się 10-krotnemu twierdzeniu, a także nie widziałem takich badań. Fakt, że żadne badania nie wykazały ustaleń sprzecznych z twierdzeniem 10x, zapewnia jeszcze większe zaufanie do twierdzenia 10x. Biorąc pod uwagę liczbę przeprowadzonych badań, podsumowuję, że badania są nie tylko sugestywne, ale rozstrzygające - co jest rzadkością w badaniach inżynierii oprogramowania.
Dla kompletności lista odnośników użytych w wariantach Produktywność ... jest również cytowana poniżej:
Bibliografia
Augustine, NR 1979. „Prawa Augustyna i główne programy rozwoju systemu”. Przegląd zarządzania systemami obrony: 50–76.
Boehm, Barry W. i Philip N. Papaccio. 1988. „Zrozumienie i kontrola kosztów oprogramowania”. Transakcje IEEE dotyczące inżynierii oprogramowania SE-14, nr. 10 (październik): 1462–77.
Boehm, Barry i in., 2000. Szacowanie kosztów oprogramowania z Cocomo II, Boston, Mass .: Addison Wesley, 2000.
Boehm, Barry W., TE Gray i T. Seewaldt. 1984. „Prototypowanie a określanie: eksperyment z wieloma projektami”. Transakcje IEEE dotyczące inżynierii oprogramowania SE-10, nr. 3 (maj): 290–303. Również w Jones 1986b.
Card, David N. 1987. „Program oceny technologii oprogramowania”. Technologia informacyjna i programowa 29, nr 6 (lipiec / sierpień): 291–300.
Curtis, Bill. 1981. „Zasadnicza zmienność programisty”. Postępowanie IEEE 69, nr. 7: 846.
Curtis, Bill i in. 1986. „Psychologia oprogramowania: potrzeba interdyscyplinarnego programu”. Postępowanie IEEE 74, nr. 8: 1092–1106.
DeMarco, Tom i Timothy Lister. 1985. „Wydajność programisty i efekty miejsca pracy”. Materiały z 8. Międzynarodowej Konferencji Inżynierii Oprogramowania. Waszyngton, DC: IEEE Computer Society Press, 268-72.
DeMarco, Tom and Timothy Lister, 1999. Peopleware: Productive Projects and Teams, 2d Ed. Nowy Jork: Dorset House, 1999.
Mills, Harlan D. 1983. Produktywność oprogramowania. Boston, Mass .: Little, Brown.
Sackman, H., WJ Erikson i EE Grant. 1968. „Eksploracyjne badania eksperymentalne porównujące wydajność programowania online i offline”. Komunikacja ACM 11, nr 1 (styczeń): 3-11.
Valett, J. i FE McGarry. 1989. „Podsumowanie doświadczeń z pomiarami oprogramowania w laboratorium inżynierii oprogramowania”. Journal of Systems and Software 9, nr. 2 (luty): 137-48.
Weinberg, Gerald M. i Edward L. Schulman. 1974. „Cele i wydajność w programowaniu komputerowym”. Czynniki ludzkie 16, nr 1 (luty): 70–77.