Is your team struggling to reap the benefits of your BDD efforts? Or are there lots of misconceptions in your company about what exactly BDD is? If so, I have a must-read resource for you: Discovery: Explore Behaviour Using Examples by Seb Rose and Gaspar Nagy.
Why Another Book on BDD?
The authors Seb and Gaspar are two of the top thought leaders of the BDD movement. Seb has written other books on BDD, including The Cucumber for Java Book, and for Discovery he teams up with SpecFlow creator Gaspar Nagy.
SpecFlow is the .NET BDD implementation of Cucumber, so one might assume this would be a technical book on SpecFlow—but one would be wrong.
Seb and Gaspar originally wanted to write a SpecFlow-specific book, their first idea is to just port the Cucumber for Java over to a SpecFlow .NET edition, but in the end, they decided to create something new.
Is This a SpecFlow-Specific Book?
This book is full of examples culled from working with many teams in many organizations. It also reflects the experiences they’ve had since Cucumber for Java was released.
So rather than create a book about SpecFlow and the technical parts, they did a complete 180 and decided instead to focus this book on the fundamentals of BDD and collaboration.
In their experience—without collaboration–BDD is not really working as well as it could be for most teams.
I really like this approach because I think many people get hung up on the tooling.
That’s just one of the reasons I appreciated this book; it’s also a quick read and is tool agnostic. Regardless of which implementation of BDD you’re using, you can expect to benefit greatly from this book.
I also enjoyed how each chapter has stories mixed in that highlight one of the principles from Seb and Gaspar’s actual experiences.
Discovery: Explore Behavior Using Examples Layout
Discovery: Explore Behavior Using Examples is divided into five main chapters.
It’s also relatively short–just 100 pages.
So if you are a busy, productive owner or test manager you can take this book with you on a flight and have it read by the time you land.
There’s really no excuse why every single member of your team not to read it.
Chapter One: What is BDD?
The first chapter is an introduction to BDD. It answers common questions folks who are new to BDD might ask, like:
• What is BDD?
• How does BDD work?
• What is testing?
It covers all the fundamentals of behavior-driven development.
Chapter Two: Structured Conversations
The second chapter is all about structured conversation. It’s an extremely important chapter, and in my opinion, think is probably the most essential part of the book.
Structured conversation is a way to get testers, businesses, and developers together in order to have better discussions about requirements.
I liked how the chapter illustrated these concepts using what a real-world situation might look like.
For example, they describe a team meeting–so vividly that you actually get a sense of being present at the meeting–during which the team members are communicating with each other about how they are working together to form a better understanding of what they are developing.
Chapter Three: What is an Example in BDD?
Many people see BDD as simply a Given, When, Then thing. But this chapter tries to show that there’s much more to it.
It’s not about writing tests with Given/When/Then keywords; it’s more about finding ways to uncover G/W/T-based scenarios that are good illustrative examples.
They also cover how many examples you actually need, as well as rules vs. examples.
Chapter Four: What Does What, and When?
In Chapter Four, Seb and Gaspar focus on the BDD process and approach–basically all the different activities you perform over the course of a project and how to fit them into your own project.
The different types of meetings that can be used for discussing or applying different elements, or performing different tasks within BBD are covered.
They also show how BDD can fit into different project models like Scrum, Kanban, or even a distributed team setup.
Chapter Five: How to get business involved
In this, the last chapter, the authors focus on some of the more typical problems they’ve seen teams struggle with, including:
• How to sell BDD to the business
• What kind of benefits they’ll see by applying the BDD process.
In the conclusion of the book, Seb and Gaspar attempt to address a list of common pain points and problems that the business might encounter–like the team having trouble meeting deadlines–and then show how BDD can improve the situation.
Discovery’s Grand Takeaway
I strongly believe that one shouldn’t do BDD simply because it’s fun, brand new, or trendy.
There should be another reason you’re applying BDD; doing it just for automation is not a good enough reason.
I think that if you’re doing BDD well, it should help your project and help the business side; it’s not only a technical process but a true collaboration, and this book really highlights that point.
Recommended! But it now [click here]
To Hear More BDD Awesomeness
Check out my full interview with Gaspar to hear his insight on Discovery: Explore Behaviour Using Examples as well as additional tips and tricks not found in the book.