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

schedule Submitted 8 years ago