How to combine Behavior Driven Development and Scrum
Going to production more often means less time to make sure new features don’t cause any trouble. Validating everything manually in a short amount of time seems impossible and prone to errors. Moving from waterfall to Scrum requires another approach: Functional tests that validate the software does what it’s supposed to do, automatically. That requires the process to change, too:
The refinement
Unclear specifications can cause bugs. Writing the specifications during a refinement session is inefficient and time-consuming. The following process describes how to get an efficient refinement process that yields clear enough acceptance criteria:
- Start by writing the story from a user perspective. Use the user story template:
“As a …”
“I want …”
“So that …” - Write the acceptance criteria. Write specific, testable acceptance criteria. Make sure they’re SMART.
- Make sure everybody understands the acceptance criteria. Plan a 20-minute example mapping session for every user story. Come up with examples for all the acceptance criteria of the user story and discuss them with the product owner. Save the example map, maybe add some notes, and translate those into specifications during the sprint.
- When the team has a shared…