Before work starts on a feature or story, Agile teams come together to talk through the requirements. Some teams have these conversations during Backlog Refinement or Sprint Planning sessions, while others have dedicated requirements discovery workshops. The aim of these conversations is to understand, define, and agree on the acceptance criteria of the features (or User Stories) that the team intends to work on.
Teams that practice BDD have conversations about concrete examples and counterexamples of business rules to come up with these acceptance criteria. In terms of the BDD cycle we saw in chapter 1, these conversations are common during the Illustrate phase, the second part of the requirements discovery process that starts with the Speculate activities we saw in the previous chapters.
While this makes perfect sense in theory, many teams find that having these conversations is not as easy as it might seem. People don’t always ask the right questions, they get side-tracked, and the sessions can drag on without seeming to go anywhere. As a result, many teams find it a challenge to run these sessions as often as they should or find that they aren’t anywhere near as productive as they would like them to be.