BDD inline questions

I’ve started using BDD scenarios for most things now as I find the Given/When/Then syntax great for focusing on the problem and generating questions. What I have found though is that often the questions need to be written down somewhere to ask the relevant person. Correlating the questions and the scenarios can be a pain so I’ve started putting them inline into my scenario text using a ?? notation. The format is simple:

  • ?? on it’s own: denotes an outstanding question about the preceding text.
  • word??: denotes a question about the preceding word.
  • ?option/option?: denotes uncertainty about which option should be used.
  • ?question?: denotes a question being asked.

This syntax can actually be used to write the original scenario:

Given ??
When ??
Then ?? should ??

An example of this usage might be:

Given a user on a web?? form
When the user ?enters/selects? ?should we be thinking about how the provides the data? their D.O.B.
Then the form should ??

A discussion, which could be via email or some other means than face to face, can than be had to resolve the questions using just the scenario files and the annotations to the scenarios. You could even go one step further and use something like Gollum to track the changes to the scenarios.