Ask HN Game mechanics (badges) for bug tracking = good idea?
playnice.ly
playnice.ly
This is also the reason a lot of incentive programs are flawed... They encourage the wrong behaviors, simply by their existence.
And yes, I'm one of those people who like achievements.
Some people had lots and lots of tiny bugs as the nature of their job. They were always the top fixers. Others always had two or three big tasks and they were never on the board.
Some people had a large number of tasks to see to but didn't get many more bugs over the whole length of the project. These people showed up on the board as continually having the most bugs until 3-4 days before the ship date, when they'd finally whittled their stack down to zero bugs.
Your system might have worked better without the leaderboard, but with the badges?
This link explains this better: http://developer.yahoo.com/ypatterns/social/people/reputatio...
It's not about comparing yourself against others.
However, in my experience, both for software development and quality assurance (which shouldn't be separated, but generally are...), this state is not generally the case. As such, metrics tracking and acknowledgement always seem like a good idea - but never are. Inevitably productivity will seem to skyrocket for the early trial period of awards (or any metrics-based system), until the ass-kissers and numbers-experts figure out how to game the system. Then you have people over-documenting bugs, using multiple VCS commits to "fix" minor text updates (because "they occur in different areas of the code", or something equally ridiculous), and similarly wasting time and efforts just to unlock an achievement. Once this starts occurring, the same people always carry the same prize (badge, whatever), and work ethic and motivation reverts to a state that is probably less satisfying for the team than it was prior to the achievement-based system. Also, your code maintenance and issue trackers are riddled with pointless records, making troubleshooting, reporting (other than for your achievements), and code reverts require a painstaking effort.
If you have a team that collaborates well enough to keep something like this from having detrimental effects - don't waste your time. Your team is already more productive than most.
The risk you run with any game mechanics system is rewarding those who game the system more than those who dig into the deeper problems. It would be easy to lose motivation to track down a segfault when another guy earned 20 'points' for fixing 20 sufferer typos, for example.
The only way to compensate for this is to have someone actively and intensely assign priorities and estimated difficulties for each bug. Getting this right could take some time and effort, and you still run the risk of undervaluing the little bugs, etc.
I think a better system would be 'now that...' rewards instead of 'if then' rewards. Recognizing someone for their contributions after the fact has been shown to be more motivating in the long term than incentives laid out ahead of time. Public, non-systematic recognition for a job well done goes a long way.
For an open source project, sure, why not. It might make things more fun for developers or, more importantly, bug reporters. The supposed loss in productivity isn't an issue here as people are volunteering their time.
That said, all the points others are making about the risk of encouraging the wrong behavior are very valid concerns. Get people on the team -- and outside eyes -- to review the scheme before going forward with it, and expect that you may need to tweak it once or twice.
As others have mentioned you also have to make sure to not create unintended negative consequences. For example, maybe people earn a badge for fixing 5 bugs in 20 minutes. What happens then if people stop committing bugs so they can "build up" fixes and turn them in at once? What if people start creating bugs for themselves to fix? You can very easily create more problems for yourself if every angle is not carefully thought out - and even then you'll probably still create some problems.
Keep in mind I say all of this not as a game mechanics cynic but as someone whose entire startup is based around helping other people incorporate game mechanics (http://iactionable.com).
I think this is a good idea, but not for software developers. Most developers, the ones you want to work with anyway, enjoy programming and they also take pride in their work and thus will fix programming errors without any extra incentive. But it might be cool for other jobs, stuff that is less fun.
Like system-administration. /me ducks. :)
Tell you what would be good, if your config management framework automatically tracked these things for you. Some sort of international Chef leaderboard :)
I've noticed people using badges (outside of any software) during testing. Things like "I'm the bug king!" etc. I see that all the time. So building that in to the software seems like an awesome idea.
I'm on the outside looking in when it comes to talking about developers, but in my experience developer teams self-organize, coming up with their own mechanisms for positive and negative reinforcement over time. As long as that culture's working, outsiders shouldn't mess with it.
Since every culture is slightly different - one team has a build animal, another has complex rules for the buying of donuts, etc. - building a product that impacts team culture is challenging. Anything you build is going to have to be pretty customizable and flexible in order to attract a decent mass of users. For instance, in a badges-with-bug-tracking system, I'd expect the team to be able to determine which badges are used, define their own badges, upload artwork for their own badges, and perhaps have some voting mechanism around the rewarding of a badge. Even then, it's a tricky thing.
Amy Jo Kim is also a classic: http://www.youtube.com/watch?v=ihUt-163gZI
Making work into a game: http://www.adavies.org/blog/2010/03/15/gaming-the-crowd/
Note that almost all of these warn against leaderboards.
This is a pretty decent link that was on HN recently: http://pietro.open-lab.com/2010/11/09/game-mechanics-for-thi...
And the HN discussion: http://news.ycombinator.com/item?id=1886428