Gamification is the practice of wrapping an activity in a game like context to make the process more interesting. It's pervasive and examples are everywhere. At its worst it sounds like psychological warfare upon customers to increase potential for addictive or compulsive use hopefully resulting in higher profits, but there are cases where its power is being used for good.
So whats all this got to do with testing?
Well I'm not the first person talk on this subject. Jonathan Kohl discusses using quests as a means to improve test quality.
Nicola Segwick talks about using gamification of testing for volunteer testers. It's not that I disagree with these ideas, in fact, some sound pretty good. I just generally think (to quote Mike Myers) we are putting the wrong emphasis on the wrong syllable.
Priorities
Testers often struggle for credibility. We have to legitimize the stresses we put on software, we have to prove that our judgement is sound and that the orientation of our quality compass is in line with our users. In a gamified testing environment do testers get points for bugs? Is it by quantity or quality? Is it about speed? Fastest tester to finish their task gets the lightning shipper badge.
It's not that I am hung up on gamification cheapening testing as a craft. I do think it has potential to, but that doesn't mean in certain contexts it might be very helpful or that testing has to be serious to produce results. The big issue is that it makes test quality a results oriented measurement. The state of software being tested isn't fully known, it might be completely shippable at check in. How do you quantify that test effort? Was it worthless since testing didn't technically find anything? Does that mean that testing that work was worthless?
Testing is process oriented, it's about the journey. It can't be results oriented since there's no way to realistically forecast the results. Testing is about learning and discovery. Games have fixed rules and a fixed set of outcomes.
Gamification is really just window dressing, it doesn't directly improve testing. It just potentially enables a tester to engage more easily.
Engagification over Gamification
What testing really needs is deeply engaged testers. The thing is, something doesn't have to be a game for it to be engaging. We need supportive environments and tooling to foster that deep interaction and understanding.
Parity
the state or condition of being equal, especially regarding status or pay.
If you were creating a hierarchy of needs for testers, parity would be close to bedrock foundation. If you have no ability to affect change, how deeply and for how long can you engage with your product? You will just naturally check out over time.
Testers on a team need to be able to contribute to be effective. No number of prizes or points will change that...Game Over
Personas and Scenarios
The concepts of personas and scenarios actually fit nicely into gaming contexts. They are the characters and quests. They provide is a deeper context for the software. They offer a narrative that testers can plug into to get insight and share head space with their stakeholders. These are tools to be used not dice to be rolled. The difference here is they can stand on their own, they don't require gamification to be present to be useful. It's actually the opposite, games often provide a story line to maintain the gamers interest.
So rather than make a test game, build up meaningful characterizations of your users. Map those onto scenarios and apply the insight they provide to your testing. It's more powerful than a game, these tools don't just effect actual testing they make discussing and explaining the testing easier. This helps develop a common language across your team, bugs are more easily understood and prioritized and it becomes easier to ramp up new a new employee.