The previous post talked about innovation “games”, using techniques and approaches to get to problem resolution. Lately the term “gamification” has been used more frequently and I’m sure you also heard of the serious game theory.
First let’s clarify and differentiate a few terms, they are many definitions around and some contradict each other, the ones from Linda King (http://blog.g2g3.com/2012/04/understanding-difference-between.html) seems to be the more appropriate (my opinion):
Gamification is all about applying game elements (the ‘DNA’ of games) to non-game activities. It’s about making ‘normal’, day-to-day activities more compelling. Gamification leverages ‘game mechanics’ such as points, levels, badges and achievements to create engagement and interest. Gamification is starting to be taken seriously across our industry and vendors are sitting up to take notice (Note: See recent articles by Gartner, Forrester, New York Times and Harvard Business Review to name a few).
Serious games use traditional gamecraft techniques (for example video game technology, Kinect, strategy) around serious concepts such as business, education, environmental or social issues. These can be used to 'bring to life' powerful stories around IT concepts such as cloud, virtualization, ITIL and more, for the purposes of awareness, education and marketing. Some advocates of serious games, for example Jane McGonigal, believes games such as these can ‘change the world’. (Note: I like to add the idea of problem solving/resolution like using card games – e.g. planning poker if you are Agile).
Simulations are real and immersive games which offer an experiential educational experience. Simulations place people in a risk free environment which supports their engagement in an authentic experience which contextually demonstrates benefits and consequences. (Note: Think “flight simulator”).
The rest of the post will be focusing on gamification and serious games and how they can be applied by software development organizations.
In the context of software development, we can think of a few examples of serious games, using cards: Planning poker, Elevation of Privilege threat modeling, or using Monopoly money: $100 test, Buy a feature. They are mainly used in group dynamic to facilitate the problem solving process, they can help answer questions like “Are we developing the right features?”, “What will be the cost of this feature?” or “What should be the order in which we complete the work?”
As for gamification, it is about improving software development organization, understanding that if we improve the practices, we will more than likely, improve the business itself (make it more efficient, effective, less costly, etc.). Gamification provides the mechanisms to ensure that, as a software development organization, we are improving, and that people are engaged in the process. It can help answer questions like “As a development team, how are we doing at improving quality?”, “As a development team, are we improving our practices?”. You can think of those as standard measurements concepts, i.e. things you would find in a typical performance management plan, but, as stated before, gamification brings a different aspect to measurement: the “game mechanics” of points, levels, badges and achievements, but more importantly the concept of “healthy” competition, i.e. I want more points, badges and achievements than the other team. That’s what makes it a game. However, gamification should be about improvements (“We had no point last week, we have now” and “How do we compare to the other teams?”) not about getting the highest score or reaching a particular target (“We need to get to 10 points”).
In his book, Sam Guckenheimer refers to a “peer pressure table” when he explains the improvements that some of the Microsoft teams went through during the last few years. Showing progress of teams on one table, making them visible and transparent to the organization. Which are key components of performance management plan, and gamification.
A challenge, we find, is when as part of the same organization, software development teams, use different methods, processes and tools, e.g. Java teams and .Net teams, Waterfall and Agile, Microsoft and non-Microsoft tools to support the quality process, etc. How do you compare apples with apples? How do you aggregate the information so you make it visible and transparent? One of the challenge will be finding common denominators between teams, another will be the tool used to consolidate the information.
Some good news, Visual Studio can help! In January 2012, many blog entries talked about visual studio embracing gamification and introducing a new plug-in, bringing achievement badges to the development cycle.
There are 32 achievements with six categories and corresponding badges.
Each time you earn a badge, a unique page is created with your profile picture, the badge and a description. You can tweet about achievements, share them on Facebook, and show a list of achievements on your blog using the Visual Studio Achievements Widget. Making achievements visible and transparent.
The plug in is a good start, it will get team members engaged in the process of improvement, having fun trying to earn as many badges as possible before they colleagues (but watch for cheaters and hackers :) ). Hopefully the community will embrace the idea and will start to leverage and expand the plug in and add things like team achievements (as opposed to personal achievements).
In conclusion, both serious games and gamification can help improve software development organizations, but they serve different purposes, and they still need to be aligned with business objectives. Also, typical concepts of performance management still apply when leveraging gamification: transparency, visibility, team vs. individuals, etc. and that more importantly you first need to understand what has to be improved, therefore measured.
Visual Studio Achievements Program Brings Gamification to Development: http://blogs.technet.com/b/microsoft_blog/archive/2012/01/18/visual-studio-achievements-program-brings-gamification-to-development.aspx
The coding game: Microsoft’s Visual Studio gets badges, achievements and leaderboard http://www.geekwire.com/2012/coding-fun-microsofts-visual-studio-badges-leaderboard/
A summary presentation: http://www.slideshare.net/gzicherm/karsten-januszewskifinal
What some are doing: http://schneide.wordpress.com/2012/04/16/gamification-in-software-development/
Ideas for “badges”: http://blog.whiletrue.com/2011/01/what-if-visual-studio-had-achievements/
Show me your badge by Kevin Carey
How Deloitte Made Learning a Game by Jeanne C. Meister
Serious games - http://en.wikipedia.org/wiki/Serious_game
Examples of company leveraging gamification (include examples from Linda King’s posting and Harvard Business Review Blog):
- Have you noticed the badges on Bing if you are logged in?;
- ServiceNow have some interesting case studies around the positive outcomes achieved from incorporating gamification alongside their tool;
- InvGate have recently launched gamification features to add value to their service desk software;
- Deloitte made learning a game; and
- Many more.
Examples of company leveraging serious games (examples from IBM Service Management Serious Game by Eliane Alhadeff):
- Hilton Garden Inn using a PSP-based training for front line employees;
- “Zero Hour” developed by GWU and Virtual Heroes to train EMS workers in disaster-response skills;
- Cisco, WakeMed, Farmer’s insurance; and
- Many more.