Friday, October 9, 2009

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


  1. i like your summary about TTD: 1/3 to 1/10 the number of bugs but takes longer to code. i'm trying to find the right tradeoff between testing and development speed and I'm finding the same result: it takes longer but it finds bugs...

  2. Really great ideas. I like every example. Just might have to try these...
    more template