Das Ganze ist nicht mehr als die Summe seiner Teile

Große Teams sind unproduktiver – das gilt auch für Open Source

Melanie Feldmann

© Shutterstock.com / Wayne0216

Dass die Produktivität abnimmt, umso größer ein Team ist, scheint in der Softwareentwicklung ein ungeschriebenes Gesetz zu sein. Nur Open-Source-Projekten wurde die hohe Motivation durch große Teams als förderlich für die Produktivität ausgelegt. Forscher der ETH Zürich wählten einen datenbasierten Ansatz, um herauszufinden, ob dem wirklich so ist.

Eine der wichtigsten Frage im Management von IT-Projekten ist Frage nach der Produktivität der Entwicklerteams. Dabei stößt man immer wieder auf die Feststellung, dass die Produktivität niedriger ist umso größer das Team. Ein Grund dafür ist nach gängiger Einschätzung die Komplexität von Softwareprojekten, die es erschwert, Projekte einfach aufzuteilen und die Knackpunkte zu kommunizieren. Außerdem ist die Kommunikation in größeren Teams aufwändiger und nimmt dementsprechend Zeit zum Programmieren weg. Auch das Team nachträglich zu vergrößern, hilft oft nicht weiter, weil neue Mitglieder erst angelernt und in das Projekt eingeführt werden müssen.

Bisher galten aber Open-Source-Projekte als magische Ausnahme zum Produktivitätsverfall. Dies stellten die Forscher Didier Sornette, Thomas Maillart und Giacomo Ghezzi in ihrem Paper „How Much Is the Whole Really More than the Sum of Its Parts? 1 + 1 = 2,5: Superlinear Productivity in Collective Group Actions“ fest. Die steigende Gruppengröße würde zu einer gesteigerten Motivation führen und so zu mehr Produktivität. Um diesen Theorie nachzugehen haben die Forscher Ingo Scholtes, Pavlin Mavrodiev und Frank Schweitzer von der ETH Zürich einen datenbasierten Ansatz gewählt und 58 Projekte auf GitHub auf ihre Produktivität hin untersucht. Ihre Daten umfassen über eine halbe Millionen Commits und mehr als 30.000 Entwickler.

Mehr Kommunikation, weniger Code

Dazu setzten die Forscher die durchschnittlichen Code-Beiträge pro Teammitglied in Bezug zur Teamgröße. Dabei zeigte sich ein deutlicher negativer Trend. Die Motivation in größeren Open-Source-Teams treibt die Entwickler also nicht zu neuen Höchstleistungen. Daraufhin wollten die Forscher wissen, ob der gesteigerte Kommunikationsbedarf wirklich eine Faktor ist, der die Produktivität in größeren Teams senkt. Dafür bauten sie Netzwerke zwischen Entwicklern auf. Sobald Entwickler A eine Zeile von Entwickler B änderte, wurden die beiden miteinander verlinkt. Die so entstandenen Netzwerke wuchsen superlinear zur Teamgröße. Der Kommunikationsaufwand wächst also beträchtlich und kann sich dementsprechend negativ auf die Produktivität auswirken.

So messen die Forscher Produktivität

Bevor die Forscher überhaupt loslegen konnten, mussten sie festlegen, was Produktivität überhaupt ist. Andere Studien nahmen schlicht die Anzahl der Commits. Das war den Forschern bei der Spannweite von Commits von kleinen Fixes bis zu großen Code-Bausteinen ein zu enger Ansatz. Sie nutzten die Levenstein-Distanz zwischen Code-Versionen in aufeinanderfolgenden Commits. Sie bezogen sich also darauf, wie groß der Unterschied zwischen den Commits war. Das zweite Problem war herauszufinden, wie groß das Open-Source-Team wirklich ist, denn Committer in Open-Source-Projekten kommen und gehen. Dazu untersuchten die Forscher die Zeitspanne zwischen Commits der einzelnen Entwickler. Darauf aufbauend sagten sie vorher, ob es wahrscheinlich ist, dass der Entwickler innerhalb einer definierten Zeitspanne erneut commitet. Dieses Zeitfenster nutzen sie dann als Grundlage für ihre Berechnungen der Teamgröße.

Verwandte Themen:

Geschrieben von
Melanie Feldmann
Melanie Feldmann
Melanie Feldmann ist seit 2015 Redakteurin beim Java Magazin und JAXenter. Sie hat Technikjournalismus an der Hochschule Bonn-Rhein-Sieg studiert. Ihre Themenschwerpunkte sind IoT und Industrie 4.0.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: