What is Gamification?
Gamification consists of making a game from a process that is not a game is. Normally, a gamified process can be identified because it contains a few common elements like points, badges and leaderboards. Proper gamification has much more than that behind those elements, but it’s an easy way to describe them in general.
One of the key concepts is that Gamification works better around tasks that are usually boring or repetitive. Quboo has been created by developers so they know that fixing old, ugly code is not cool. It is actually painful. Quboo tries to help create a process in which fixing legacy code and increase code coverage can be a bit more enjoyable. You can compete with other teams and get “symbolic rewards” every month (a nice t-shirt? You decide).
The game is simple: if you fix a Sonar Issue that was created before the Legacy Date, you get points, and so does your team. The score you get is proportional to the amount of debt you are paying (calculated by Sonar).
To make sure you get the score for the issues you resolve, you need to assign them to you using SonarQube’s Web interface before you resolve them. Check Assigning Issues for more details.
Badges are just a nice status that you may obtain by performing certain actions. This is a growing list, since the Quboo Team is introducing new badges every now and then:
- Early Bird. If you get score very early during a given campaign.
- Unit Tester (Multiple Ranks). Depending on how much test coverage you’re adding, you get one or more of the UT Ranks.
The Quboo Leaderboards are sorted lists, by score in descending order, of your players and teams (whose score is just the sum of the score of all its players).
These are the main screens in Quboo and contain all you need to know the status of the game: the scores, badges, who is winning and campaign information.
A Quboo Campaign defines the period of time you’re playing to become winner, which means having the highest score when the campaign finishes. They have a defined start date and end date and, by default, campaigns in Quboo are sequential. Your next campaign will start the day after the current campaign finishes.
Every new campaign all the statistics are set to zero. This is very important in the game because it allows everybody to compete.
You can organize your players in teams. This encourages everybody to participate since teams also compete with each other.
The game’s objective is to become winner by the end of a campaign. If you want, you can introduce small rewards for the winners so it’s even more encouraging: tees, mugs, gift cards, etc.
Anyway, keep in mind that the game is ultimately a way to make fixing legacy code more interesting. Reducing those potential bugs and technical debt is your real reward.
Keep it fun
As developers, we like Quboo because it spices up the process. However, there are also other people that feels manipulated by it, even if you clearly state that it’s not the reason why you introduce the game. This may happen and it should be seen as normal. It’s the main reason why participating in the game should be optional. In any case, try to avoid making Quboo a serious topic: do not link it to company goals, do not use it for team/personal performance evaluation, do not offer big rewards.
It is important that, if you introduce this game in your organization, you explain it honestly: what you want to achieve and how to play. There will be people who like it and people who don’t. Whatever the result is, feel free to share the feedback with us.