In the past couple of years, the concept of gamification in business has grown in popularity. Understandable, considering the potential benefits such as an increased engagement of customers and employees. In this blog, we’re going to discuss gamification, what it is, how it can be used, why it has its effects and how Mediaan can make use of it. I will also highlight the gamification proof of concept which I created in order to support the development team in the process of providing high-quality software.

What is gamification?

Gamification is the implementation of game elements in a process. This could be the process of learning, stimulating a healthy lifestyle, a work process, routine and many more. Its design is focused on stimulating motivation and it is applied to improve user engagement and productivity.

It is called gamification because the usage of motivational design is most common in the gaming industry. Game elements are designed to motivate because they have a psychological effect on users which will keep them playing the game and being engaged and entertained for hours. Hence the quote from gamification expert Jane McGonigal:

“Games give us unnecessary obstacles that we volunteer to tackle.” — Jane McGonigal 

Using gamification, we are actually aiming for the same thing; increasing a persons motivation to tackle obstacles within a process.

There are multiple ways to implement this in today’s society:

  1. You could create a product which has gamified elements to increase usage and engagement with your product.
  2. A marketing campaign can be created with gamification in order to attract as many potential new customers as possible.
  3. Gamifying your company/business processes to increase employee productivity, motivation and engagement.

For a more in-depth look at gamification and why game elements can motivate people, you can check out this project that is based on a lot of information.

Gamification is everywhere

You probably are already experiencing gamification without knowing it. For example, one of Facebook’s core features is a game element. Receiving likes is, in fact, getting points for a good post/behaviour. It motivates you to create more posts as it gets positive feedback from your social connections.

E-learning platforms like Duolingo and Khan Academy successfully implemented gamification to increase the fun and engagement of learning. This is achieved by providing challenges, displaying progression and rewarding users for their time spent learning. This results in an increased usage of the platform and users scoring higher in quizzes and knowledge tests on average.

Stay healthy!

Gamification is commonly used in E-health such as fitness apps. The desired goal they are trying to achieve is to motivate people to exercise on a regular basis and stay healthy doing so. They can measure the number of steps or other activities you do, set a challenge for you and show your progress. Almost every smartphone has these kinds of apps nowadays but also wearables like the Fitbit use this. In most cases they allow you to share your workouts on social media that will result in motivation from multiple platforms.

In the image below some gamification features of the Fitbit app are displayed.

These are just a few examples, there are many more companies like Microsoft, Google, Nike, etc. that use or have used gamification in their products, marketing, business or for their customers or their employees.

As you can see gamification can be used in all sorts of companies and markets to motivate in different ways.

Gamification to engage the Mediaan development team

Software development teams strive to deliver high-quality software. To achieve this, they can use multiple tools and techniques for support. One of those is gamification; an innovative way to stimulate teams. By adding game elements to the process of developing software we try to stimulate behaviour that is associated with personal/team growth, leading to high-quality results. Such as giving feedback to one another, creating successful software builds and making sure everything is correct before attempting to merge code.

The concept of the game

To stimulate the development team, we created a game where the software engineering tasks are the input of the game. So, if developers want to play the game they will have to perform these tasks. The better they do these tasks, the higher the scores, thus the greater the impact it will have on the game. In this game, battles can be fought, quests can be completed, rewards can be earned and more.

How does it work?

In the mock-up design above, you can see the battle screen. Your character “User” stands on the left and the enemies are located on the right. At the centre bottom, cards are displayed. These cards consist of the tasks you have performed and the points that you have earned while finalizing that specific task. The points are based on the quality of the task (how this is measured will be discussed in the following chapters).  The cards can be used to perform attacks and are only usable once. The better you perform the tasks, the more point you will earn, the more damage you deal, and the faster the battles are won.

Attacking an enemy is a three-step process:

  • Select a card
  • Select an enemy
  • Confirm the attack

Rolling the dice

Once the attack is confirmed a dice will start rolling. This dice will determine the element of your attack. The dice has five different elements that can be rolled. Fire, earth, water, electricity and 2x neutral. Based on the attack element and the element of the enemy the damage is increased, decreased or remains equal.

There is also a small chance that a ‘critical hit’ or ‘collateral hit’ will occur. A critical hit increases the damage by a certain percentage and a collateral hit will hit all enemies instead of just one.

By adding the elements, dice, critical hits and collateral hits, the amount of damage you deal is unpredictable. This sparks curiosity in users and is a game element that will increase user engagement.

Winning

If the enemy health is reduced to zero, the enemy will be defeated. When all enemies are defeated the user has won the battle.

Feedback

By giving feedback to your colleagues you can help each other to grow on a personal level and as a team. Therefore, we wanted to reward those who give feedback as well as those who ask for it.  Points are rewarded every time you send or receive feedback. Based on the score from 1 to 10 that the feedback giver selects, the points are determined. Integrating this with the system creates the possibility to reward people for it and makes you able to revisit the feedback whenever needed.

Build

Every time code is uploaded to our central storage a process starts where the code will be compiled and tests will be run. This is called a “build” and will either be successful or fail. This result will be reported back to the platform. Our goal here is to try and make this as close to a 100% success rate as possible. Therefore, every consecutive time a successful build is created more points are earned. This resets after a fail. This way we hope to stimulate colleagues to double check their work before uploading it to the central storage. 

Pull Request

In order to let multiple developers work on the same software, multiple versions of the code base are created. These versions need to be merged together again after they are finished. A merge request must be created in order to do this. When this occurs a tool will start analysing the code and will point out potential bugs and other things that might be considered bad quality. Based on these findings points will be rewarded. This way we try to incentivise the developers to create high-quality code and to check their code before creating the merge request.

The ratings that a user gets for the pull request are plotted in a graph. This way the user can see his progression over time and the areas he can improve upon. Being able to see your progression can be a huge boost to your confidence and motivation.

Quests

Another way of increasing the motivation to create quality code is by adding objectives in the form of quests. Based on their level, users receive quests and can view the progress that they are making
towards completing it. After successfully completing your objectives, players are able to select a talent that will make your character stronger in battle. Which will, in turn, increase the speed at which rewards can be earned.

On the other hand, there are quests that can decrease your level an make you lose the skill you selected. But let’s avoid that, right?

Setting objectives for a user and making them insightful makes users eager to complete them. That’s why quests are a very popular game element. In addition, being able to feel the strength of your character grow gives a sense of progression. This progression is not only tied to your character but also to you. Because you’re completing more and more difficult objectives each time.

Future steps

In its current state this proof concept is not ready for usage, but a start to the gamification platform. The concept and goals of the game, however, are clear. With further improvement, we will be able to use this tool to stimulate the engagement of the software development teams.

There are multiple ways to improve it to be more fun, effective and engaging. So we will definitely look further into expanding it. Below are some examples that could be added.

  • Customization and personalisation of your character and account
  • Multiple ways of playing the game so users can choose their own playstyles
  • Phases: Starter game/onboarding, mid-game, end-game
  • Creating unlockable achievements
  • Challenges/events
  • In-game rewards (collectables)
  • Team-based battles + team-based rewards + team vs team (creating competition)
  • More tasks that can be used as input
  • Investigating possible AI features in collaboration with our Mediaan AI Center

Aside from the features that could be added there are some issues that have to be taken care before we can actually use it. Right now it is possible to abuse the system by sending a lot of feedback or triggering a lot of builds without any real changes.

The game also requires some finetuning. Receiving rewards shouldn’t be too easy as there wouldn’t be any challenge to unlocking them. The same can be said about quests. This is something that needs to be managed when the platform goes live.