BDD is a disruptor
Remember when the iPhone came out? Remember how Steve Jobs pitched that it "Changed Everything", the first time? Maybe he was exaggerating a little, but there is no doubt that the iPhone was a game-changer. It changed the way we thought about what a telephone should do.
The iPhone was what we call a market disruptor. From then on, every other phone manufacturer had to frame their models in terms of what the iPhone did, or fall behind.
Behaviour Driven Development is a disruptor. It can massively boost our ability to deliver high quality features sooner. Done well, it has an immediate impact on quality. But in exchange it asks for some big changes in the way we work and in the way we think. Half-baked BDD, like half-baked agile or half-baked DevOps, will only result in half-baked improvements.
Many people in the teams I help, or who go through the Serenity Dojo online training programme, tell me that BDD radically changed the way they think about software development. And it's true: BDD is one of those things that makes you think: maybe there are ways of looking at things, of doing things, that I had not considered before.
Many business analysts write their acceptance criteria using a structured Given..When..Then-style format. But without the shared understanding that comes from exploring the acceptance criteria collaboratively with the team, and the feedback and traceability that comes from converting these acceptance criteria into automated acceptance tests, the effort that they put in is largely wasted.
Many teams come together before a sprint, to get a better understanding of the stories they need to build. BDD gives these meetings the structure and focus to maximise the benefits that come out of these meetings.
Many folk come to BDD through test automation; they start using tools like Cucumber to automate their regression tests. And that's fine. Done well, it can encourage more readable and more maintainable automated test suites. But without a solid culture and training in BDD, these Cucumber scenarios often become hard-to-read test scripts that are hard to read and harder to maintain.
Behaviour Driven Development is a game-changer. In years to come, teams will be proficient at Behaviour Driven Development, or they will fall behind.
BDD. It may not be what you think it is.
There are plenty of ways to learn more about Behaviour Driven Development
- Watch some videos: the first lessons of our BDD with Cucumber and Serenity online training course, which introduce the core concepts of BDD in a technology-neutral way, are available free of charge.
- Learn BDD practices and technologies at the Serenity Dojo.
- Read some more articles about BDD and related topics at johnfergusonsmart.com
- Read the BDD reference that Dan North recommends - BDD in Action.