Abstract
The communication of requirements within software development is vital for project success. Requirements engineering and testing are two processes that when aligned can enable the discovery of issues and misunderstandings earlier, rather than later, and avoid costly and time-consuming rework and delays. There are a number of practices that support requirements-test alignment. However, each organisation and project is different and there is no one-fits-all set of practices. The software process improvement method called Gap Finder is designed to increase requirements-test alignment. The method contains two parts: an assessment part and a prescriptive part. It detects potential communication gaps between people and between artefacts (the assessment part), and identifies practices for mitigating these gaps (the prescriptive part). This paper presents the design and formative evaluation of the prescriptive part; an evaluation of the assessment part was published previously. The Gap Finder method was constructed using a design science research approach and is built on the Theory of Distances for Software Engineering, which in turn is grounded in empirical evidence from five case companies. The formative evaluation was performed through a case study in which Gap Finder was applied to an on-going development project. A qualitative and mixed-method approach was taken in the evaluation, including ethnographically-informed observations. The results show that Gap Finder can detect relevant communication gaps and seven of the nine prescribed practices were deemed practically relevant for mitigating these gaps. The project team found the method to be useful and supported joint reflection and improvement of their requirements communication. Our findings demonstrate that an empirically-based theory can be used to improve software development practices and provide a foundation for further research on factors that affect requirements communication.
Highlights
Requirements engineering (RE) and testing are two important software engineering processes
The main results consist of the outcomes of applying the Gap Finder, namely the identified gaps and the prescribed practices, and the findings related to evaluating the method
Gaps, between people were identified through the analysis of the Requirements Engineering and Testing (RET) profile, which was obtained based on the interviews held in connection with the measurement surveys
Summary
Requirements engineering (RE) and testing are two important software engineering processes. Software testing requires a clear understanding of the expected behaviour in order to validate that we are ‘building the right product’ (Boehm 1981) and to verify that we are ‘building the product right’ (Boehm 1981) This understanding can be provided by RE activities and a clear communication of the requirements (Damian et al 2005, Damian and Chisan 2006, Bjarnason et al 2011). Weak alignment of the RE activities and roles with those of software testing may lead to serious implications both for development projects and for the resulting software products Examples of this include increased development lead time, delayed deliveries, and problems with software functionality and quality (Damian et al 2005, Damian and Chisan 2006, Uusitalo et al 2008, Bjarnason et al 2013)
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.