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.