There are many opportunities for information to get lost in translation, be misunder-
stood, or just be ignored. Chances are that the new module itself may not do exactly
what was required and that the documentation won’t reflect the initial requirements
that user gave the analyst.
The B in BDD stands for Behaviour, the desired behaviour of the software to be developed. The DD part stands for Driven-Development. BDD is an approach for building a shared understanding on what software to build by working through examples.
Team makes heavy use of conversations and examples
to reduce the amount of information lost in translation.
identifying business goals and looking for features that will help deliver these goals.
they use concrete examples to illus-
trate these features.
these examples are automated in the form of executable specifications, which both validate the software and provide automatically updated technical and functional documentation.
Rather than accepting a list of feature requests from the users with no questions asked, teams try to understand the core business goals underlying the project, proposing only features that can be demonstrated to support these business goals.
Business Goal
“to attract more clients by providing a simple and convenient way for clients to manage their accounts.”
Feature
“Transfer funds to an overseas account.”
“Transfer funds between a client’s accounts.”
BDD is a highly collaborative practice, both between users and the development team, and within the team itself. Business analysts, developers, and testers work together with the end users to define and specify features, and team members draw ideas from their individual experience and know-how. This approach is highly efficient.
Rather than attempting to lock down the specifications at the start of the project, BDD practitioners assume that their understand-
ing of the requirements, will evolve and change throughout the life of a project. They try to get early feedback from the users and stakeholders to ensure that they’re on track.
USE LIVING DOCUMENTATION
SUPPORT ONGOING MAINTENANCE WORK
When a developer makes a change, it may cause existing executable specifications to break, and when this happens, there are usually two possible causes:
[JCConf 2015] Bridging the gap between Business and IT using Cucumber
[Modern Web 2015] The Speed & The Enthusiasm