Agile Business Analysis Technique Behaviour Driven Development

Behaviour driven development

Agile Business Analysis Technique: Behaviour Driven Development

Behaviour Driven Development (BDD) is used to increase value, decrease waste, and increase communication between stakeholders and delivery teams by focusing on the intended customer behaviour for the solution to satisfy customer needs. 

Another way to describe what Behaviour Driven Development is: that it is a software development methodology in which an application is specified and designed by describing how its behavior should appear to an outside observer. 

Agile values customer collaboration and working solutions to achieve desired output. Agile business analysis practitioners prioritize identifying solutions which deliver customer value in increments. Behaviour Driven Development (BDD) supports that goal through the use of real examples. 

Why not join the IIBA Endorsed Agile BA Practitioner course – online, on demand with full tutor support. Enrol here.

Behaviour Driven Development uses a customer readable, domain specific language to specify the intended customer behaviour which satisfies the customer need. It increases speed of delivery by developing only what is needed and creates opportunity for user acceptance test automation. 

Examples are expressions of real life business scenarios provided by stakeholders. Examples may also be known as scenarios and can be expressed in a number of ways including models. Business analysis practitioners facilitate the discovery of the information which is expressed in the examples and ensure that the set of examples is comprehensive.

Gherkin Format

Behaviour Driven Development uses a simple grammar format, referred to as Gherkin, that allows real scenarios to be filled into the syntax. This takes the form: 

GIVEN <a situation> WHEN <an event> THEN <expected result> 

Both GIVEN statements and multiple THEN outcomes for a single scenario could be compound conditions linked with AND statements. There is only one WHEN event that triggers the scenario. 

Examples of the Gherkin Format

An example for an ATM:

Scenario 1: Account has sufficient funds.

GIVEN: I’m in credit

AND: the ATM has sufficient cash available

WHEN: I request $20

THEN: I receive $20

AND: my account balance is reduced by $20 

Scenario 2: Account has insufficient funds.

GIVEN: I’m in overdraw

AND: the ATM has sufficient cash available 

WHEN: I request $20

THEN: I receive no money 

Scenarios written in a Behaviour Driven Development format specify events, conditions, and actions are verifiable. They can serve as acceptance criteria for stories and serve as tests in support of Acceptance Test Driven Development that drive a common understanding of requirements and future solution needs. 

Testing 

There are several software products that will take examples in this format (but may have their own specific syntax and structure) and allow them to be easily converted into automated tests, thus enabling more agile delivery. Automation of examples enhances and speeds up agile analysis verification and validation activities. 

In summary, the technique referred to here as: Behaviour Driven Development is used to increase value, decrease waste, and increase communication between stakeholders and delivery teams by focusing on the intended customer behaviour for the solution to satisfy customer needs. 

Notice: As with all the bite-size videos we have created around the topic of Agile Analysis, the content covered here is quoted from the Agile Extension v2 to the BABOK Guide v3. In some parts we have summarised content and some parts we have added some new examples. For a comprehensive coverage of this topic, please refer to the Agile Extension v2 Chapter 7, Section 7.2.

Why not join the IIBA Endorsed Agile BA Practitioner course – online, on demand with full tutor support. Enrol here.