As any software developer out there I hold my own opinions about programming related stuff. I also hold my own opinion about TDD (Test Driven Development).

But my opinion is irrelevant because it's just that, an opinion.

The more I read about TDD the more I find pro and con opinions that people bark at each other based on their own experiences. Again... opinions.

So... are there any studies or measurements that actually show that if you use TDD you get better quality software in a shorter amount or time (or at least the same amount of time) than without using TDD?

  • 5
    This is probably a better fit for Software Engineering. While this claim looks specific, it's really not since the answer will be different for different teams and different types of projects. There have been studies done; this blog post links to some. – antlersoft Oct 10 at 17:30
  • 3
    Opinions may be irrelevant but expert opinions are not. You would place more weight in a doctor's opinion on healthcare matters than a layman, for example. If someone has an opinion earned through a lot of practical experience and reflection that opinion is very valid. People lose sight of it these days and fall into the trap of believing that only absolute certainty backed up by abstract numbers are useful, but the day to day decisions a professional is faced with are often less a matter of objective certainty than of subjective judgement. The weight of experience is highly relevant there. – combinatorics Oct 10 at 18:27
  • 2
    This might not be the correct site for this question, but I'll jump in to say that studying s/w dev productivity, especially in-the-large and comparing different methodologies, is very difficult. It's almost impossible to design a good experiment since there are so many uncontrolled variables. Limit variables and you end up with arguably-non-representative tasks or subjects. – Larry OBrien Oct 10 at 18:44
  • 1
    Welcome to Skeptics! Please provide some references to specific claims so we are not attacking a strawman version (which is what this seems to be - TDD makes sense on a limited subset of projects where it appropriately addresses a high risk, and not on others.) – Oddthinking Oct 10 at 23:23
  • 1
    It is a question for studies or references, and I think it is more appropriate here than in Software Engineering SE. – Dagelf Oct 12 at 5:49