JUNE 23 – 27, 2019


Join North America's greatest Agile Testing Festival!

Hands-On with Behavior Driven Development (2 days)

Explore the key concepts of Behavior Driven Development (BDD), including business and team effects, participant roles, difficulties and traps, and more in this two-day hands-on course.

  • Learn and understand the concepts of Behavior Driven Development (BDD)
  • Build the right thing through collaboration and shared understanding
  • Increase innovation, lower stress, lower risk, and lower bug count
  • Explore the relationships between BDD and its surrounding ideal environment – DevOps, Agile
  • Solidify your understanding with hands-on exercises


No one said software development was going to be easy – but most companies are making things much harder than they need to be. In doing so, they are increasing stress on their developers and missing the needs of customers. Behavior Driven Development (BDD) provides organizations a framework for organizing the conversation between developers, testers and domain experts. Many that have adopted these practices are seeing improvements with faster cycle times, lower bug counts, happier staff and customers. To quote Dan North, one of its early proponents:

"BDD is a mechanism for fostering collaboration and discovery through examples."

In this two-day, hands-on course, you will learn they key concepts of BDD (Behavior Driven Development), including business and team effects, participant roles, difficulties and traps, and more. Leave being able to practice and promote BDD at your company with primary and supporting technologies, transitions to using BDD, and more. 


Who Should Attend

This course is appropriate for anyone who is involved in the definition, development and quality assurance of software related products including customers, product owners, business analysts, SMEs, developers and testers. It is recommended that you are familiar with concepts of  the Agile methodology, as taught in our Fundamentals of Agile class, before taking this course.


Hands-on Exercises

In this workshop you will learn about testing application behavior through hands-on activities, exercises, discussions, and demos. 

  • Demonstrations and exercises using BDD
  • Simulation of sprint planning incorporating BDD
  • Presentations, discussions, and debate of BDD culture and mindset
  • Discussion of transitioning into using BDD
  • Convincing your team and management of its value


Laptop Required

Because this is a hands-on course, attendees are required to bring their own laptop to be able to complete the exercises. This class will have pre-class instructions that will be provided to you after your registration is completed. If you have any concerns about the specific programs involved, please feel free to reach out to our Client Support team.


Course Outline

1. Introduction to BDD

  • General introduction to BDD concept
  • Show demo of running in Jenkins pipeline
  • Terminology
  • What problems this solve
  • Building the right thing
  • A word about communication

2. Benefits of usage

  • For testers
  • For developers
  • For business
  • For teams
  • Contrast of output and outcome

3. Case studies

3.1 Origins

  • Extreme Programming and TDD
  • Dan North extending TDD

3.2 Participation Roles

  • Business stakeholder
  • Developer
  • Tester
  • Special advisers
  • End users

3.3 Mindset and Culture

  • Communication isn’t easy
  • Collaboration
  • Sustainability
  • Maintainability and testability
  • Planning versus iterative experimentation
  • Colocation versus remote
  • Trust and empowerment
  • Marshmallow challenge
  • Zen Mindset
  • Psychological safety
  • Quality
  • Theory versus practice
  • Scenario collaboration

3.4 Difficulties and Traps

  • Misconceptions
  • Company culture preventing collaboration and trust
  • Changing existing precedent and culture is hard
  • Transitioning to a new technique will cause productivity drop
  • Poorly written scenarios can increase maintenance and derail progress
  • Not following Agile tenets

3.5 Practical Use

  • Showing the outside-in illustration
  • Discovering user stories
  • Difference between user story and feature / terminology difficulty
  • Expounding on user stories
  • Final user story with acceptance criteria
  • Well-written specifications
  • Poorly-written specifications
  • Starting the implementation cycle
  • More detail on outside-in development
  • Common anti-patterns while writing scenarios
  • Avoid fragile scenarios
  • Developer or tester implements automation
  • Regex can be a pain
  • Reduce redundancy, but don’t be pedantic
  • Follow TDD first before completing feature steps
  • Clarity of the feature is paramount
  • The IDE and framework won’t always set up the best stub code
  • The IDE can be a very powerful tool

3.6 Primary and supporting technology

  • Primary technologies - Cucumber, Fitnesse, Concordion, Hiptest, etc.
  • Secondary technologies - Jenkins, Jira, Maven, Gradle

4. Cultural Context

Understanding your cultural context
Westrum’s organizational types

  • Pathological
  • Bureaucratic
  • Generative

5. Transitioning to BDD

  • Small incremental changes
  • Team and management buy-in
  • Fresh start -  leaving behind the baggage
  • Simple and small

6. Comparable techniques

  • Waterfall
  • V-Model


Your privacy matters

We use cookies to understand how you use our site and to give you the best experience on our website. If you continue to use this site we will assume that you are happy with it and accept our use of cookies, Privacy Policy and Terms of Use.