Thursday, July 16, 2009

Test Driven Development is not the same as agile!

So I was reading a recent blog post on this issue here. Here are a couple of key lines that really struck a chord with me:

  • Over the last several years managers, directors, and executives have asked me to present empirical evidence that Agile will cost them less money and take less time
This is a great question. I'm interested in data from the community?
  • A recent paper (here) published by Microsoft and IBM, showed that practicing TDD versus general unit testing reduced bug density by 40-90%. Reading this paper gave me one data point; bugs are one of the three things listed above that customers hate the most. The question is can bugs be equated to time and money?
This is really insightful and would suggest a renewed focus on eliminating bugs to reduce cost. But the author fails to include which is listed in the white paper is the associated cost of TDD. Here are the costs as noted by the paper "Subjectively, the teams experienced a 15–35% increase in initial development time after adopting TDD." Despite the increase in additional development time, TDD is worth it as the costs of fixing issues post-customer launch is very high.

Overall the author of the blog has the right idea, that TDD is the way to go! However, he seems to conflate agile and Test Driven Development. They are two distinct things. One can practice agile and not TDD and vice versa. Now we can debate whether or not you should write unit tests for "private" methods :)

No comments:

Post a Comment