Behavior Driven Development
Behavior driven development (BDD) focuses on higher quality software by better collaboration across the team.
Fundamentally, BDD is concerned about building the right product.
Outcomes¶
- Develop a customer-first view of development
- Greater visibility and transparency across the team
- Create a ubiquitous language across business and technology
- Minimize rework and increase flow
- Reduce cost by capturing misunderstandings early
Phases of BDD¶
-
Discovery. Generate examples through conversation that describes the behavior of the system from the customer's point of view. Techniques like Example Mapping provide the space to have collaborative conversations.
-
Formulation. Establish a common language across the team to describe steps using Gherkin. Formulate user flows using the Given When Then structure to define scenarios and features.
-
Automation. Convert Gherkin steps into automated acceptance test with test automation tools and frameworks.
Dan North has been the primary thought leader behind BDD, popularized from his blog