Sandi Metz’s Practial Object Oriented Design comes to London!

I’m delighted to announce that I’ll be joining Sandi Metz to teach two [courses on Object-Oriented design]( this summer in London.

Costs and benefits of test automation

I think balance is important. Whenever I teach people about BDD or automated testing, we make a list of the costs and benefits of test automation. The lists typically look something like this: Benefits: thorough analysis of a requirement confidence to refactor quick feedback about defects repeatable test living / trustworthy documentation frees up manual […]

How much do you refactor?

Refactoring is probably the main benefit of doing TDD. Without refactoring, your codebase degrades, accumulates technical debt, and eventually has to be thrown away and rewritten. But how much refactoring is enough? How do you know when to stop and get back to adding new features? (image credit: Nat Pryce) I get asked this question […]

A coding dojo story

It was 2008, and I was at the CITCON conference in Amsterdam. I’d only started going to conferences that year, and was feeling as intimidated as I was inspired by the depth of experience in the people I was meeting. It seemed like everyone at CITCON had written a book, their own mocking framework, or […]

Optimising a slow build? You’re solving the wrong problem

At the time I left Songkick, it took 1.5 hours to run all the cukes and rspec ‘unit’ tests on the big ball of Rails. We were already parallelising over a few in-house VMs at the time to make this manageable, but it still took 20 minutes or so to get feedback. After I left, […]


I regularly find myself explaining to people the difference between TDD (Test-Driven Development) and BDD (Behaviour-Driven Development). There still seems to be a lot of confusion over this, so I wanted to write this up for reference. Late last year I was interviewed for a virtual panel on InfoQ along with Dan, Gojko, and Liz. […]

BDD Training

Update: This training is now available as a public course, starting October 8th in London. Would you like to learn how Behaviour-Driven Development can help your company get better at software development? I’ve helped several teams learn BDD, and I’ve started to formalise the training I’ve been doing into a set of course modules. The […]