Jacob Proffitt has some comments about the the paper on the effectiveness of test-first approach to programming.
Here are a few excerpts:
If you're like me, you understand the problem better after implementing it and can thus create more relevant tests after the fact than before. I know better where the important edge-cases are and how to expose them and that could mean that my tests are more robust.
Anyway, without question, testing first leads to having more tests per functional unit. The question is if this is valuable.