I just came across this video that just made sense. Like all agile evangelist I buy into the test driven development. And like most people I find myself trading between the amount of extra work of writing tests to the actual code and implementation of the task at hand. Other issues are where to put the tests and how to organize these tests. But behavior driven development gave me some answers:

Behavior driven design, or BDD, is simply TDD done right. Instead of testing structures, connections dependencies and so on, focus on testing behavior. In fact, it’s not really about testing behavior either. It’s about designing behavior properly: Isolate behavior in your code in a testable fashion. That’s as simple as it really is!

Check it out at http://video.google.com/videoplay?docid=8135690990081075324

I see this goes well into feature driven development: 1) Identify the product backlog, 2) transform the backlog into features (object-action-result), 3) Write behavior specifications to the features, 4) implement features.