Succeeding with BDD
Behaviour Driven Development (BDD) is a set of practices and tools that enables business analysts, developers and testers to collaborate on a single source of truth: Executable Specifications.
Executable Specifications are living documents that serve several purposes.
- For business analysts they are a concise way to express how they want the software to behave
- For developers they are unambiguous requirements that guide and validate the implementation
- For testers they are automated regression tests
Executable Specifications are easy to read by both humans and computers. They are great for building a shared understanding across different roles on a software project. This shifts the focus from finding bugs to preventing them.
Product owners and business analysts are encouraged to join this session even though the second half will involve a little coding. Non-technical attendees will be paired up with technical attendees to create executable specifications together.
Outline/Structure of the Tutorial
The session consists of about 80% group exercises and 20% presentations, spread out across the day.
Overall agenda:
- Brief (30 min) introduction to BDD
- Presentation of the case (a social networking application)
- Analyse stakeholders, differentiators and market value
- Brainstorm user stories
- Prioritise user stories
- Break them down into rules and examples
- Convert examples into Cucumber scenarios (executable specifications)
- Implement logic, following the BDD process
- Reflect and discuss
Learning Outcome
In this workshop you will learn:
- What is BDD and why should I care?
- Breaking down a user story into examples
- Conversation patterns to create more and better examples
- Turn those examples into executable specifications
- Execute these specifications with Cucumber
- Who does what and when (roles, responsibilities and timing on a BDD team)
Target Audience
Product owners, business analysts, developers and testers