BDD in Scrum
Hi all,
Anyone wants to share their experience in using BDD (Behaviour Driven Development) practices within Scrum teams? I'm more interested in what happens when. When do you write your features/scenarios? Are they discussed in grooming sessions? How are they related with the acceptance criteria?
Since we don't want to divide team members with strict job definitions in Scrum, how are these tasks in BDD processes shared by the PO, SM and Dev team?
Thanks
Ilter
HI Ilter - I have seen it done a few ways. One team writes their Acceptance Criteria in Backlog Refinement using Gherkin (Given...When...Then), and then the developer(s) working on the PBI writes the feature file during the Sprint. Hence the BDD test becomes the acceptance criteria. I know of another team that writes acceptance criteria in English and a few bullets, and they wait until the Sprint to have a (Three) Amigos conversation between Product Owner and developer(s) before writing the feature file.
There's no one right way. While I prefer waiting until the last responsible moment and writing it in the Sprint, my suggestion is to ask the developers their preference and inspect/adapt.
Since we don't want to divide team members with strict job definitions in Scrum, how are these tasks in BDD processes shared by the PO, SM and Dev team?
This is really work shared between the PO and Dev Team. The PO is usually involved in the collaboration and conversation, while the Development Team writes the feature files. I guess the PO could write the BDD, but that may not be very lean and result in handoffs. The Scrum Master indirectly may make observations but isn't directly involved in BDD.
Why not let the team self organize to find the best way to leverage BDD?
Are they discussed in grooming sessions? How are they related with the acceptance criteria?
Some teams consider acceptance criteria to be of particular importance when estimating work, because along with the Definition of Done they describe the standard which must actually be met. Hence the elicitation of criteria in a BDD format may be seen as an significant part of Product Backlog refinement for items to be brought to a “ready” state.
Thank you Chris & Ian!
If BDD are created durig refinement and planning , can thse BDD be referred by developers as input(logical scenarios) for their TDD (and build upon with additional boundary contions as required) ?