How Behaviour-Driven Development is changing the web development landscape
Creating software can be challenging. Defining how to build an application, what features to focus on, and ensuring they deliver the best outcome for both the business and user can be difficult. But there is a development method that can help better that process and provide a clearer understanding of what the business needs for a project are, and marry those with the basic development required to deliver a highly functional, user focused solution.
Behaviour-Driven Development (BDD) helps bridge the knowledge gap between the business team and development team to ensure an application delivers its outcome to the end user in a way that helps drive greater engagement and as a result, a stronger drive toward sales and conversions.
What is Behaviour-Driven Development
Behaviour-Driven Development is a method that aids collaboration between technical and non-technical teams. BDD focuses an on outside-in approach and has evolved from more traditional development practices like Test-Driven Development (TDD). Where TDD is centered around the testing of code before it is written in order to allow a developer to focus on more preventative measures, BDD first addresses the requirements of the user and what outcome the code should provide.
By working together, the business team and the development team build a shared understanding by using tools and strategic engagement techniques such as user stories, product discovery, story maps, acceptance criteria and scenarios to create an ubiquitous language to explain how users will interact with the application.
BDD delivers on organisation and user needs
Behaviour-Driven Development assists in establishing project objectives to measure and evaluate the development work required to deliver on those objectives, by ensuring all development is focused on delivering what the organisation actually needs while meeting requirements of users.
What BDD provides is a translation of user-centred design into something developers can understand more than a wireframe or design concept, rather an accompanying scenario that provides simple steps and clarification of how something works.
BDD is best explained used in terms of the structure of a story;
The Title; this should tell describe the story in its simplest language.
As a [role]
I want [feature]
So that [benefit]
With that story, the resulting acceptance criteria is born. This is then defined in a series of result based scenarios.
Scenario 1: Title
And [some more context]
and [another outcome]
By defining the functionality required to service all possible scenarios and outcomes, it allows the business team to better define primary functional requirements and supply the development team with quantifiable instructions to build effective and easily testable code.
The Title; Account holder pays with credit card.
As an account holder
I want pay for an item with my credit card
So that I don’t have to withdraw cash
Scenario 1: Account holder has sufficient funds
Given the account balance is $100
And the pin is entered correctly
When the account holder purchases an item for $50
Then the amount will be deducted from their account
and money deposited into the sellers account
These scenarios, coupled with wireframe and design concepts, a developer can articulate the function in simple steps to clarify how it works and use these scenario steps to test things and match back to use cases, allowing for more automated testing to keep the project on track and defect-free in an agile manner.
Behaviour-Driven Development focuses on the customer journey
User-centred design is a critical aspect in Behaviour-Driven Development because every piece of deliverable functionality meets the needs, intentions and patterns of users. All development work can be traced back directly to business objectives and if the software development meets user need, then a satisfied user translates to high business value.
A development build that is focused on an identifiable feature that will support both users behaviours and the requirements of the business will be far more valuable than an application that delivers too many features or is too complicated to utilise.
An outcome first approach
Utilising Behaviour-Driven Development practices facilitates an outcome first approach in website development for better user experience and likelihood of increasing business goal successes.
About The Digital Embassy
The Digital Embassy™ is an Australian Google and Microsoft Certified Partner transforming digital business. Our team are ambassadors for best practice in digital business strategy, web design, behaviour-driven software development and evidence-based digital marketing. For over 20 years our business has employed local industry certified personnel to help businesses meet the changing needs of digital users and consumers.
The Digital Embassy™ is a pre-qualified ICT service provider for Government in SA, VIC and NSW.