Exploding Software-Engineering Myths
Janie Chang (in 2009, via Ilja A. Iwas):
The study and its results were published in a paper entitled Realizing quality improvement through test driven development: results and experiences of four industrial teams, by Nagappan and research colleagues E. Michael Maximilien of the IBM Almaden Research Center; Thirumalesh Bhat, principal software-development lead at Microsoft; and Laurie Williams of North Carolina State University. What the research team found was that the TDD teams produced code that was 60 to 90 percent better in terms of defect density than non-TDD teams. They also discovered that TDD teams took longer to complete their projects—15 to 35 percent longer.
“Over a development cycle of 12 months, 35 percent is another four months, which is huge,” Nagappan says. “However, the tradeoff is that you reduce post-release maintenance costs significantly, since code quality is so much better.
It would be nice if there were a way to measure how long it would take the non-TDD teams to reach the same defect density. Even then, it is not an apples-to-apples comparison because the final code differs. Presumably, code with tests is easier to maintain and extend going forward.