By comparing 4 similar projects at IBM and Microsoft, a paper has published what they say is empirical evidence that TDD works.
That is, the investment in writing unit tests before code ends up being repaid by spending less time fixing defects. According to the study, the teams reported a 15-35% increase in initial development time using TDD. However, the teams experienced a 40-90% reduction in defects per thousand lines of code. All teams agreed that the time saved in fixing defects offset the initial time investment.
Read more about the paper at InfoQ.