Eine ziemlich gründliche Übersicht und Analyse der Forschung zu Produktivitätsunterschieden finden Sie in zwei Artikeln von Steve McConnell :
Der erste Artikel ( Produktivitätsunterschiede ... ) lautet:
... Die ursprüngliche Studie, in der große Unterschiede in der individuellen Programmproduktivität festgestellt wurden, wurde Ende der 1960er Jahre von Sackman, Erikson und Grant (1968) durchgeführt. Sie untersuchten professionelle Programmierer mit einer durchschnittlichen Erfahrung von 7 Jahren und stellten fest, dass das Verhältnis der anfänglichen Kodierungszeit zwischen den besten und schlechtesten Programmierern etwa 20 zu 1 betrug. das Verhältnis der Debugging-Zeiten über 25 zu 1; von Programmgröße 5 bis 1; und der Programmausführungsgeschwindigkeit ungefähr 10 zu 1. Sie fanden keine Beziehung zwischen der Menge an Erfahrung eines Programmierers und der Codequalität oder Produktivität.
Eine detaillierte Untersuchung der Ergebnisse von Sackman, Erickson und Grant zeigt einige methodische Mängel auf. Doch auch nach Berücksichtigung der Mängel weisen ihre Daten immer noch einen mehr als zehnfachen Unterschied zwischen den besten und den schlechtesten Programmierern auf.
In den Jahren seit der ursprünglichen Studie wurde die allgemeine Feststellung "Es gibt Unterschiede in der Größenordnung zwischen Programmierern" durch viele andere Studien von professionellen Programmierern bestätigt (Curtis 1981, Mills 1983, DeMarco und Lister 1985, Curtis et al. 1986) , Card 1987, Boehm und Papaccio 1988, Valett und McGarry 1989, Boehm et al 2000) ...
Dieser Artikel hat auch eine interessante Randnotiz:
Dieser Variationsgrad gilt nicht nur für Software. Eine Studie von Norm Augustine ergab, dass in einer Vielzahl von Berufen - Schreiben, Fußball, Erfindung, Polizeiarbeit und anderen Berufen - die oberen 20 Prozent der Menschen etwa 50 Prozent des Outputs produzierten, unabhängig davon, ob es sich um Touchdowns oder Patente handelt , gelöste Fälle oder Software (Augustine 1979).
Der zweite Artikel ( ... Wie gültig ist das zugrunde liegende Research? ) Wurde hauptsächlich geschrieben, um die kritische Überprüfung des ersten Artikels durch Laurent Bossavit zu behandeln :
Im zweiten Artikel, in Abschnitt A Deeper Dive Into the Research Supporting "10x", überprüft McConnell die im ersten Artikel verwendeten Referenzen noch einmal und zieht folgende Schlussfolgerungen:
... Als ich diese Zitate beim Schreiben dieses Artikels noch einmal überprüfte, kam ich erneut zu dem Schluss, dass sie die allgemeine Feststellung stützen, dass es 10-fache Produktivitätsunterschiede zwischen Programmierern gibt. An den Studien haben Hunderte von professionellen Programmierern aus einem breiten Spektrum von Programmieraktivitäten teilgenommen.
... die Forschung, die die 10x Behauptung stützt, ist so solide wie jede Forschung, die im Bereich Software Engineering durchgeführt wurde. Studien, die die 10x-Behauptung stützen, unterliegen in keiner Weise der in Abbildung 1 beschriebenen methodischen Einschränkung, da sie die individuelle Variabilität selbst untersuchen (dh nur die linke Seite der Abbildung). Bossavit zitiert nicht einmal eine - fehlerhafte oder sonstige - Studie, die der 10-fachen Behauptung widerspricht, und ich habe auch keine derartigen Studien gesehen. Die Tatsache, dass keine Studien Ergebnisse erbracht haben, die der 10x-Behauptung widersprechen, gibt noch mehr Vertrauen in die 10x-Behauptung. Wenn ich die Anzahl der durchgeführten Studien betrachte, finde ich die Forschung insgesamt nicht nur aussagekräftig, sondern auch schlüssig - was in der Software-Engineering-Forschung selten vorkommt.
Der Vollständigkeit halber wird im Folgenden auch eine Liste der Referenzen aufgeführt, die in den Produktivitätsvarianten verwendet werden:
Verweise
Augustine, NR 1979. "Augustines Gesetze und wichtige Programme zur Systementwicklung." Managementbewertung der Verteidigungssysteme: 50-76.
Boehm, Barry W. und Philip N. Papaccio. 1988. "Verstehen und Steuern von Softwarekosten." IEEE-Transaktionen zu Software Engineering SE-14, No. 10 (Oktober): 1462-77.
Böhm, Barry, et al., 2000. Softwarekostenschätzung mit Cocomo II, Boston, Mass .: Addison Wesley, 2000.
Böhm, Barry W., TE Gray und T. Seewaldt. 1984. "Prototyping Versus Specifying: Ein Multiprojekt-Experiment." IEEE-Transaktionen zu Software Engineering SE-10, No. 3 (Mai): 290-303. Auch in Jones 1986b.
Card, David N. 1987. "Ein Software-Technologie-Evaluierungsprogramm." Informations- und Softwaretechnik 29, nr. 6 (Juli / August): 291-300.
Curtis, Bill. 1981. "Substantiating Programmer Variability." Proceedings of the IEEE 69, no. 7: 846.
Curtis, Bill et al. 1986. "Software-Psychologie: Die Notwendigkeit eines interdisziplinären Programms." Verfahren der IEEE 74, Nr. 8: 1092 & ndash; 1106.
DeMarco, Tom und Timothy Lister. 1985. "Programmiererleistung und die Auswirkungen des Arbeitsplatzes." Tagungsband der 8. Internationalen Konferenz für Software Engineering. Washington, DC: IEEE Computer Society Press, 268-72.
DeMarco, Tom und Timothy Lister, 1999. Peopleware: Produktive Projekte und Teams, 2d Ed. New York: Dorset House, 1999.
Mills, Harlan D. 1983. Softwareproduktivität. Boston, Mass .: Little, Brown.
Sackman, H., WJ Erikson und EE Grant. 1968. "Explorative experimentelle Studien zum Vergleich der Online- und Offline-Programmierleistung." Mitteilungen der ACM 11, Nr. 1 (Januar): 3-11.
Valett, J. und FE McGarry. 1989. "Eine Zusammenfassung der Erfahrungen mit Softwaremessungen im Software Engineering Laboratory." Journal of Systems and Software 9, No. 2 (Februar): 137–48.
Weinberg, Gerald M. und Edward L. Schulman. 1974. "Ziele und Leistung in der Computerprogrammierung." Human Factors 16, No. 1 (Februar): 70-77.