When you need to light a fire with your developers to inspire productivity, sometimes a little game-centric competition can do the trick.
Developers are a competitive group of people. And given that development projects absolutely depend on teamwork, it is sometimes necessary to emphasize this competitive nature. It's not that you want to pit your teams against each other in such a way that it can negatively impact productivity, but adding a fun sense of competition into the mix can really do wonders for productivity. Previously, we explored the benefits of play-centered design as an approach to projects. Now we'll look at how gamification can motivate and keep developers focused.
And considering how many programmers are also gamers, adding a little competition to your company's projects can really make a difference. Not only can this help improve productivity, but it will also have a direct (and positive) impact on your team's ability to communicate and collaborate. Think about it: Once you have a little inter-team competition, each team will have more incentive to improve intra-team communication and increase their collaborative skills.
After all, doesn't teamwork make the dream work? And what better way to make those dreams come true than to add a little fun into the mix?
What is Gamification?
Gamification is exactly what it sounds like: adding game elements into a non-game environment. We do this all the time in many types of environments. You can inspire your children with some competitive tasks. Whoever completes all the tasks for the week the fastest wins a prize. This prize could be something small or a little more. The important thing is that you inspire those involved to work more efficiently and productively, in a way that doesn't make you appear to be making impossible demands.
And this is one of the most important aspects of gamification. If you try to inspire your developers to get their work done in a timely manner by simply reminding them that this is what they are paid to do, you may find yourself with a revolt on your hands.
On the contrary, if you applied a bit of harmless (and fun) competition (especially with some kind of prize for the winner), you would find that your developers would be more inclined to fulfill the requests.
After all, shouldn't that be the goal? You don't want to simply demand that your employees do what you ask of them, as this will only lead to increasing levels of burnout. If you want to keep these rock star developers on the payroll, you're going to have to approach them a little more carefully than you would otherwise. Remember that developers can be a difficult group to inspire.
To make this even more appealing, when you gamify work you will find these results:
- Teams will be more willing to follow the lead.
- Those with better skill sets will rise to the top.
- Those who are best able to serve in support roles will become obvious.
- Patterns will emerge that you can use later to help improve productivity.
- Interaction partners will emerge that can help improve collaboration.
- Goal setting will become more reliable and repeatable.
- The team organization will improve a lot.
- Communication within the team will skyrocket.
But how do you apply gamification?
There are several ways to add gamification to your projects. Most of these ideas are quite simple to implement and shouldn't cost your company anything.
Leaderboards
One of the best ways to motivate your teams is to classify them by productivity or activity. With a leaderboard in place (either online or physically posted in the office), your team members will have a quick view of which team or team member was most productive during the week, month, or even sprint. The leaderboard should incorporate a points system (which should be designed by you or a member of management) that simplifies the process of rating developers.
For example, for every task completed on a project, a team or team member receives X number of points. At the end of each day, points are tallied and a new member can climb to the top of the leaderboard.
Badges
This is similar to the leaderboard, only instead of changing daily, team members compete to earn badges. For example, when a task in a project is completed, the team or team member receives their task badge. When a team completes a project, they receive the project badge. When a team iterates a release, they receive their iteration badge. These badges serve as bragging rights for team members, which encourages productive competition.
Levels
The levels are exactly what they sound like. Each team or team member works to “level up” as they complete different projects. A team can start at Level 1. Upon completing its first set of tasks, it moves to Level 2. This continues until a team (or team member) reaches the highest possible level. This may also be tied to annual bonuses or raises. Additionally, when a developer “levels up,” they may be given more challenging tasks or transferred to a different team.
Progress Bars
Progress bars show where each team or team member is in the progress of a project. While it's very easy to view a Kanban board to get a quick look at a project's progress, posting progress bars around the office for everyone to see gives it a gaming quality that will inspire friendly competition between teams. As each team completes a task in the project, their project bar advances one point. This makes it obvious which teams are being most productive and which are lagging behind.
Rewards
Rewards are at the heart of gamification. While you might think that many of your developers find enough inspiration from seeing progress bars, badges, and leaderboards, you can get more out of everyone if rewards are implemented. Rewards should be proportionate to the progress made and should not be seen as a participation trophy. You can buy the team at the top of the weekly leaderboard lunch at the end of the week. At the end of the month, the team with the most badges will be able to receive a paid three-day weekend. At the end of the year, the highest level team will be able to receive an extra bonus in their paycheck.
The important thing is that you make these rewards valuable to your teams and, at the same time, not make them so important that you have to constantly outperform yourself until you can no longer afford to hand out rewards to the most productive teams. Rewards can be simple, even silly gifts that shouldn't cost much. Even a silly trophy with a good dose of pomp and circumstance to increase its importance can do the trick. Be creative with your rewards; make them fun and desirable for your team members to achieve and their value will increase enormously.
The warning
One thing to remember is that gamification should be fun. You don't want to create a cruel environment that can undermine morale or pit teams against each other. Maintaining this fun will ensure it doesn't get out of hand. To do this, you'll have to spend some time understanding your teams, what motivates them, and how best to reward their efforts without it feeling like a bribe or something your employees start to expect.
If you don't imbue it with a sense of fun, camaraderie, and playfulness, it can easily get out of hand. If, however, you play your cards right, gamifying projects can greatly increase productivity, collaboration, communication, and fun. All of this amounts to a pleasant work environment that will not only help you retain employees but also serve as a good incentive for other rock star developers to join your team.