Management of quality requirements in agile and rapid software development: A systematic mapping study
Introduction
In the current era, which is characterized by continuous technological breakthroughs, high quality has become imperative for the acceptance of software systems. Non-secure business applications, unreliable Internet of Things platforms, or inefficient 5G-based systems can no longer survive in the context of pervasive IT. Evidence supports these claims; market prospects indicate that up to 26% of firms’ IT budgets are dedicated to software quality assurance and testing, and they predict an increase to 33% in the next three years [1]. In addition, some studies have shown the impact of overlooking quality-related aspects on the costs of software development and maintenance [2], [3], [4]. For instance, Ramesh et al. [3] reported that overlooking quality-related aspects in the early stages of development resulted in degradation of system quality and required redevelopment of the whole system.
However, software quality is elusive [5]; it is not easy to define or measure. In this context, quality requirements (QRs) play a crucial role in dealing with quality. QRs are the desired qualities of a system to be developed, such as maintainability, reliability, availability, usability, and integrity [6]. Although QRs have some similarities to their functional counterpart—namely, functional requirements—they are unique in other respects, including their meaning, how they are expressed, and how they are measured. While these challenges exist regardless of the approach used to develop software, they are particularly prominent in agile software development (ASD) which entail incremental and iterative software development methods guided by agile manifesto [7], and rapid software development (RSD) .1 ASD methods (e.g. Scrum, and XP), and RSD approaches (e.g. continuous deployment, continuous delivery, and DevOps, which extend ASD’ capability by shortening the time to delivery of software), are widely adopted throughout the industry because they place focus on continuous delivery of valuable software and customer satisfaction [8,9]. In such approaches, functional requirements tend to be favored over QRs [8,10,11], leading QRs to be improperly documented [12]. Consequently, quality aspects, such as system security, performance, and usability, are often compromised [3].
Neglecting QRs introduces bottlenecks in ASD [13] and RSD processes. Specifically, Bellomo et al. [14] reveal how neglecting QRs in early phases of development may compromise performance and stability. Additionally, inadequate or missing knowledge of QRs and functional requirements often incur technical debt in ASD, leading to the need for rework, and increased maintenance costs [4]. Technical debt due to QRs results in quality issues that become difficult to test in later phases [15]. In this regard, systematic management of QRs is important.
Despite the need to better understand the management of QRs in ASD and RSD, the body of knowledge on this topic is not well structured. While there are secondary studies [10,11,[16], [17], [18], [19], [20], [21], [22]] that examine state-of-the-art of requirements engineering (RE) in the context of ASD, only Alsaqaf et al. [10] and Villamizar et al. [22] specifically focused on QRs. However, Alsaqaf et al. [10] did so only in the context of large-scale ASD, whereas Villamizar et al. [22] examined only how security is handled in ASD. Existing secondary studies of RSD [8,[23], [24], [25]] also do not specifically focus on QRs. This makes it difficult for researchers and practitioners to obtain a clear understanding of QRs and their management in ASD and RSD. Uncovering important QRs in such contexts, related challenges and gaps would be beneficial. In this paper, we aim to fill this research gap by systematically identifying, structuring, analyzing, and assessing the quality of the scientific literature on management of QRs in ASD and RSD. In short, our systematic mapping study (SMS) has the following aims:
- 1.
To identify and classify the existing scientific research on management of QRs in ASD and RSD.
- 2.
To assess the quality of existing empirical work on the topic in terms of research rigor and industrial relevance.
- 3.
To identify and classify QR management strategies in ASD and RSD.
- 4.
To identify and classify the challenges of managing QRs in ASD and RSD.
Our work contributes to the existing body of knowledge on RE in ASD and RSD. For academia, we identify important research gaps that need further investigation, such as tools and guidelines for managing QRs, lightweight QR management strategies that can be used with short iteration cycles, the link between QRs and technical debt, and empirical validation of existing strategies in a wider context. Practitioners can utilize the findings of this study to improve their understanding of QR management in ASD and RSD. Consequently, they may address and eventually overcome the quality-related issues that arise in ASD and RSD. In such scenarios, it is important they assess the relevance and applicability of the management strategies in their development contexts. The rest of the paper is organized as follows. Section 2 provides a background and related work on the topic. Section 3 presents the research methodology followed to conduct the SMS. Section 4 presents the findings of the research. Section 5 discusses the implications of the findings. Finally, Section 6 summarizes and concludes the study.
Section snippets
Background and related work
This section presents some background information about QRs and their management in ASD and RSD. Moreover, it presents secondary studies on agile requirement engineering and RSD.
Research methodology
We performed an SMS following the guidelines proposed by Kitchenham et al. [51] and Peterson et al. [52]. We also adopted the snowballing guidelines proposed by Wohlin [53] to systematically search primary studies. SMS allows one to structure the evidence regarding a domain in which there is limited evidence or a broad topic [51]. Thus, in our study, SMS enabled us to structure the broad research on QR management in ASD. It was also suitable for determining and structuring the limited evidence
Results and analysis
In this section, we present the results and discuss how they relate to our research questions. Section 4.1 provides an overview of the research on the topic. Section 4.2 presents the findings regarding QR management strategies, and Section 4.3 presents the findings regarding the challenges of managing QRs. Finally, Section 4.4 maps the QR management strategies with the challenges.
Discussion
In this section, we discuss the implications of our findings for SE research, SE industry, and SE education, and compare our findings with related work.
Conclusion
Due to advancements in technology and highly competitive markets, ASD and RSD are a necessity for fast delivery of software. Ensuring high software quality is greatly important in such development approaches. QRs affect software quality and have economic implications on software development, and they play an important role in determining the success of ASD and RSD projects.
In this study, we explored the management of QRs in ASD and RSD through classification and synthesis of 156 primary
Acknowledgments
This work is the result of the Q-Rapids project, which has received funding from the European Union's Horizon 2020 research and innovation program under grant agreement no. 732253.
References (68)
- et al.
Analyzing the concept of technical debt in the context of agile software development: a systematic literature review
Inf. Softw. Technol.
(2017) - et al.
Continuous deployment of software intensive products and services: a systematic mapping study
J. Syst. Softw.
(2017) - et al.
Agile requirements engineering: a systematic literature review
Comput. Stand. Interfaces.
(2017) - et al.
Requirements engineering: a systematic mapping study in agile software development
J. Syst. Softw.
(2018) - et al.
A systematic literature review on agile requirements engineering practices and challenges
Comput. Human Behav.
(2015) - et al.
Problems, causes and solutions when adopting continuous delivery—a systematic literature review
Inf. Softw. Technol.
(2017) - et al.
Systematic literature review on the impacts of agile release engineering practices
Inf. Softw. Technol.
(2017) - et al.
Guidelines for including grey literature and conducting multivocal literature reviews in software engineering
Inf. Softw. Technol.
(2019) Method engineering: engineering of information systems development methods and tools
Inf. Softw. Technol
(1996)- et al.
Challenges and best practices in industry-academia collaborations in software engineering: a systematic literature review
Inf. Softw. Technol
(2016)