Mit Gamification Softwarequalität verbessern – SonarQuest goes mobilcom-debitel

Donnerstag, 26.7.2018

Gamification in der Praxis: Das Bild zeigt Avatare auf einer Landkarte.

Auf der JAX 2018 haben wir SonarQuest erstmals einer breiteren Öffentlichkeit vorgestellt. Unser Konzept, die Codequalität und Motivation von Teams in Softwareprojekten durch Gamification in Form eines Rollenspiels zu verbessern, stieß auf viel Neugierde und Interesse. Gut zwei Monate später folgte aus diesen Kontakten nun der erste Praxiseinsatz außerhalb der viadee.

SonarQuest im Praxistest
FedEx-Day bei der mobilcom-debitel

Auf Einladung der IT-Abteilung nahmen Christoph Meyer und ich am 11. FedEx-Day der mobilcom-debitel in Büdelsdorf teil. Der FedEx-Day bietet den hauseigenen Entwickler/-innen die Möglichkeit, sich unabhängig vom laufenden Geschäft für zwei Tage in Arbeitsgruppen mit selbstgewählten Themen und Fragestellungen zu beschäftigen. Ob in den Arbeitsgruppen nun Konzepte erarbeitet, Tools getestet und bewertet oder eigene Lösungen entwickelt werden: Am Ende steht die Präsentation eines „handfesten“, kreativen und wiederverwendbaren Ergebnisses im Sinne agiler Methodik und der Design Thinking-Prinzipien.

Insgesamt fünf Teilnehmer/-innen der mobilcom-debitel aus unterschiedlichen Teams und mit Aufgaben von der Backend-Entwicklung und Betreuung über die Qualitätssicherung bis zur Frontend-Entwicklung hatten sich zusammengefunden, um mit uns gemeinsam SonarQuest in der mobilcom-debitel aufzusetzen, auszutesten und zu evaluieren.

Das SetUp –
von docker, Spring Boot und Tabletop-Figuren

Am Anfang stand das SetUp der Infrastruktur – eigentlich immer eine Herausforderung. Das SonarQuest-Backend als Spring Boot-Anwendung mit integrierter H2-File-DB war allerdings schnell und unkompliziert aufgesetzt. Das Angular-Frontend erforderte etwas mehr Aufmerksamkeit, um die benötigten Serverkomponenten bereitzustellen. Dies erfolgte über Aufsetzen eines eigenen docker-Containers, der den Webserver nginx mit bereitstellt. In der Übergangsphase erwies sich aber auch der Workaround mit einem lokal laufenden Frontend, welches mit dem zentralen Backend kommuniziert, als valide Option für den Entwicklungsbetrieb. Die Ideen für ein IDE-PlugIn werden wir daher weiter im Hinterkopf behalten. Die Anbindung an die lokale SonarQube-Instanz lief reibungslos, das kürzlich integrierte Feature für die http-BasicAuthentication erlaubte einen direkten Zugriff auf die SonarQube-Projekte mit ihren Issues.

Zeitgleich mit der Infrastruktur sammelte sich auch unsere Gruppe von Heldinnen und Helden: Neue Accounts und Charaktere mit den entsprechenden Avataren wollten angelegt und mit einer Geschichte versehen werden. Die persönlichen Avatare traten aber nicht nur digital, sondern auch analog in Erscheinung: Tabletop-Figuren sorgten für eine plastische Darstellung von Zauberern, Kriegerinnen, Zwergen und Elfen sowie für Abwechslung und eine kurze Übung in Geschick und Feinmotorik beim Zusammenbau. Nachdem alle Rollen (Developer, Gamemaster, Admin) und Charaktere verteilt waren, ging es daran, SonarQube anhand eines realen Projektes zu spielen.

Eine aufregende Reise zur Mündung des Clean Code

Den passenden Rahmen für die Geschichte lieferte die Halbinsel Nisshaknuk (Ähnlichkeiten zur Küstenlinie rund um Kiel sind rein zufällig). Auf ihrer Reise von Kaklasmis bis in die Küstenstadt Nishhaknuk musste unsere Gruppe allerhand Gefahren trotzen und das eine oder andere Rätsel lösen. Immer souverän und fantasievoll moderiert von unserem Spielleiter machte sich das Team also auf die Reise und spielte mehrere Quests in SonarQuest, d. h. es wurden Issues aus SonarQube zur Behebung ausgewählt, zu Quests zusammengefasst und in eine passende und spannende Geschichte eingebettet.

