The BDD process looks like this:

A SubjectMatterExpert (typically a business user) works with a BusinessAnalyst to identify a business requirement. This is expressed as a story using the following template:

  • As a Role
  • I request a Feature
  • To gain a Benefit

The speaker, who holds the Role, is the person who will gain the Benefit from the requested Feature.

This can also be paraphrased variously as …

  1. I want to achieve a specific Goal, and as a Role I should be able to accomplish this by performing Functionality.
  2. A Role invokes Feature to cause a Benefit.

StructureOfAProject, ProcessRationale, StructureOfAnIteration, FindingRequirements, FindingStories, DevelopmentEstimates, NextMostImportantStory, BehaviourDrivenCode, ShowAndTellSession