I learned the concept of BDD in this nice book, where the authors continuously refer to it as Behavior Driven Design, rather than using the term "Development". I've been using this definition since then (and it makes sense for me, especially when combined with a Test-Driven Development cycle). However, after presenting the concept of BDD to a colleague, he googled it and found out that most of the references call it "Behavior Driven Development".

Is there a difference between the two definitions? Should I call it Behavior-Driven Development, even if some relevant sources use the other translation?

  • Does BDD help you design something? If so call it design if you want.
    – Brandin
    May 13, 2015 at 8:12
  • IIRC "Behavior Driven Design" is somewhat different from "Behavior driven development"....
    – AK_
    May 13, 2015 at 10:53
  • DDD = Domain Driven *Design?
    – Ewan
    May 13, 2015 at 10:55

1 Answer 1


Dan North and others did refer to it as Behaviour-Driven Design back in the early days, when JBehave was just a replacement for JUnit.

However, when it moved up the stack to the system level, with examples that described the behaviour of entire applications rather than just individual classes, it became apparent that it affected more than just the design, and we started calling it Behaviour-Driven Development.

So, Development is now correct, and Design is old and out-of-date. You could feasibly think of Behaviour-Driven Design practices as a subset of Behaviour-Driven Development.

  • That's unfortunate, since it's primarily a design technique, not a programming technique. The same is true of TDD, which has the unfortunate moniker "Test-Driven Development. May 13, 2015 at 13:40
  • 2
    @RobertHarvey "Development" in this sense refers to the entire software development lifecycle. Otherwise we'd have called it Behaviour-Driven Programming.
    – Lunivore
    May 13, 2015 at 14:19
  • Well, all right. But most inexperienced folks read "programming" and "development" as the same thing, and see design as architecture. xDD is mostly about the latter, not the former. May 13, 2015 at 14:33
  • Most inexperienced developers might, but it's their role that's poorly titled, since they're usually coders or programmers. I can promise that testers and analysts don't make that assumption, nor does the Head of Development in your org, and it's that person we're really trying to sell it to.
    – Lunivore
    May 13, 2015 at 18:13
  • 1
    All the more reason to not hang your hat on a word. It's kind of like telling a joke; if you have to explain it, it's not funny anymore. May 13, 2015 at 18:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.