3/02/2009

Nutshells: Why TDD?

So, ya need that techie-friendly quick-pick-list to explain to someone why your project simply cannot live another second without TDD? I know I did, so I created one. And I'd like to share it with you faithful readers.

Confidence & Productivity … Today

Immediate feedback, ie. "cookies": Green bars that give me full confidence in what I’m coding, or in other words, meeting requirements with decreased bugs

4 comments:

One thing I would like to add however is that since you are using TDD you will reduce the number of defects found in the code drastically. Interesting to note is that the defects that remain (in my experience) are mostly related to high level business logic and requirement interpretations. As a consequence it makes the job of the testers so much easier and rewarding since the code received is more or less free from 'normal' developers mistakes (null pointer exceptions, wrongs casts etc.) and as a tester you can concentrate on the requirements and business logic, things that are hard to test earlier since you normally only test your module and not the whole system. Or in other words, the defects that you will find are 'real' defects and not just programming typos. This will of course make the testing cycle more efficient, so it's a win-win for everyone.

I stumbled across this page from a post you made on http://www.infoq.com/news/2009/03/TDD-Improves-Quality

While your article is an excellent summary (I'm a techie by training) unfortunately I don't think it's an elevator pitch. I'm starting a business and I'm coming across the non-techie higher-ups in organisations that ask the question: "what does this mean in real money terms?" or, in the case of one customer: "how does this help me sell more cheese?"

If we talk about "coupling" or "cohesion" to these people, who may have no training/understanding of software development practice, we need to use simple, universally understandable statements that can be understood by someone looking for the cash payoff.

These people seem to get turned off by technical words and aroused by, "Hey, I'll save you 10-15% of your software development costs."

Just a thought, I hope it helps you convince more people to improve their development practices.

About MB

I dig bringing great things into the world, and sharing with other people. I've been doing various forms of bad-ass software for years, and these days I work for Industrial Logic as an XP coach/trainer, as well as write weekly for InfoQ. Frankly, I love doing this stuff, and love helping others love it too.
Twitter @ mbria