Game Mechanics Session – ACC Games Day

At Agile Games Day, I hosted a session where we took various game mechanics (mostly from boardgames, but some from video games) and then explored where these might be used to simulate or improve various things done in software development.

Here are the mechanics we explored (not exactly in the order we explored them):

Worker Placement

First was one I have explored extensively; the Worker Placement mechanic is useful to represent anytime people or some form of resource is being assigned to do something. It is a fairly hot mechanic in the boardgame world.

I’ve seen this played out as specifically in good stand-ups where people state they are committing to work on specific stories or tasks. A few others noted that it could be useful for other commitment actions. I’ve used this is in several of my simulation games; the most meaningful one is my OPTIMUS Prime game.

Event Deck

We also discussed that during a game/simulation we may want to have specific events occur (either positive or negative). These are best captured with some randomization (shuffling for example) or if a specific order is needed, these can be ordered (see deck building). A form Doug Alcorn mentioned was cards that are used to alter the rules – much like Fluxx; this could be useful for the effects of say a CI server or automated tests being put into play (for a positive effect) or management interference (for a negative effect).

Some events may only take effect if a player has a specific knowledge (or lacks a specific knowledge).

Another person mentioned (didn’t catch who it was) that the 8 Lean Wastes as temptations may be able to be incorporated into a deck and used as an event deck… I’m planning on noodling on this as this sounds intriguing.

Role-Playing

Another analogy I like to use is that software development is like a (cooperative) role-playing game. Team members are like characters with certain skills. From release to release is like playing a campaign, while each individual release itself is like an adventure. In these release ‘adventures’ you learn new skills or acquire new special ‘gear’ like CI, automated tests, etc. that will help you along future releases.

There seemed to be some common agreement that having character sheets might be a fun way of gamifying learning.

Power Ups

You can view these new skills or gear as Power-Ups also; a common element in video games. Mostly these are permanent in nature (which is similar to levels). Some temporary power-ups could be the temporary removal of constraints or impediments or the use of swarming to temporarily increase capacity.

Tech Tree

Much of the ‘gear’ acquired by teams that improve performance follow in a progression of sorts; this is similar to what is known as a Tech Tree in board games. An example, a team needs a source code repository and build scripts before a CI server can effectively be used.

Variable Player Powers

Where each player has a different set of powers or skills is known as variable player powers; again this is something that could be useful to simulate. The GetKanban game does this in reverse by allowing team members to work in different swimlanes, but reducing their ability to do work.

Role Selection

When you want to allow people to consciously choose a role or job they are doing that is distinctive from others, this is known as role selection. This could be useful for example when a person takes on the role say of a tester, even if they may be a developer. I personally could see using this mechanic (combined with power-ups) in a game to help show the usefulness of developing T-shaped people and we discussed developing an awareness of other roles. We also discussed using it along the lines of 6 Hats Thinking.

Simultaneous Action

Where people make decisions at the same time is known as simultaneous action or selection. If one is playing Planning Poker, the team is selecting the story point values across each member and revealing them simultaneously to see where people think complexity is. Effectively when people state what they are committing to work on during stand-up this is also a simultaneous action (of worker placement).

Other ways this plays out on Agile teams is when using a Fist of Five or Roman Vote to gauge commitment or understanding. Or silent brainwriting exercises so that people aren’t biased by answers being given (often done in retro spectives). Simultaneous surveys to people also simulates simultaneous action.

Hidden Information/Perfect Information

Some information is hidden (example: secret orders in Diplomacy) and some information is available in plain sight (example: Chess). In most cases we want to help make hidden information become perfect information; particularly if it is important to the team (known as transparency). Some areas we explored are the discovery of acceptance criteria or developing people’s journey lines or journey maps to further understanding of each other. We also discussed that this may be able to be combined with an event deck to expose additional information as events unfold.

Deck-Building

Deck-building is creating an ordered deck for play; this is very similar in nature to creating prioritized backlogs.  We also discussed where this may be useful for ordering strategy actions to possibly counter risks.

Dice Rolling

When you need to simulate a random element, rolling dice can be an effective means to do this. Multiple dice will produce average probability curves while singular dice will given discrete possibilities with the same probability of each occurrence. If you plan to use dice in a game, I recommended the highly useful site http://anydice.com

Quest Mechanic

Last, either Doug or Ryan Ripley (I forgot who) mentioned that the Quest mechanic is very useful for the actions decided from a retrospective.

Let me know if you have either useful analogies or uses of mechanics!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s