How to combine Behavior Driven Development and Scrum

Albert Starreveld
5 min readSep 23, 2019

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:

What the definement process looks like
  1. Start by writing the story from a user perspective. Use the user story template:

    “As a …”
    “I want …”
    “So that …”
  2. Write the acceptance criteria. Write specific, testable acceptance criteria. Make sure they’re SMART.
  3. 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.
  4. When the team has a shared…

--

--

Albert Starreveld

Passionate about cloud native software development. Only by sharing knowledge and code we can take software development to the next level!