Insights

What Is Behaviour Driven Development (BDD)?

Introduction To Behaviour Driven Development (BDD)

Behaviour Driven Development is an agile software development methodology that emphasizes collaboration between a software development team and the business stakeholders. The goal of BDD is to understand user behaviour and use that knowledge to create applications that are tailored to their needs. BDD utilizes user stories and scenarios to identify the required behaviour of the application.

According to the IIBA:

Behaviour Driven Development is used to increase value, decrease waste, and increase communication between stakeholders and delivery teams by focusing on the intended customer behaviour for the solution to satisfy customer needs.

BDD focuses on the behaviour of the software, rather than the technical details. This allows the development team to focus on creating an application that meets the user's needs.

BDD Uses Gherkin Syntax

GIVEN a [situation]  WHEN an [event] THEN [expected result].

Example:

GIVEN a [situation] GIVEN: I rented a bike
AND: I come back to rent an additional bike for my kid
WHEN an [event] WHEN: I request a kid’s bike
THEN [expected result] THEN: I get the bike
AND: my time to return both bikes is shifted to match the renting time of the second bike

Only the 'GIVEN' and 'THEN' statements can be combined with an 'AND' statement.

These can serve as acceptance criteria for stories and as tests in support of acceptance test-driven development.

Strengths Of BDD

  • Precise guidance on improving the conversation between stakeholders
  • Notation has a shallower learning curve
  • The examples can be reused as acceptance criteria
  • The examples can be converted to automated acceptance tests
  • Quickly prioritizes scenarios

Limitations Of BDD

  • You should have someone that actively asks why and what-if questions
  • Risk of having too many scenarios

What Are The Benefits of Using BDD In Business Analysis?

Business analysis is the process of understanding the needs of a business and creating a plan to meet those needs. BDD can be used to help business analysts better understand the needs of their users. By creating scenarios that represent user behaviour and testing the scenarios, business analysts can identify areas where the application is not meeting user needs.

BDD can also help business analysts identify areas where the application can be improved. By understanding the behaviour of the users, business analysts can create plans to improve the user experience and make the application more efficient.

In Summary

BDD is a way for product delivery teams to work that helps close the gap between business stakeholders and technical teams. It encourages collaboration across roles to build a shared understanding of the problem to be solved.

BDD does not replace existing agile processes, it is a means to enhance them. BDD can aid your team to be more able to deliver on the promise of Agile by delivering timely, reliable releases of working products that meet your organization’s evolving needs.

👋 Hey Sitecore Enthusiasts!

Sign up to our bi-weekly newsletter for a bite-sized curation of valuable insight from the Sitecore community.

What’s in it for you?

  • Stay up-to-date with the latest Sitecore news
  • New to Sitecore? Learn tips and tricks to help you navigate this powerful tool
  • Sitecore pro? Expand your skill set and discover troubleshooting tips
  • Browse open careers and opportunities
  • Get a chance to be featured in upcoming editions
  • Learn our secret handshake
  • And more!
Sitecore Snack a newsletter by Fishtank Consulting