TDD isn’t dead, nor is it the problem. TDD is a practice, a tool. It’s like a hammer. We can use TDD to build something marvelous, and we can use it to build something horrible. Unfortunately, TDD gets a bad rap because many have been vocal about using it to build software that ends up being undesirable. That’s sad, because under the right circumstances TDD can be used to build fantastic software. I’d hate to see developers abandon it altogether.