Steve McConnell a rédigé deux articles sur les différences de productivité .
Le premier article ( Variations de productivité ... ) dit:
... Sackman, Erikson et Grant (1968) ont mené à la fin des années 1960 une étude sur les énormes variations dans la productivité des programmes individuels. Ils ont étudié des programmeurs professionnels avec une expérience moyenne de 7 ans et ont constaté que le rapport du temps de codage initial entre le meilleur et le pire programmeur était d'environ 20 à 1; le rapport des temps de débogage sur 25 à 1; de la taille du programme 5 à 1; et de la vitesse d'exécution du programme d'environ 10 à 1. Ils n'ont trouvé aucune relation entre la quantité d'expérience d'un programmeur et la qualité du code ou la productivité.
Un examen détaillé des conclusions de Sackman, Erickson et Grant révèle quelques failles dans leur méthodologie ... Cependant, même après avoir pris en compte ces failles, leurs données montrent toujours une différence de plus de 10 fois entre les meilleurs et les pires programmeurs.
Au cours des années écoulées depuis l'étude initiale, de nombreuses autres études de programmeurs professionnels ont confirmé la conclusion générale selon laquelle "il existe des différences d'ordre de grandeur entre programmeurs" (Curtis 1981, Mills 1983, DeMarco et Lister 1985, Curtis et al. 1986). , Carte 1987, Boehm et Papaccio 1988, Valett et McGarry 1989, Boehm et al 2000) ...
Cet article a aussi une note intéressante:
Ce degré de variation n'est pas propre au logiciel. Une étude de Norm Augustine a révélé que, dans diverses professions - écriture, football, invention, travail policier et autres professions - les 20% les plus performants produisaient environ 50% de la production, qu’il s’agisse de touchés, de brevets , cas résolus ou logiciels (Augustine 1979).
Le deuxième article ( ... Quelle est la validité de la recherche sous-jacente? ) A été écrit principalement pour aborder la critique du premier article de Laurent Bossavit :
Dans le deuxième article, dans la section A approfondir ses recherches sur le thème "10x", McConnell revérifie plus en détail les références utilisées dans le premier article et conclut:
... Après avoir revu ces citations une nouvelle fois en écrivant cet article, j'ai conclu à nouveau qu'elles étayaient la conclusion générale selon laquelle il existe des différences de productivité 10 fois supérieures entre les programmeurs. Les études ont collectivement impliqué des centaines de programmeurs professionnels dans un large éventail d'activités de programmation.
... le corpus de recherches à l'appui de l'allégation 10x est aussi solide que toute recherche effectuée en génie logiciel. Les études à l’appui de la revendication 10x ne sont pas soumises à la limitation méthodologique décrite à la figure 1, car elles étudient la variabilité individuelle elle-même (c’est-à-dire uniquement le côté gauche de la figure). Bossavit ne cite pas même une étude - imparfaite ou autre - qui contredit l'allégation 10x, et je n'ai pas vu d'études de ce type non plus. Le fait qu'aucune étude n'ait abouti à des résultats contredisant l'allégation 10x donne encore plus de confiance dans l'allégation 10x. Quand je considère le nombre d’études qui ont été effectuées, je trouve globalement que la recherche est non seulement suggestive, mais concluante - ce qui est rare dans la recherche en génie logiciel.
Par souci d’exhaustivité, la liste des références utilisées dans les variations de productivité ... est également citée ci-dessous:
Références
Augustine, NR 1979. "Lois d'Augustin et principaux programmes de développement de systèmes." Examen de la gestion des systèmes de défense: 50-76.
Boehm, Barry W. et Philip N. Papaccio. 1988. "Comprendre et contrôler les coûts des logiciels." Transactions IEEE sur le génie logiciel SE-14, no. 10 (octobre): 1462-77.
Boehm, Barry et al, 2000. Estimation des coûts logiciels avec Cocomo II, Boston, Massachusetts: Addison Wesley, 2000.
Boehm, Barry W., TE Grey et T. Seewaldt. 1984. "Le prototypage par rapport à la spécification: une expérience multiprojet." Transactions IEEE sur le génie logiciel SE-10, no. 3 (mai): 290-303. Toujours dans Jones 1986b.
Card, David N. 1987. "Un programme d'évaluation de la technologie logicielle." Technologie de l'information et des logiciels 29, no. 6 (juillet / août): 291-300.
Curtis, Bill. 1981. "Variabilité du programmeur de corroboration." Actes de la conférence IEEE 69, no. 7: 846.
Curtis, Bill et al. 1986. "Psychologie logicielle: le besoin d'un programme interdisciplinaire." Actes de la conférence IEEE 74, no. 8: 1092-1106.
DeMarco, Tom et Timothy Lister. 1985. "Performance du programmeur et les effets du lieu de travail." Actes de la 8ème Conférence internationale sur le génie logiciel. Washington, DC: Presse de la société IEEE Computer Society, 268-72.
DeMarco, Tom et Timothy Lister, 1999. Peopleware: Projets et équipes productifs, 2e éd. New York: Maison Dorset, 1999.
Mills, Harlan D. 1983. Productivité des logiciels. Boston, Mass.: Little, Brown.
Sackman, H., WJ Erikson et EE Grant. 1968. "Études expérimentales exploratoires comparant les performances de programmation en ligne et hors ligne." Communications de l'ACM 11, no. 1 (janvier): 3-11.
Valett, J. et FE McGarry. 1989. "Résumé des expériences de mesure logicielle dans le laboratoire de génie logiciel." Journal of Systems and Software 9, no. 2 (février): 137-48.
Weinberg, Gerald M. et Edward L. Schulman. 1974. "Objectifs et performance en programmation informatique." Facteurs humains 16, no. 1 (février): 70-77.