Finally, driving your design from your specs is fun! Tackling a big problem all at once is hard and tends to give us a bad case of “programmer’s block.” TDD encourages us to break things down into small, achievable steps. It’s almost like a game: First, we come up with an example exposing a behavior the code doesn’t yet implement. Then, we implement the behavior to make the specs pass. It’s a constant stream of satisfaction.

