Behavior-driven development helps to build a shared understanding of the business requirements through collaboration between Domain Experts and Software Engineers.
It encourages teams to use conversation and concrete examples to formalize a shared understanding of how the application should behave.
These examples are defined before the development starts and are used as Acceptance Criteria.
Specification workshop is a technique used to elicit and define requirements for software systems.
It is a collaborative approach that brings together stakeholders from different areas of the business to discuss and agree on the behavior of the system.
The goal is to create a shared understanding of the system's requirements and to identify any potential issues early in the development process.
Concrete rules and examples help us explore the problem domain and makes a great basis for our acceptance tests.
Features
Once we have identified our rules and examples, we can now formulate each example as structured documentation.
Examples of system behavior are documented using business terminology and grouped together into Features.
A Feature is a concrete software solution to a business problem that delivers a capability, helping users or other stakeholders achieve some business goal.
Automated Acceptance Tests
Executable specifications that verify the behavior of a system against its requirements.
Acceptance Tests guide code implementation until the specification is met and are produced as part of the non-regression activities.
The automated scenarios can be used as living documentation for the marketing, product, and development team.