Awesome!

# In Specific:

## Presentation of Pairing Games

The meeting started with a good presentation by Moss & Laura from Cyrus Innovation[1]. The presentation was their “Pairing Games As Intentional Practice” talk which they will be giving at Agile2010[2]. The talk was good and had interesting ideas about playing games with pairing like one might play games with coding katas etc. e.g. Do the pairing with some specific restrictive rules such that lessons can be learned; activities practiced etc. They presented several games (Socrates, Silent Programming) they have thought up along with the classic Ping Pong; and guided us in the creation of our own game (One Minute Switching).

We put some of these games into practice when we went on to do a coding kata. I think it would be very beneficial to have the game playing in the session; but their slot does not afford this. I suggested that they us an Open Jam[3] slot; they could announce it during their talk and then guide the games during the Open Jam. New games could be developed as well. I’d love to hear about any new games that are developed.

## Coding Kata with Pairing Games

After the presentation, and pizza we worked on the Tic-Tac-Toe kata. We had five pairs and decided we’d try out some of the pairing games.

### The One Minute Switching Game

We started with the One Minute Switching we had designed in the session. The intention is to keep momentum going by setting a fast pace of switching pairs every minute. The pace was relentless and unforgiving! Every time we’d start something we’d switch. I thought it was a great game; it gave an urgency to all decisions and actions; but definitely not something to do for too long.

The retrospective brought out similar feelings from the other people.

### The Socrates Game

We switched and I got to pair with Abby [4]. I am so happy to get to hang out with Abby again even if for a short time; she is so full of energy and great ideas. This probably helped making this paring session really ‘click’.

Our game was the Socrates game which involves the Navigator asking questions of the driver who must answer them after researching in the code; or by changing the code to answer the question. The group decided that the new person to the pair would be the Driver as it would facilitate them learning the ‘new’ code. It worked well; but all pairing groups eventually move away from this game and went to a more standard paring style after an initial use of the game.

Our retrospective on this game brought out the thoughts that perhaps with so little code to learn/research the game was not well suited.

### The Silent Programming Game

This was the ‘hardest’ game. There are two rules:

1. No talking
2. Switch after three minutes if you haven’t already switched.

It was very hard for me to not want to just rip the keyboard away from my paring partner every second. I felt I monopolized the keyboard too much in this case. It did not help that my partner was not familiar with C#/VS2010 which we were using on this machine.

The retrospective brought up the point that perhaps this game works best when the knowledge level of the pair partners are roughly equal and they both have a good understanding of what needs to get done in the next roughly 30 minutes.

### My Quick Retrospective on the Code Katas

I think for the future we should spend a few minutes to set up the initial code needed so we have a failing first (generically named) test. Basically just something that says

public void aTest()
{
assert.Fail("test something here");
}

One or two ‘iterations’ of the One Minute Switching game was spent just doing this; as several of us were not entirely familiar with the IDE etc.

On the other hand the One Minute Switching game was great for this; all choices of the setup needed to be done quickly as the clock was ticking!

I also liked the quick retrospectives after each pair switch. This helped me learn a little from each paring session.

# In Conclusion

This was a good session. The Presentation was good and I want to hear more about it. If you are going to Agile2010 consider going to this session.

This was especially great for me because I have limited/no opportunity to pair program in my day job. I find the practice engaging, challenging, and even fun. I’m glad I got a chance to do some tonight.

Footnotes:

[1] @moss & @lgdean on twitter; www.cyrusinnovation.com.

[4] http://thehackerchickblog.com/ and @HackerChick on twitter.

@boston_sccodekatapairprogrammingsoftwarecraftsmanshiptdd