Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

BDD and the Four Pillars of Business Agility

DZone's Guide to

BDD and the Four Pillars of Business Agility

Behavior-driven development isn't apart from Agile development; in fact, BDD is one of the four elements needed for an Agile environment.

· Agile Zone ·
Free Resource

Adopting a DevOps practice starts with understanding where you are in the implementation journey. Download the DevOps Transformation Roadmap. Brought to you in partnership with Techtown.

People often ask where Behaviour Driven Development, or BDD, fits with regards to other Agile practices. Managers might say, “BDD sounds great. But how do we align our Agile transformation strategy with BDD adoption?”. Some ask “Does BDD work with Scrum/SAFe/Kanban/<insert your favorite Agile methodology here>”? Some folks even simply ask “So are we doing BDD or Agile?”

To answer questions like these, this article tries to put BDD in the context of other Agile practices.

Behaviour Driven Development (or BDD) is a collaborative approach that helps teams focus on delivering high-value features sooner. BDD builds on and extends standard Agile practices such as sprint planning and backlog grooming, user stories and acceptance criteria, and makes them much more effective.

Teams practicing BDD use structured conversations around business rules and concrete examples to build a deeper shared understanding of the problems they need to solve. They often automate the acceptance criteria they discover in the form of automated acceptance tests, or executable specifications, that provide both documentation about what the application does, and feedback about whether the application works.

But if you are trying to make a large organization more Agile, then BDD is just one part of the picture.

The Four Pillars of Business Agility

In fact, there are four key enablers, or pillars, to business agility:

  • Agile Methods
  • A BDD Mindset
  • Engineering Discipline
  • A DevOps Culture

Agile Methods, such as Scrum and Kanban, focus primarily on team organization, coordination, and change management. Some would say that the value of a framework such as Scrum or Kanban is not so much to make you deliver faster, but to make it more obvious why you are not. To actually deliver faster, you need the other three pillars.

A BDD Mindset accelerates the flow of value and reduces waste and rework by enabling teams to discover and focus on the features that really matter (“building the right thing”).

Engineering Discipline includes a range of practices and techniques that help us build more reliable, more maintainable code faster. Test Driven Development (TDD), Continuous Integration, Automated Acceptance Testing and Clean Coding all fall into this category. Such practices are essential if you want to deliver quickly and reliably.

Finally, A DevOps Culture gives teams the ability to deliver features safely to production at speed (“delivering the thing safely in time”).

All of these areas overlap and interact. Requirements Discovery practices from BDD, such as Impact Mapping, Feature Mapping, and Example Mapping, play a key role in release and sprint planning and backlog grooming. And executable specifications, the flip side of BDD, rely heavily on solid engineering practices to keep the maintenances costs down and the feedback quick and reliable.

In sum, improvements in any of these areas in isolation are not enough to produce great results. You need a coordinated approach that addresses all four pillars if you want to get sustainable results.

Acknowledgments

Model refined and refactored with the kind help of Peter Suggitt and Jan Molak. The first version of this model came out of a conversation with my good friend Marco Tedone some years ago, in a car in the mountains between Pune and Mumbai.

Take Agile to the next level with DevOps. Learn practical tools and techniques in the three-day DevOps Implementation Boot Camp. Brought to you in partnership with Techtown.

Topics:
bdd ,agile adoption ,devops ,behavior driven development ,engineering discipline ,devops culture

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}