Bingo Bongo sessions for bug hunting and playing risk storming games can improve quality. Gamification supports learning, can make everyday work interesting, and strengthen team spirit.
Dehla Sokenou and Baris Güldali spoke about improving the quality of software using gamification at OOP 2022.
Story mapping and planning poker are interactive formats that improve collaboration and optimize results. Güldali mentioned that gamification adds the element of challenge:
Either teams compete with each other or individuals compete with themselves. This brings motivation to a higher level. And it is a lot of fun!
Sokenou explained how they use gamification for testing:
We organize Bingo Bongo sessions where every participant tries to find as many bugs as possible. It’s an integral part of our agile development process, very effective to find bugs and prevent delivering them to the customer. And testing - normally a destructive task for a development team - gets a positive connotation.
Güldali mentioned that playing games should be part of the daily work at the office and seen as an effective work time. In gamification, a real value is created by the creative process, Güldali said. That is why employers should give team members the freedom to play games.
Sokenou explained how gamification supports learning from each other:
We see in our bug hunting sessions how inexperienced team members learn from more experienced testers, it advances the team.
InfoQ interviewed Dehla Sokenou and Baris Güldali about gamification.
InfoQ: How would you define gamification?
Dehla Sokenou: Our definition comes from Gamification: Using Game Design Elements in Non-Gaming Contexts:
"Gamification" is an informal umbrella term for the use of video game elements in non-gaming systems to improve user experience (UX) and user engagement.
This highlights the fundamental characteristics of gamification:
- A serious context, in our world, e.g. a software project
- Elements taken from a game and used in this context, but - this is important - we do not play a game itself
- And the aim of using these elements to achieve improvements in this context
InfoQ: How have you used gamification for quality assurance?
Baris Güldali: A well-known example is risk storming by Ministry of Testing which entails elements of regular games like a game board and a set of cards. We have extended this game with a challenge element where players collect points after each game.
Players specify a test object and select relevant quality aspects from the card pack. They think about potential risks for the test object related to the selected quality aspects. The card set entails many ideas about how to test the test object to cover the risks before going live.
Our extension for gamification: at the end of the game, players vote for the highest risk and effective testing techniques. Contributors get a point for each nomination. A wall of fame documents the number of points each player in a team collected.
InfoQ: How can we keep players engaged during games?
Sokenou: Many people like to play; it is normally easy to inspire people to join a game. Problems arise when playing the same game repeatedly or introducing game elements that are not suitable for the project or the team. If you rely on proven game mechanics, the risk of rejection is reduced.
To keep games interesting, teams can do a retrospective. Inappropriate approaches should be discarded and the good ones expanded. If you do that, games will evolve over time to remain interesting.
What also helps is a reward system. When playing a bug hunting game like Bingo Bongo, we count the found bugs per team member and declare the best tester, and award a small prize.
InfoQ: When would you use gamification?
Güldali: Gamification helps if the "swarm intelligence" knows more than the sum of the individual knowledge. Interaction between team members triggers new ideas and new impulses for software quality, e.g. in analyzing a real complex bug or identifying requirements in a new unknown business context.
Sokenou: Although gamification has a number of benefits, it should be used with caution. If a team is not willing to play, then there’s no point in forcing the introduction of gamification.
Güldali: Gamification can help to set up a more friendly working environment and improve the collaboration culture in an organization. For many people, these kinds of aspects are more important than monetary benefits.