I got a chance to sit down (virtually) with Rob Conery and do my TekPub production, which aimed to show what a real-world TDD session might look like. Rob gave me some vague requirements and then set me off to coding. I know the title says "Full Throttle", but it feels a little three-quarters-throttle to me, mostly because the business area was new to me, and I (purposefully) didn't spend much time thinking ahead about the problem. We wanted this to just be a fresh stab in the dark at implementing something that I knew next to nothing about ahead of time. So, if you're hoping for one of those super-speed katas, then this isn't quite the video for you.
The thing that I really, really enjoyed about this episode is that I pushed Brad just enough to remove the “demo veneer” - I gave him a curveball about 30 minutes in where I said “Oh yeah… did I mention that we also do X?” - and he had to adjust.
When you have a mess of tests that assume one thing, then you have to shift to another - it’s a pain in the ass. But Brad handled it amazingly well - taking the opportunity to push more structure into his testing process, then one by one “transition” his old tests into the new approach.
They always say TDD is a “design process” - yet I’ve never seen it used in a truly “design-y” way - like a painter might toss color after color on a canvas until it looks/feel just right. And that’s exactly how it felt watching him.
Update: The source code is available now.