3 ms·
"Making Software" [1] has a chapter called "How Effective is Test-Driven Development?" where they do a meta review of 32 clinical studies on TDD pulled from 325
by e1g 12y ago
"Making Software" [1] has a chapter called "How Effective is Test-Driven Development?" where they do a meta review of 32 clinical studies on TDD pulled from 325 reports. They filtered out reports based on scientific rigour, completeness, overlap, subjectivity etc, and ended up with 22 reports based on 32 unique trials. "TDD effectiveness" was defined as improvement across four dimensions - internal code quality, external system quality, team productivity, and test quality - and each dimension is strictly defined in sufficient detail.
They report that high-rigour studies show TDD has no clear effect on internal code quality, external system quality, or team productivity. While some studies report TDD has a positive impact, just as many report it has a negative impact or makes difference at all. The only dimension that seems to be improved is "test quality" - that is, test density and test coverage - and the researches note that the difference was not as great as they had expected.
The chapter concludes that despite mixed results, they still recommend trialling TDD for your team as it may solve some problems. However it is important to be mindful that there is yet no conclusive evidence that it works as consistently or as effectively as anecdotes from happy practitioners would suggest.
The meta-study is relatively short and can be read online [2].
[1] http://www.amazon.com/Making-Software-Really-Works-Believe/dp/0596808321 http://www.amazon.com/Making-Software-Really-Works-Believe/d...
[2] http://hakanerdogmus.net/weblog/wp-content/uploads/tdd-sr-book-chapter.pdf http://hakanerdogmus.net/weblog/wp-content/uploads/tdd-sr-bo...
- steveklabnik 12y agoCoincidentally, I am currently reading that book, but had not gotten to that part yet. Thanks!