Cucumber School Lesson 9&10 is out!
On Wednesday we released the penultimate instalment of Cucumber School (well, for Ruby - the Java will be out any day now). It’s been 93 days since our last release. We’re really proud of this latest video, but we also think you’ve had to wait too long for it. I’m writing to say sorry to our customers, and to share some of what we’ve learned from the experience.
We started work on Cucumber School in October 2014, with an original aim to produce 10 or 11 episodes, producing and releasing one video per week. We shipped the first lesson on 31st October 2014 and the second one on the 11th November. We quickly realised that a weekly release schedule was not sustainable, and dropped back to 2-weekly releases around lesson 4.
Here’s a cumulative flow diagram of our releases:
You can see we managed to stick, roughly, to this two-weekly schedule until Lesson 7. Gradually, though, the schedule started to slip.
"I love deadlines. I love the whooshing noise they make as they go by." -- Douglas Adams
One of our guiding principles at Cucumber is a blame-free culture, but that still means we hold ourselves accountable for meeting our commitments to one another and to our lovely customers. That’s how we learn and improve. So we set out to understand why this happened.
The first thing we’ve realised is that the video content has turned out to be way, way deeper than we’d originally envisaged. When Julien and I first sketched out the outline for the series, we had in mind a basic introduction to the tool for novice Cucumber users. As the series has evolved it has become something more like a treatise on our view of the whole BDD process.
As we reach the end of the series, the content is getting deeper still. We had to run over into two episodes to fit the 25 minutes of content we needed to illustrate the balance between unit tests and acceptance tests. This is a challenging topic to address, and I’d love to hear your feedback about how we’ve done.
If you are a novice Cucumber user who just wanted a basic introduction to the tool and you’re disappointed, I’m sorry. We did try, but we couldn’t help ourselves. We needed to explain this stuff!
It wasn’t just the sheer size of this episode that delayed it though. Our individual schedules have been a major impediment to us recently.
Bootstrapping our business through training and consulting work means we’re on the road a lot. Weeks went by where none of us were able to get online at the same time and generate the creative energy needed to move the scripts forward.
The last mistake we made was that we reacted to our inability to meet the self-imposed 2-weekly deadlines by dropping them altogether. In retrospect, we all implicitly treated this as a signal that the videos weren’t our number-one priority anymore, and that meant they just didn’t get done. Something else always seemed to be more important.
We’ve tackled this by booking out time in our diaries explicitly for working on the project, rather than trying to fit it in around everything else.
I’ve always loathed arbitrary deadlines, but I’ve learned from this is how well a deadline helps you to focus. The trick is making the deadline realistic enough that you can actually stick to it.
Talking of which, my aim is to get the final video in the series out to you by the end of June. Promise ;)