Behavior-Driven Development (BDD) helps business people and developers collaborate on necessary behaviors and automate the verification of those behaviors.

It helps teams significantly improve development speed, quality and responsiveness by fostering early alignment and ongoing verification.

All students of this workshop will learn how to safely specify scenarios. Technical students will learn how to automate scenarios safely, using popular tools like Cucumber, JBehave, or SpecFlow.
This course is key for product managers, product owners, analysts, testers and developers looking to improve their delivery capabilities.
Behavior-Driven Development Workshop

Workshop Editions

Our online workshop includes discussions with an expert instructor over ten 2-hour sessions and self-paced eLearning exercises between sessions. We offer flexible scheduling to address your needs.
  • Keys to Software Development
  • Expressing requirements
  • Identifying the System under Test
  • Assignment
  • Identifying Requirements collaboratively
  • Specifying success through Acceptance Criteria
  • Assignment
  • Identifying System Interactions, human or computer
  • Problem Domain Modeling
  • Assignment
  • Executable Specifications
  • Keeping the build alive
  • Writing Maintainable Specifications
  • Assignment
  • Personas to capture complicated requirements
  • Verifying Behaviour not Implementation
  • Breaking down tests for maintainability
  • Assignment
  • Testing flow versus calculations
  • Keeping tests valuable
  • Assignment
  • Complicated scenarios and Test Tables
  • Ready to ship?
  • Assignment
  • Tying it all together
  • Design for Testability and modularity
  • Assignment
  • Making it stick
  • Working in your context
  • Assignment
  • Working in your context
  • Next Steps
Here is a typical 3-day agenda. We can customize this agenda to best meet your needs.
  • Keys to Software Development
  • Expressing requirements
  • Identifying the System under Test
  • Identifying Requirements collaboratively
  • Specifying success through Acceptance Criteria
  • Identifying System Interactions, human or computer
  • Problem Domain Modeling
  • Executable Specifications
  • Keeping the build alive
  • Personas to capture complicated requirements
  • Writing Maintainable Specifications
  • Verifying Behaviour not Implementation
  • Breaking down tests for maintainability
  • Testing flow versus calculations
  • Keeping tests valuable
  • Complicated scenarios and Test Tables
  • Ready to ship?
  • Tying it all together
  • Design for Testability and modularity
  • Making it stick
  • Working in your context
  • Next Steps

What Will You Learn?

outcome

Understand how a whole team collaborates around scenarios to support development

outcome

Create scenarios that refine and clarify user stories

outcome

Learn what makes for useful scenarios

outcome

Divide features into slices for early and rapid deployment

outcome

Use tools to automate scenarios and ensure the software behaves as desired

outcome

Practice the whole cycle from stories to scenarios to automation