With 50-60% of all software defects found during testing categorized as requirements issues, why are developers being paid to build software from already defective requirements? Costly rework, budget overruns and finished software not meeting customers needs are the end result. No wonder software projects fail so frequently.
A major cause of requirements related defects is due to miscommunication. Product owners, Business analysts, developers and testers are specialists from different domains. Written or verbal requirements from the Business analysts domain may not translate or be precisely understood by developers and testers.
Behaviour Driven Development (BDD) solves the problem by enhancing requirements with acceptance tests called Scenarios. Each scenario is an example of how the requirement should behave in a real world situation, seeing a requirement in use aids communication.