Is TDD Controversial?

Tuesday, October 16, 2007 8:27:51 PM (Romance Standard Time, UTC+01:00)

If you attended the JAOO 2007 conference, or follow the Test-Driven Development community you may have heard of Jim Coplien and his arguments about why you should not use TDD. I believe that Jim said something like "TDD will deteriorate your design", and it made me ask myself -- Is TDD a controversial topic?

So is it? Not if you ask me. If you rewrite the original Red-Green-Refactor mantra from TDD, into "Spec. the feature" > "Implement it" > "Reduce technical debt", it seems to make quite a lot of sense. In fact, I don't really see any other way you could work and maintain your professional integrity!

So is there any risk of bad design or architecture as a result of using Test-Driven Development? Well, only if you neglect that refactoring is a continuous activity of TDD. If you refactor (small and large refactorings) on a continuous basis, I simply do not see how you could have a design- or architectural meltdown. If anyone experience this, I seriously doubt that TDD is the root cause of their problem.

Check out Roy Osherove's blog entry on the topic here.

By Sune Gynthersen