Achievement unlocked: Comment King – Achievements für Entwickler

0x2a

Wenn Software Engineers (klingt deutlich professioneller als „Entwickler“ und sieht besser aus als „Softwareingeneure“) ein Projekt begutachten, erfreuen sie sich an Zahlen die Dinge aussagen; den Metriken. Damit sind zum Beispiel die Anzahl der Codezeilen (Line of Codes, LOC), die Anzahl der Funktionen, die Menge an Kommentaren im Code, aber auch alle möglichen anderen Dinge gemeint, für die sich so ein Software Engineer begeistern kann.

Die Metriken sagen übrigens nicht zwangsweise etwas über den Fleiß der Entwickler aus; sie können aber Hinweise auf mögliche Probleme geben. Wenn beispielsweise der Anteil der Kommentare sehr hoch ist kann man davon ausgehen, dass der Code nicht leicht zu verstehen ist und deshalb den Bedarf nach ausführlichen Kommentaren hat. So. Bei Microsoft ist jetzt ein schlauer Mensch auf die Idee gekommen, die Metriken im Bezug auf einzelne Entwickler zu nutzen, um diese mit Achievements wie in Computerspielen zu belohnen beziehungsweise zu motivieren.

Wie das bei MS jetzt im einzelnen aussieht kann ich nicht sagen, aber ich stelle mir das in etwa so vor: Ein Developer setzt sich um 9 Uhr morgens an seinen Arbeitsplatz und schreibt innerhalb einer Stunde, sagen wir mal, 100 Zeilen Code (das kann je nach Projekt, Programmiersprache, Mensch und Koffeinkonsum desselben sehr viel oder verhältnismäßig wenig sein). Dafür wird er dann der King of LOC bis jemand 101 Zeilen in einer Stunde schreibt. Oder, und das fände ich persönlich witziger, ein Entwickler, dessen Code sehr häufig von anderen geändert beziehungsweise debuggt werden (wie soll man das bitte auf deutsch schreiben?) muss wird zum Loser des Teams erklärt und muss dann Dinge tun, die niemand gerne macht. Dokumentationen schreiben, zum Beispiel.

Wieviele Zeilen Code jemand pro Stunde schreibt oder wie oft er neue Änderungen zum Projekt hinzufügt sagt allerdings nur sehr wenig (um genau zu sein: gar nichts) über die Qualität seines Codes aus. Ich denke nicht, dass ein Achievement-System zu mehr Produktivität und besserem Code führt (vor allem würde ich gerne mal die Gesichter der SAP-Coder sehen wenn ihr Projektleiter so ein System einführt), trotzdem bin ich ziemlich begeistert von der Idee und beanspruche an dieser Stelle das Achievement „Dafuq is dis?“ für unleserlichen Code für mich.

Microsoft implementiert das Ganze übrigens als Plugin für Visual Studio, allerdings ist es auch möglich einen großen Teil der Daten aus den Logs einer Versionsverwaltung (z.B. git oder Subversion) zu extrahieren. Und jetzt bin ich dafür, dass einer von euch sowas schreibt. Sofort. („Achievement unlocked: Start me up (for starting a new project)“.

Ich mag diese via-Geschichte in Blogs übrigens gar nicht, aber ich fand keinen anständigen Weg den Link zu Marcels Eintrag hier unterzubringen, deshalb, öhm, via Marcel

4 Kommentare zu Achievement unlocked: Comment King – Achievements für Entwickler

  1. Flo's Gravatar Flo
    Geschrieben am 19. Januar 2012 um 0:51 | Permalink

    Ich bin da ganz bei dir. Die pure Codequalität wird sich wohl kaum merklich verändern. Echte Verbesserungen und einfaches Hochpushen einer Metrik (zB viele LOC) werden sich die Waage halten. Stattdessen stelle ich mir vor, dass der Spaß am Programmieren nerviger Dinge einfach erhöht wird. Sitzt man am coolen Teil seiner Softwarem macht das sowieso Spaß. Geht es jedoch um nervige Unit-Tests, stumpfen GUI-Code oder Fehlerbehandlung kann die Glückshormonausschüttung stattdessen durch Achievements getriggert werden. Der Effekt: Man verbringt mehr Zeit in seiner Entwicklungsumgebung, ist weniger verleitet mal schnell auf 9gag, reddit & twitter vorbeizuschauen und ist vor allem im Team immer motiviert weil man sich mit anderen messen kann. Denke ich mir zumindest.

    Bereits das Einführen von Metriken überhaupt führt zu solchen Effekten (habe ich beobachtet als wir mal einen Sonar aufgesetzt haben) aber das kann man natürlich beliebig weiterführen. Ganz schön macht das meiner Meinung nach Stack Overflow. Das Prinzip Q&A ist bereits sehr gut für den Fragensteller, mit den virtuellen Belohnungen für Beteiligung macht es aber plötzlich auch noch Spaß, Support zu geben.

  2. Geschrieben am 19. Januar 2012 um 8:36 | Permalink

    Ich finde, eine gute Codemetrik hat immer was mit schimpfwörtern zu tun ;)

    http://nein.gei.st/post/220204551/cortesi-the-impact-of-language-choice-on

  3. Geschrieben am 20. Juni 2012 um 8:42 | Permalink

    baidu
    [url=http://www.baidu.com]baidu[/url]

Hinterlasse einen Kommentar zu Philipp