in reply to A danger of test driven development.

I think it was Knuth who said "Every software problem can be solved with more, or less, abstraction. Experience tells use which direction is correct."
(if it wasnt Knuth, I'm sure a wiser monk will correct me oh so gently....)

Perhaps for TDD a corollary is
"Every failed test requires a change to the test, or to the code. Knowledge of the requirements tell us which choice is correct."

For some reason I have an overwhelming desire to say these with a chinese accent, and finish them with ", grasshopper"

...reality must take precedence over public relations, for nature cannot be fooled. - R P Feynmann