The Requirements Engineering discipline focuses on identifying the customer needs and specifying the software requirements to these needs.
In agile development, this step happend happens throughout the development lifecycle supported by a set of practices proposed from agile methods.
Among these, there is Behavior-Driven Development (BDD) an approach that integrates an ubiquitous language with Test-Driven Development and automated acceptance tests, specifically designed to help teams to build and deliver software more efficiently. The BDD focus on collaboration and discovery system behavior through examples following the Specification by Example agile practice.
The business scenarios raised to BDD aim to facilitate the information sharing and reduction of communication misalignment, recurring in Requirements Engineering.
The automation of the scenarios allow the team to create living documentation, which in time avoid obsolete documentation, another critical issue in this discipline.
This study presents an empirical exploratory research that aimed to identify how BDD is adopted in practice and how it supports Requirements Engineering.
For that, 24 semi-structured interviews with industry professionals were conducted exploring aspects related to BDD such as processes, tool support, role involvement, benefits and challenges of adopting it, among others.
Our results suggest that BDD indeed supports Requirements Engineering by facilitating communication and reducing communication misunderstandings.
Moreover the use of BDD proposes greater interaction between the project team members and business members, even the client continues not immersed in the team, because BDD promotes more interaction with proxies (business representant), there are many tools used during the BDD usage as dashboards, frameworks, and others.
Finally, a set of future research are pointed in order that researchers can explore in more detail some identified aspects and a reflection is offered to industry professionals on how BDD is used.