Mark Pearl

I am a fan of code retreats. There is so much to get from them, from the different pairings to the different constraints on each session, to just meeting different people. Today I want to mention of an exercise I came up with inspired by code retreat’s. It’s a ton of fun, can be done in under 40 minutes and will give you some insights into the quality of the code you right as a team. I call it the Extreme Code Swap Challenge.

Vanilla Code Swap

What you need

A small group of developers with an equal number of developer stations (3-5).
Identical development lanugage and IDE (or ones that everyone is comfortable) on all machines.

How it works

  • A common kata is picked for the exercise.
  • Each developer starts at their machine and is given 5 minutes to solve the kata.
  • As the time lapses someone calls time and everyone gets up from their machine and rotates to the next workstation.
  • Rotations are done blind - meaning when you come to a new workstation you cannot speak to the developer that was there before - you can only rely on the code.
  • At the new terminal you try and pick up where the previous developer left off.
  • After sufficient rotations we stop, have a mini-retro where everyone gets together to share the experiences and what is frustrating them etc.


1 Minute Feedback Rotation

A slight variation on this is that when you hit a rotation point, you are allowed 1 minute to explain to the person coming in where you were going with the solution.

Learnings from the exercise

Some of the learnings I got from the exerise:

  • Initially there seems to be a fair amount of pressure to ‘solve’ the problem.
  • After the second rotation you start looking at how you can make things smaller so that people can see the direction you are going.
  • Expressing intent is hard, and the further you get into the problem the easier it is for people to pick things up.
  • Having tests passing helps get intent across, nothing worse than picking up someones solution and no tests are passing.
  • Making the intent clear becomes an important factor.

blog comments powered by Disqus

Want to get my personal insights on what I learn as I learn it? Subscribe now!