Realizing Quality Improvement Through TDD

I was talking TDD with Doug Seven at Tech-Ed last week. He gave a great presentation on Agile Development with Team System 2010. Afterward we were brainstorming on ways to get people to write unit tests. We both agreed that it has to be understood and driven by management. While we may never get management to understand the intricacies of unit testing or the discipline of TDD, but we may be able to appeal to their desire for software quality. On that point, Doug guided me towards this document on Microsoft Research from January 2008.

The authors (Nachiappan Nagappan, E. Michael Maximilien, Thirumalesh Bhat, and Laurie Williams) conducted case studies with three development teams at Microsoft and one at IBM that have adopted TDD. The results of the case studies indicate that the pre-release defect density of the four products decreased between 40% and 90% relative to similar projects that did not use the TDD practice. Subjectively, the teams experienced a 15โ€“35% increase in initial development time after adopting TDD.

Finally, some empirical evidence supporting the practice of TDD.