TDD in A Philosophy of Software Design.
I’m slowly going through this book, and they have this mailing list with interesting conversations. This one was about TDD.
The problem is that TDD discourages doing good design and encourages kludgy hacking to make the next test work.
You are worried that without TDD people won’t write enough tests. That’s a fair concern. I’m worried that with TDD people won’t do enough design; I think that’s much more damaging. If there aren’t enough tests you can always go back and add more. If a system hasn’t been carefully designed, it’s almost impossible to go back and fix it.