Empirical Data behind Software Development Techniques

Our friends at Microsoft Research have published four papers testing–and measuring–development ideas. One big surprise was that a company’s organization “can predict software failure-proneness with a precision and recall of 85 percent. ” It’s more important than using assertions or increasing test coverage!

Other results: test coverage isn’t a direct measure of software quality, and assertions are useful.

I was glad to see some numbers behind what I’ve experienced, that Test Driven Development increases quality. “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.” Hmm.

Exploding Software-Engineering Myths