in reply to
I think a goal of 100% coverage is ridiculous if taken too seriously, but I do think that
Untestable code is low-quality code.
Note that I don't say "untested", I say code that cannot be tested. As projects grow it becomes harder to introduce tests if you didn't think about testability as you went along. And there goes your quality.
But for me, the strongest takeaway from the bits I've read about XP, TDD, and so on is the principle that you should always be free to rework what you have. I think you can get it right the first time, but then time passes and it is no longer very right. If you have tests and enough support from your development culture, you are not afraid to refactor, redesign, rewrite. All in the appropriate degree, of course. Don't throw everything away as change comes. Only what you need to.