tl;dr; here's part of a workshop
This exercise, like many exercises used with testers*, encourages people to discover rules** and build models. I last used it in public at Tony Bruce's excellent London Tester Gathering, and continue to use it at corporate clients. However, unlike most of my stuff, it doesn't involve software. Over the years, I've built up a small collection of bits of landscape. My assembly of palm-sized stones generally adorns one of my monitors in the studio, but occasionally has a second life in workshops. The exercise in which I use them is fun and seems valuable, so I thought I'd spread it about.
In a nod of respect to Johanna Rothman***, I call this exercise 'Bring Me a Rock****'.
Here are my instructions:
Set our your stones somewhere where everyone can see and get at them.
Pair up the workshop participants. If you have an odd number of people, pair up with the oddest yourself...
- Both of you: write down something to identify a rock. Keep it secret.
- Become ASK and FETCH.
- ASK says "Bring me a rock"
- FETCH brings a rock.
- ASK accepts, or rejects the rock, based on the secret they wrote down earlier.
- This continues until ASK accepts a rock
- When ASK accepts a rock, FETCH proposes a model
- If FETCH is wrong, swap roles.
- If FETCH is right, ASK writes down new criteria, and FETCH brings another rock
- carry on...
- find a new pair if bored
- observe how you are modelling your partner's models
The exercise is fun, but gets a lot more valuable when the participants talk about it afterwards. My approach is to:
- discuss the different approaches to test and discovery
- pay special attention to the way that patterns are set up and broken
- apply learnings about discovery and patterns to testing
- avoid too much time spent talking about the different rocks
There's a little fiddle in the instructions that I'd like to draw your attention to. I'm sure you've noticed that the ASK role has a higher status than FETCH. With this in mind, it seems odd that FETCH should stay as FETCH if they correctly predict ASK's model. A playground sense of fairness means that the roles should swap on a 'win'. Do play it this way if you want to. However, I find that swapping on 'lose' introduces interesting, more subversive*****, behaviour. Say hello to the Imp of the Perverse.
If you run an exercise like this, please feel free to change stuff. Also, I would love to hear how the exercise worked for your group. Finally, I'd be grateful if you'd give participants a link to this post.
* I've commonly heard of 'mastermind' being used, but some notable testers use more mutable approaches with lots of rule exploration and discovery. Michael Bolton told me of his new coin meta-game the other day, James Bach and other use cards and dice. If you're a tester interested in games, you'll certainly need to watch Dale Emery and Elisabeth Hendrickson – and try to get along to Elisabeth's Agilistry Studio one of these days.
** There's a whole class of games whose purpose is the discovery of rules - here's Wikipedia's living list of Games with Concealed Rules. You might also want to have a look at Nomic. Nomic's rules aren't concealed, but their evolution is the game. There's a blog post about this around here somewhere...
*** Johanna Rothman's seminal article should be read by all: http://www.jrothman.com/Newsletter/Bringmearock.html
**** Some are smooth, some rough, some round, some flat, some solid, some holey. They're all sorts of different colours and sizes. One is incised with the work 'luck'. One is (was) a plum. Take your pick.
***** ie subverting the game, not each other. I find this approach rewards just-about-guessable reasons for picking a rock, so ultimately this helps people in the pair co-operate in in the learning, rather than allowing one party to stay in the high-status position just by being wilfully obscure. I'm proud of this wrinkle. You might think it's dumb. Your choice.