The ultimate goal of Legacy Code Retreat is to practise rescue techniques in a low-stakes environment away from the code base that probably torments you at work.
Legacy Code Retreat

So, what is a Legacy Code Retreat, anyway?

We invite a group of programmers together for a day, give them some legacy code, and help them practise various design rescue and improvement techniques. The ultimate goal is to practise these techniques in a low-stakes environment away from the code base that probably torments you at work.

Which techniques do you mean?

We don’t have a complete list, but most of our techniques revolve around creating and identifying seams in software (places where we can decouple tightly-coupled modules). You will try adding tests, isolating behavior from frameworks, introducing mocks, writing characterisation tests, and some other things we haven’t thought about yet.

What’s the format?

4-6 sessions at 45 minutes each, after which you will throw away your changes and start again.

So, it’s a Code Retreat

So far, mostly yes. The difference is that we have starting code bases for you, rather than asking you to start with a blank slate. Also, we are using the Code Retreat format to teach specific techniques, so we guide your practice more like a (karate) dojo than Code Retreat does.

Will there be pizza?

Never. Only real food. And perhaps beer. Real beer.

Which languages and platforms?

So far, Java, C#, Ruby, Python. We will need some help for code bases in C, C++, Perl. Even SQL is an option. We remain open to suggestions.

OK, now that we've answered some of what we think are your questions, we have some of our own. Please take 30 seconds to tell us where we should run the next Legacy Code Retreat.