Gamification improves software quality
SonarQuest: A PLAYFUL APPROACH TO IMPROVING SOFTWARE QUALITY
There are two questions which crop up in most of our projects:
- How can we improve the quality of our code?
- How can we motivate teams to strive continuously to improve their own software?
Gamification provides one possible answer to this question! SonarQuest is a game concept and an open source tool developed by viadee which helps teams handle (maintenance) tasks with playful ease. Set in a classic role play context, SonarQuest sends developers off on an adventure trip: vulnerabilities turn into monsters, missing tests become puzzles and new releases are manifested as adventures. To stop players mutating into lone wolves, we put the emphasis on team playing and on integration into everyday work routines. Have we made you curious? Let’s play a round together!
MAINTENANCE – MORE THAN JUST A NECESSARY EVIL
Maintenance has always tended to be considered a very dry and dull affair. The related activities are only rarely innovative and you’re repeatedly expected to deal with legacy problems – both your own and other people’s. What’s more, the work often has to be completed by the way and it isn’t generally valued by users as highly as when new features are added (“it runs just like it always does”).
Even highly motivated teams sometimes find it difficult to keep up the motivation permanently for this reason; people are reluctant to participate in maintenance activities or, even more so, tackle them on their own initiative. At the same time, project managers frequently have no way of controlling the maintenance process and of focusing on those aspects which are relevant for the quality of the software project in the long term.
THE IDEA: MAINTENANCE AS A ROLE PLAYING GAME (RPG)
The SonarQuest concept developed by viadee provides a modern approach to this problem, which confronts us in our projects time and time again – with gamification methods inspired by our experience as a clean coder and an agile developer, and not least by the enthusiasm of a few committed gamers amongst the players.
The underlying idea is that maintenance work should be integrated into a classic role playing game: vulnerabilities turn into monsters, the resolution of technical dependencies becomes the solution to a puzzle and the team are transformed into a group of heroes, who are regularly presented with new quests by the “game master” (the team leader).
The tasks to be completed are based on the results of a static code analysis with SonarQube, the open source tool. SonarQube is the most popular static analysis tool for program code in more than 20 different programming languages and can be integrated very easily in any standard development environment or pipeline. In each SonarQube Build, the analysis creates a set of key indicators and maintenance activities based on rules reflecting the rich experience of a longstanding community. The tasks range from obvious errors (bugs) and vulnerabilities to comparatively cosmetic, but nevertheless essential, modifications. Overarching quality inspections (quality gates) are implemented, and key indicators collected, in order to document how the software quality develops in the course of the project.
Instead of assigning the resulting tasks to development teams, SonarQuest consolidates them into quests and adventures, each one linked to a story authored by the game master. The game master is supported here by various selection mechanisms. One mechanism currently in preparation is designed to ensure that issues are selected sustainably from the SonarQube data, based on the probability of future changes to the relevant classes, leading to lower maintenance costs in the long term.
The players are represented in SonarQuest by figures, characters and avatars; they develop their individual skills gradually over a period of time and can also surround themselves with artefacts in a marketplace – just like in modern online role playing games. Participation in SonarQuest is always voluntary and the players are not tracked in any way. The game master can reward teamwork with special tasks and bonuses, paying attention not only to technical aspects but also to compliance with deadlines, good internal reviews or particularly effective solutions.
Join the SonarQuest-community!
SonarQuest is an open source project that can be downloaded free of charge from github. viadee is actively committed to the establishment of a living community and will continue to drive SonarQuest’s development. We sincerely hope that many motivated people – gamers, developers, agilists, designers and managers – will lend their support to this project and collaborate with us to expand the SonarQuest world little by little.
WE ARE LOOKING FOR DEVELOPERS TO PLAY THE CLEAN CODE GAME WITH US. JUST FILL IN THE FORM AND WE’LL GET BACK TO YOU AS SOON AS POSSIBLE.