On the one hand, I’m a firm believer in the value of test-driven development. (As might be apparent to those reading this blog.) On the other hand, lots of other people look at TDD and decide “no, thanks – too much extra work with no benefit.”
I recently saw a pointer to an old post by J. B. Rainsberger on his website, How test driven development works (and more!) J. B. uses some very simple queuing theory (and some marvelously low-tech drawings) to provide a solid theoretical background to the fact that both he and I have observed in practice: TDD results in quicker delivery and higher-quality code.