Management of quality requirements in agile and rapid software development: A systematic mapping study

Reading time: 5 minute
...

📝 Original Info

  • Title: Management of quality requirements in agile and rapid software development: A systematic mapping study
  • ArXiv ID: 2002.02303
  • Date: 2020-02-07
  • Authors: - Author1 Name - Author2 Name - …

📝 Abstract

Context:Quality requirements (QRs) describe the desired quality of software, and they play an important role in the success of software projects. In agile software development (ASD), QRs are often ill-defined and not well addressed due to the focus on quickly delivering functionality. Rapid software development (RSD) approaches (e.g., continuous delivery and continuous deployment), which shorten delivery times, are more prone to neglect QRs. Despite the significance of QRs in both ASD and RSD, there is limited synthesized knowledge on their management in those approaches. Objective:This study aims to synthesize state-of-the-art knowledge about QR management in ASD and RSD, focusing on three aspects: bibliometric, strategies, and challenges. Research method:Using a systematic mapping study with a snowballing search strategy, we identified and structured the literature on QR management in ASD and RSD. Check the PDF file to see the full abstract and document.

💡 Deep Analysis

Figure 1

📄 Full Content

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: 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.

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.

2.1 Quality requirements A QR is defined as “a requirement that pertains to a quality concern that is not covered by functional requirements” [26]. QRs play a crucial role in the success of software systems. Failure to properly deal with them may result in increased cost or longer time-to-market [27,28]. The definition above, which relies upon functional requirements, has led to the widespread use of the term non-functional requirement (NFR). Mylopoulos et al. [29] defined NFRs as “… global requirements on [the system] development or operational cost, performance, reliability, maintainability, portability, robustness, and the like.” Other terms, such as “extra-functiona

📸 Image Gallery

cover.png

Reference

This content is AI-processed based on open access ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut