Ben Mabey just posted a really good deck of slides on Story Runner and Behavior Driven Development (BDD) from a recent Utah Ruby User Group meeting.
Don’t be overwhelmed by the 99 slides. It moves really fast, and walks you through the history and concept of BDD.
Perhaps my favorite concept from the slide show is “Design is a Process, not a Phase.” As I have embraced Behavior Driven Development, I have seen improved software design come from the process. I believe this is true because writing the specs help create a clean public interface for your objects and classes. By having the tests that verify the behavior of your code, you can easily refactor without the worry of unknowingly breaking desired behavior.