During the last three years gamification became quite popular in everyday applications, e.g. marketing or social media. A simple, but often observed technique is to award users with badges for specific actions and achievements. This technique can be used in pretty simple ways, e.g. member titles in forums based on the number of posts, but may also be rather elaborate, e.g. StackOverflow’s system of granting badges to users based on on their reputation and other aspects. Some companies even announced to, or already do, include gamification aspects in consumer and business software, e.g. SAP or Microsoft.
Besides adding fun and a little competition to everyday activities, gamification can also be useful by encouraging users to explore the features of software and, by doing so, discover functionality they are yet unaware of*.
Considering software development, there are also some gamification plugins for IDEs and other tools, which are worth to take a look at. The following provides an incomplete list:
- Jenkins Continuous Integration Game: A rather simple gamification plugin, in which users can score by triggering successful build or adding tests (and in turn are punished with negative scores for breaking the build).
- Achievements for Eclipse: An achievement plugin for the Eclipse IDE, which is yet in development.
- Visual Studio Achievements: Early last year, a blog post with a list of potential Visual Studio achievements was published. About one year later it is reality and provides a whole bunch of badges.
- JIRA Hero: This plugin brings achievements and badges to the JIRA issue tracking system.
If you happen to know of any other, please leave a comment, so I can update and extend this list.
*Btw: Did you know, that JIRA has keyboard shortcuts?
9 thoughts on “Gamification in Software Development”
I just checked the Jenkins Plugin, which looks really nice and provides some fun doing unit testing and fixing failing builds even if you werent the one who broke it.
But I think that there are also some problems, especially with the Jenkins plugin. Jira, Visual Studio and Eclips mainly focus on achievements because of using new features, coding with a given style or doing things in a way you normally wouldnt.
When you are doing TDD and use the Jenkins plugin then you will be punished after you checked in a failing acceptance test which should be the start of each feature. I think this will result in developers waiting to check-in until they finished the feature or not committing failing tests.
I would prefer only positive rewards for adding a new test, making an existing test pass, fixing a failing built, …
I agree that the default configuration of the Jenkins plugin may see a bit clumsy. If I remember correctly, you can alter and extend the rules to meet your requirements without having to dig too deep in the plugin’s internals.
Would be interesting to see different customized rule sets. So, if you happen to customize them, would you mind sharing them?
Anyhow in any situation gamification enters into developers life whether they like it or not. As gamification is in demand and in order to solve the issues of users, developer needs to be there.
I agree, during the last few years gamification became quite popular in everyday applications because it is a use in game-thinking and game mechanics in non-game contexts. I think last few years was best years for games in market.
Welcome to real gamification platform for software developers: http://getbadg.es.
For my bachelor thesis I created a gamification plugin for Eclipse. If you’re interested you can get some further information and download it at http://stefansurkamp.github.io/cs/
What a great article! ”
Your information is very helpful for becoming a better blogger. Keep sharing.