Agile Software

Design by Example or Test-Driven Development?

Brad Wilson argues the case for renaming TDD to ‘Design by Example’ (or DbE), to emphasise the fact that TDD (and BDD, which is really just TDD done well) are about design rather than testing.

I agree with the intention, but I’m not sure I agree. I’m happy to lose the ‘test’ &ndash it’s losing the ‘development’ that bothers me. I’ve encountered far too many ‘designers’ who haven’t written a line of code in years, and I worry that they’d read ‘design by example’ as simply starting their design document with a few test cases. I’ve already seen TDD redefined as test-driven design and interpreted that way.

Of course for people who already grok TDD this isn’t an issue, but it’s not them that a name change is aimed at. Test-driven development might not be the perfect name, but at least there are already plenty of people who do understand what it really means to correct any misapprehension. The term BDD (which I use myself from time to time) has already started sowing confusion, without adding yet another.

On the other hand, anything that gets people discussing how to get the most from the practice has to be a good thing.

One reply on “Design by Example or Test-Driven Development?”

Basically leaving out the word ‘test’ in a definition is claimed to be useful for Agile Acceptance Testing as well. Gojko Adzic suggests to name Acceptance Testing as Specification By Example in order to get the buy-in from customer representatives during a requirements gathering process. The key stakeholder for tdd is – as you put it correctly from my point of view – questionable for a similar renaming.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.