BDD has crossed the chasm
In the latest InfoQ Engineering Culture and Methods Report, for the first time, the essential agile practices of Behaviour Driven Development (BDD), Craftsmanship and Coaching/Mentoring appear in the Early Majority category.
It is not to soon. High performing organisations and teams have long realised that Scrum alone is not enough. One survey actually found that productivity gains from Scrum alone were only around 7%. In fact, Scrum needs a number of supporting technical and collaborative practices to deliver on its promises. And Behaviour Driven Development and Software Craft represent two of the most important of these.
Each of these plays a key role in helping teams to deliver value.
Behaviour Driven Development
Behaviour Driven Development is a collaborative software delivery methodology that uses conversations and examples to understand what features will truly deliver value, as well as automation and fast feedback cycles to accelerate delivery. As a bonus, when test automation is driven by a good BDD process, the automated tests act as “executable specifications”. Such tests are clearer, faster and easier to maintain than those produced by more traditional test automation strategies.
When developers (including test automation engineers) take pride in their work, good things happen. Practices such as Clean Coding, TDD and SOLID design all take . When combined with the deeper understanding of business needs that comes from BDD, software craft helps teams deliver robust and reliable features that matter. And when applied the test automation side of BDD, these skills help teams write solid and stable test suites that are easier to maintain and easier to extend.
Mentoring and Coaching
BDD, Test Automation and Software Craft all require skill and experience to do right. High Performing organisations know this, and define strategies of continuous learning and deliberate practice. This often includes things like coding katas, formal training, mentoring or coaching, “guilds”, “communities of practice” and internal conferences or unconferences. Any learning strategy needs to be deliberate and multi-faceted, but training and coaching are key tools in this particular toolbox.
So if you are not looking into BDD and software craftsmanship practices, you probably should be. If you don’t have an organised, recognised, continuous learning strategy within your teams, you probably should have. And if you think you are practicing techniques such as BDD and software craftsmanship, take another look and make sure you are doing them well.