My copy of Test Driven Development: By Example just arrived yesterday, and I’ve dug in.
So far, in the first few two chapters, one persistent question of mine as been answered: “Why do I have to write all these bad implementations all the time, and then fix them afterwards?” In previous TDD sessions I’ve been to, this has always been how TDD was presented; as a series of “too small” steps of improvements. Right away, he talks about “Obvious Implementations”, and how there’s a continuum of step-sizes that you’ll want to do while practicing TDD. Some days, you’ll want to be making very tiny steps, and some days it’ll be appropriate to make larger steps.
Fantastic book so far!