After my BDD tutorial at XP 2011, some attendees asked if I could write up a list of the review questions I asked afterwards. I asked them because they reflected on the things that I hoped the attendees learned, and to get feedback in case they hadn’t. As it was, they answered these questions very well!
I’ve rephrased these questions slightly because the attendees had more context… and included some which I wish I had asked!
- Why is BDD not focused on testing? What is it focused on instead?
- How do we typically phrase scenarios?
- Why do we focus on user and system capabilities in scenarios?
- What’s more important than writing down or automating scenarios?
- What’s the difference between a ‘Given’ and a ‘When’?
- Why do we split features into stories?
- Why don’t we create scenarios for every user story up front?
- What are the different granularities of requirements in Feature Injection and BDD?
- Why do scenarios, of all the granularities, get so much attention in BDD?
- How do the principles of Real Options play into BDD?
- What single word was important to the start of BDD, and why?
- Who should meet up to talk through scenarios before implementing the code?
- Why do we want to get feedback quickly?
- Can you give me an example of a stakeholder that isn’t a user?
- What’s Context Questioning?
- What’s Outcome Questioning?
If you’d like to know more about how I answer these questions, I’ll be running introductory BDD tutorials later in the year at a few conferences, including Agile 2011 (August, USA) and Agile Testing Days 2011 (November, Europe). The tutorials include aspects of Real Options, Deliberate Discovery and Feature Injection, and focus on analysis, conversations and creating useful scenarios far more than on the tools.