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.