by Richard Lawrence with Paul Rayner

Master BDD to deliver higher-value software more quickly

To develop high-value products quickly, software development teams need better ways to collaborate. Agile methods like Scrum and Kanban are helpful, but they’re not enough. Teams need better ways to work inside each sprint or work item. Behavior-driven development (BDD) adds just enough structure for product experts, testers, and developers to collaborate more effectively.

Drawing on extensive experience helping teams adopt BDD, Richard Lawrence and Paul Rayner show how to explore changes in system behavior with examples through conversations, how to capture your examples in expressive language, and how to flow the results into effective automated testing with Cucumber. Where most BDD resources focus on test automation, this guide goes deep into how BDD changes team collaboration and what that collaboration looks like day to day. Concrete examples and practical advice will prepare you to succeed with BDD, whatever your context or role.

  • Learn how to collaborate better by using concrete examples of system behavior
  • Identify your project’s meaningful increment of value so you’re always working on something important
  • Begin experimenting with BDD slowly and at low risk
  • Move smoothly from informal examples to automated tests in Cucumber
  • Use BDD to deliver more frequently with greater visibility
  • Make Cucumber scenarios more expressive to ensure you’re building the right thing
  • Grow a Cucumber suite that acts as high-value living documentation
  • Sustainably work with complex scenario data
  • Get beyond the “mini-waterfalls” that often arise on Scrum teams