· thoughtworks-university

ThoughtWorks University: A refactoring dojo

I facilitated a refactoring session today at ThoughtWorks University where we spent the morning refactoring our way through one of the problems the grads had to work on as part of the pre coursework.

The previous version of this session has been more structured, whereby one of the trainers worked solo at the keyboard and took suggestions from the group about which refactoring to cover next.

There are a certain number of refactorings that the session aims to introduce and the trainer would have practiced beforehand so they could make these fairly flawlessly.

I’m not really a fan of that style of session so we refactored code which the grads were quite familiar with and I was unfamiliar with.

We ended up doing 3x45 minute stints in the style of a randori coding dojo and we had one person keeping a list of the potential refactorings on the whiteboard.

The 3 stints went like this:

  1. Me always at the keyboard, people pairing with me and Frankie facilitating/controlling the whiteboard.
  2. Two grads pairing and me facilitating the session
  3. Two grads pairing and one grad facilitating the session.

We’re slowly trying to encourage the idea of the grads owning the way they learn so this was a step on the way to that.

These were some of the learnings from covering a topic in this way:

Overall I was quite impressed with how much we managed to refactor the code in the amount of time we coded for.

The only thing I’m a bit unsure about with the randori style is that it leaves a lot of people observing for big chunks of time.

The Kake/UberDojo format is one that might be more suitable but that would mean splitting up the group which wasn’t something we’d considered.

  • LinkedIn
  • Tumblr
  • Reddit
  • Google+
  • Pinterest
  • Pocket