Sponsor: Do you build complex software systems? See how NServiceBus makes it easier to design, build, and manage software systems that use message queues to achieve loose coupling. Get started for free.Test Driven Development + Domain Driven Design = Behavior Driven Development Although it isn’t anything new (coined 6+ years ago), it doesn’t seem to be as mainstream in terms of buzzword/awareness. BDD is often referred to as TDD done right. Meaning that TDD is about guiding design and not just about having a regression suite. In DDD, there is the concept of ubiquitous language, which is about using the business vocabulary in the code base. Dan North is the man behind BDD, check out his intro. Or if you prefer video, here is a Google Tech Talk with Dave Astels.