BDD and TDD are the Same Damn Thing

October 18th, 2007

One of the terms I’ve noticed in more and more development articles and blogs lately is Behavior Driven Development or BDD. It’s a development strategy that involves testing the behavior of an application during development. This is in contrast to Test Driven Development, or TDD, which is testing the behavior of an application during development.

What’s this obsession with labeling methodologies? It reminds me of the Gang of Four’s 24 design patterns, which consist of 12 new names for “is-a”, 11 new names for “has-a”, and 1 new name for “global variable”.

Haven’t we been over this already? There’s no magic development strategy to solve all your problems. There’s No Silver Bullet. Calling it BDD or TDD or DDD doesn’t matter if it’s just lipstick on a pig. Don’t live with broken windows. Don’t repeat yourself. Don’t program by coincidence.

Sorry, I dropped into Pragmatic Programmer Regurgitation mode.

Anyway, I prefer PDD: Product Driven Development. Here’s how it works.

  1. Create your product.

If you want to call your strategy BDD or TDD or just D, then more power to you. As long as you’re Getting Things Done. Just remember that is doesn’t matter what your practices are. It doesn’t matter if you miss your daily scrum meeting, or if you have any meetings at all. It doesn’t matter if your unit tests have 99% code coverage or 90% coverage, or 0% coverage. All that matters is the quality of whatever you produce.

Leave a Reply

Name

Website

Comment