Gamification in der Softwareentwicklung: Codequalität mit Spielmechaniken messen

Ein Beitrag von Heise Developer beschreibt am 7. Juli 2017, wie sich Spielmechaniken auf den Entwicklungsalltag übertragen lassen. Im Mittelpunkt stehen messbare Ziele wie Build-Stabilität, Testabdeckung und die Komplexität von Quellcode, nicht bloß eine Rangliste für möglichst viele Commits.

Der vollständige Fachbeitrag beschreibt Gamification als Übertragung von motivierenden Spielelementen auf einen nichtspielerischen Kontext. Für Spieleentwicklungsteams kann das etwa bedeuten, automatisierte Tests, Buildzeiten oder Qualitätskennzahlen sichtbarer zu machen, ohne die eigentliche Arbeit auf Punktesammeln zu reduzieren.

Metriken aus CI und Versionsverwaltung

Als mögliche Datenquellen nennt der Beitrag Versionskontrollsysteme und Continuous-Integration-Systeme. Aus Git oder Subversion lassen sich Anzahl, Umfang und Zeitpunkt von Änderungen erfassen. Aussagekräftiger für die Teamarbeit sind jedoch Metriken aus automatisierten Builds. Kürzere Buildzeiten oder weniger fehlgeschlagene Läufe können Hinweise auf Verbesserungen liefern.

Die Autoren warnen davor, einzelne Entwickler als Verursacher fehlerhafter Builds öffentlich herauszustellen. Eine solche Wertung kann die Zusammenarbeit verschlechtern. Für Teams mit großen Codebasen ist deshalb eine gemeinsame Betrachtung von Buildstabilität und Prozessqualität sinnvoller als ein Wettbewerb um individuelle Kennzahlen.

Codequalität bleibt kontextabhängig

Für die Bewertung von Code nennt der Beitrag unter anderem zyklomatische Komplexität, Abhängigkeiten zwischen Komponenten und Testabdeckung. Werkzeuge wie SonarQube können Veränderungen dieser Werte sichtbar machen. Die Kennzahlen müssen trotzdem zum jeweiligen Projekt passen. Eine hohe Testabdeckung ist nicht in jedem Modul gleich aussagekräftig, und ein niedriger Messwert beweist allein noch keine gute Software.

Wer Qualitätsziele für Enginecode, Tools oder Buildsysteme festlegt, sollte die Regeln des Teams zuerst konkret beschreiben. Einen technischen Referenzpunkt für solche Entwicklungsregeln bieten die C++ Core Guidelines. Gamification kann diesen Prozess sichtbar machen, ersetzt aber weder Code Reviews noch automatisierte Tests.

Der Heise-Beitrag nennt als mögliche Auszeichnung regelmäßige Anerkennung für Verbesserungen an den gewählten Kennzahlen. Entscheidend ist dabei die Auswahl der Metriken und die Rückmeldung im Team. Ein System, das nur schnelle Änderungen belohnt, kann die gewünschte Codequalität sogar verfehlen.

Weitere News

Weitere News

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein