Abstract
Context:Large-scale software projects require interaction between many stakeholders. Behavior-driven development (BDD) facilitates collaboration between stakeholders, and an adapted BDD process can help improve cooperation in a large-scale project. Objective:The objective of this study is to propose and empirically evaluate a BDD based process adapted for large-scale projects. Method:A technology transfer model was used to propose a BDD based process for large-scale projects. We conducted six workshop sessions to understand the challenges and benefits of BDD. Later, an industrial evaluation was performed for the process with the help of practitioners. Results:From our investigations, understanding of a business aspect of requirements, their improved quality, a guide to system-level use-cases, reuse of artifacts, and help for test organization are found as benefits of BDD. Practitioners identified the following challenges: specification and ownership of behaviors, adoption of new tools, the software projects’ scale, and versioning of behaviors. We proposed a process to address these challenges and evaluated the process with the help of practitioners. Conclusion:The evaluation proved that BDD could be adapted and used to facilitate interaction in large-scale software projects in the software industry. The feedback from the practitioners helped in improving the proposed process.
Highlights
Software development is a complex process that involves various stakeholders and their interaction to conceptualize, plan, develop, test, and release a software product (Pressman, 2005)
We have introduced a Behaviordriven development (BDD) based process for large-scale software development and performed an empirical investigation of the benefits and challenges associated with the introduction of BDD in largescale software projects
RQ1: What are the benefits practitioners associated with BDD in large-scale software projects?
Summary
Software development is a complex process that involves various stakeholders and their interaction to conceptualize, plan, develop, test, and release a software product (Pressman, 2005) These days, software products transform existing businesses into more agile, customer-oriented, and robust business setups by automating manual processes (Earley, 2014). Large-scale software products are a fundamental part of this transformation of existing businesses, and products are becoming software intensive with time These large-scale products are developed in large-scale projects (i.e., Dikert et al (2016) defined it as software development projects with 50 or more people or at least six teams. The Test-Driven development inspires BDD principles, and behaviors (or features) are specified at the start of the development. These behaviors fail at the beginning since no product development is done yet. BDD does not specify an exact format for behaviors, behaviors are often described using domain-specific languages (e.g., Gherkin) (Egbreghts, 2017)
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.