For short: BAD.
I've been thinking about this for a while and reading Michael Puleio's blog [^] [^] has made me think even more about this.
What is often referred as Test Driven Development (TDD) is actually Test First Development (TFD), which is kind of stupid taking in account tools like Visual Studio 2005 Team Edition for Software Developers (and Professional when Orcas cames out).
Now that TFD is out of the way, my beef is with the Test Driven part (or Example Driven Development (EDD) if you like other flavors). Came on, is your software really being driven by the tests? Are you really writing software just to satisfy your tests? I'm not.
Test driven development also makes you design for testability instead of designing for funcionality, scalability and other such much nicer things. And if you use tools like TypeMock.Net, you can test almost anything without designing for testability.
My software development is driven by the need to comply with requirements. How am I doing it? Assisted by tests. So, I'm doing Test Assisted Development (TAD). (Should I copyright this?)