Here is information to run this workshop.
To optimize time usage during the workshop, it's a good idea to send preparation homework to do before the event. It consists mainly of preparing the dev environment and maybe starting to think of which constraints to work on. Here is a typical communication.
Here are 2 agendas that you can use to run this workshop:
The pedagogy for this workshop relies on a few principles:
We are trying to maximize self-learning as much as possible in this workshop. That's why there is a lot of time reserved for coding. We also borrowed techniques from Training from the Back of the Room
[Copyright:Training from the Back of the Room!, by Sharon Bowman]
We want this workshop to be hands on. In order to maximize the practice time of attendees, we want them to group in smaller pairs or mobs. For example, you can have an audience of 20 people form 10 pairs. Most of the work will be done while pair programming. At some point, everyone will meet again to share the learning.
Pairing and mobbing will also act as a kind of 'Paired Teach Back' activity all along.
For such a workshop, favor the simplest pairing or mobbing scheme you can find, just make sure there is at least one person who build and run the code in the mob.
The goal of the code retreat format is to let participants try different techniques at the same problem (or the same technique at different problems), and retrospect after each iteration. This workshop provides the maximum learning benefits when you can have multiple iterations, using all the different techniques on the problem.
Here are 2 facilitation flavors depending whether you are all co-localized, or all remote:
The workshop follows a particular narrative. It is very important to stick to the agenda. Time lost at the beginning is eventually taken from the last activity, which is where people finally 'get' the power of Test Data Builders + Mikado Method.
Time-boxing is preferred way to go. Activities don't rely on the code written previously, so people can start the next activity even if they did not finished the previous one.