Behaviour Driven Development

Behaviour Driven development is all about achieving shared understanding between product owners, developers and testers so that user requirements are understood by all - from day one and as the project evolves. 

BDD - Shared Understanding

When software development goes wrong, the blame game between product owners and developers can be divisive and costly for businesses. This is where Behaviour Driven Development can help - by bringing together the three amigos of software development from the beginning. Why is this so important? Because interpretation is a subjective thing and assumptions are easy to make.


Our BDD Challenge demonstrates the concept of shared understanding, and the benefits of richer communication methods, such as face-to-face, perfectly. The common response we receive when we set this challenge in our training workshops is: "It's not as easy as it looks". Why not have a go yourselves and see?


This is a challenge for two people. The drawing below represents a set of user requirements that need to be implemented. Without face-to-face communication, you are relying on your interpretation of instructions to make sure these requirements are implemented properly. And you are under time pressure.

1) In a separate room, Person Number 1 is given 5 minutes to take the drawing and write down a set of instructions outlining how to draw the image.

2) In a separate room, Person Number 2 is given the set of instructions, a blank piece of paper and all the instruments they need to draw the image. They now have 6 minutes to draw the image based on the instructions.

It's as simple as that. Isn't it?


More resources

We also have a downloadable challenge booklet featuring an alternative image. 

BDD Training

Transitioning to behaviour driven development is much easier when you harness the expertise of real-world, experienced BDD practitioners. You can learn how to successfully use BDD techniques and Cucumber-JVM with our  2-day BDD training course.