At least on the surface, TDD seems to require additional work, because you need to write tests, etc.. Presumably this work is justified because it saves work later on.
If someone told you the amount of work required to write tests wasn't justfified, as many newbies do, what would you tell them? Hopefully you wouldn't say to write lots of tests because everyone else does it, but rather because you have some evidence.
Can you cite any studies showing work savings?
Realistically, there are probably some cases where the amount of work is not justified, and others where it is completely justified. Obviously, the cost of any errors would have a strong impact on this, since some errors (imagine code controlling an airplane) are very expensive while others may have little cost.
Further, TDD becomes more useful as team size grows. That may or may not be enough to justify its use.
Besides citing any studies, what are the determining factors for making TDD worthwhile?
2007-04-03
13:43:21
·
1 answers
·
asked by
Tom D
4
in
Computers & Internet
➔ Programming & Design
Thanks Vegan -
I agree that TDD provides some benefit, but I prefer to make evidence-based decisions. The best way to make decisions is ones that are based on data. There are plenty of practices that seem like a good idea that, when analyzed, turn out to be less than effective.
Frequently our ideas about how efficacious a practice is will be influenced by things like popularity or how 'hot' it is at the moment.
The best way to make effective use of your time is to spend it on the action that will provide the highest return on investment - that might be TDD, or it might be something else.
2007-04-03
17:10:05 ·
update #1