Als OpenSource-Projekt weist SonarQuest in Teilen immer noch den Status „Work in Progress“ auf, so dass auch wir einige Fehler feststellten. Diese wurden dann aber gemeinschaftlich als neue Herausforderung kurzerhand in den FedEx-Day integriert und weitestgehend behoben, bevor es weiter an die SonarQuest-Issues ging.

Nach zwei sehr spannenden Tagen stand ein Ergebnis, das sich sehen lassen konnte:
  • SetUp der SonarQuest-Infrastruktur in der mobilcom-debitel
  • Neues Docker-File: Frontend mit integriertem nginx
  • Neues Docker-File: Backend mit externer Datenbank und Konfiguration
  • Integration des OWASP Dependency-Checkers im Backend
  • Fixes und neue Features in SonarQuest (Backend und Frontend)
  • Verbesserung der Codequalität durch Behebung von SonarQube-Issues im „bespielten“ mobilcom-debitel Projekt
  • eine eingeschworene Gruppe von Heldinnen und Helden

 

DIE ERSTE QUEST IST VORBEI, DOCH DAS ADVENTURE SONARQUEST GEHT WEITER

Zum Ende waren sich alle Beteiligten einig, dass das Konzept von SonarQuest viel Potenzial bietet und Gamification auf diese Art und Weise wirklich dazu motivieren kann, die Softwarequalität in Projekten dauerhaft zu verbessern. Das Konzept ist stimmig und weckt Spaß am Geschichten erzählen, was sich dann positiv auf die Stimmung, Kreativität und den Zusammenhalt im Team auswirkt.

Damit SonarQuest den aktuellen „beta-Status“ verlassen und als „Produkt“ verwendet werden kann, muss es aber noch weiterentwickelt werden. Das viadee-Team wird diese Entwicklung weiter vorantreiben. Wir sind überzeugt, dass ein Open Source-Projekt wie dieses dauerhaft nur mit einer aktiven Community zu einem echten Erfolg werden kann.

Was wir persönlich von unserer Quest „nach Büdelsdorf und zurück“ mitnehmen: Die Erinnerung an zwei sehr spannende und spaßige Tage mit kompetenten, motivierten und netten Menschen, eine Menge wertvoller praktischer Erfahrungen, diverse Verbesserungen für SonarQuest – hier nochmal ein großes Dankeschön an das Team – und eine ganze Reihe neuer Ideen, um SonarQuest noch runder zu gestalten. Dies alles bestätigt uns in unserem Vorhaben: Wir stehen mit dem Projekt SonarQuest erst am Anfang einer längeren Reise.


SonarQuest – Gamification zur Verbesserung der Codequalität

Neugierig geworden? Bei Interesse an SonarQuest einfach auf Github anmelden und einen Stern auf SonarQuest setzen: Wir suchen immer nach Mitstreiter/-innen bei der Weiterentwicklung –  egal ob Gamer, Managerin, Tester oder Entwicklerin!

JOIN THE SONARQUEST-COMMUNITY!

Gamification

Auch interessant: 

Helden gesucht – werden Sie Teil der SonarQuest Community

5 Gründe für Gamification – Damit überzeigen Sie Ihren Chef


zurück zur Blogübersicht

Diese Beiträge könnten Sie ebenfalls interessieren

Keinen Beitrag verpassen – viadee Blog abonnieren

Jetzt Blog abonnieren!

Kommentare

Björn Meschede

Björn Meschede

Björn Meschede ist Senior Berater und seit 2008 bei der viadee IT-Unternehmensberatung. Gestartet als Software Engineer mit technischem Schwerpunkt ist er heute vornehmlich als Business Analyst und Projektleiter im Einsatz. Darüber hinaus ist er einer der Themenverantwortlichen für den Bereich Clean Code Development bei der viadee.

Björn Meschede bei Xing  Björn Meschede bei LinkedIn