Name
An Empirical Study about the Instability and Uncertainty of Non-functional Requirements
Date & Time
Friday, June 16, 2023, 1:30 PM - 5:00 PM
Jorge Melegati Luiz Viviani Xiaofeng Wang Eduardo Guerra
Description

Managing non-functional requirements (NFRs) has been a challenge in software development for many years. These requirements are typically used to make important architectural decisions early in the project, which can be problematic if they are uncertain or unstable. When this uncertainty is not considered when designing the software architecture, changes are often costly and sometimes even unfeasible. Some empirical studies on the subject have already been carried out, but few have focused on the perspective of professionals with extensive experience on the changes and uncertainties of NFRs. This work aims to expand the understanding about the management, clarity and validation of NFRs to fill this gap in the literature. To achieve this goal, a survey was carried out with professionals to find out how NFRs were managed and validated. For the research design, instead of generic questions, the questionnaire focused on some specific types of NFRs to induce participants to recall and report concrete situations. As a result, 40 valid responses were obtained, most from professionals with more than 10 years of experience. The results reveal that a significant number of NFRs were defined after the delivery of software increments (more than 30\%) and that revision and change occurred in about a third of the NFRs. Hence, this study presents evidence that NFRs, as the functional ones, can also be uncertain and change frequently, requiring agile approaches and techniques to evolve the software architecture to consider this uncertainty.

Location Name
Grote Zaal, 2nd floor
Full Address
Pakhuis de Zwijger
Piet Heinkade 179
Amsterdam 1019 HC
Netherlands
Session Type
Research Paper
submissions_id
9761
Track Color
Blue
Session Length
20
Keywords
non-functional requirements
quality attributes
software maintenance
software evolution
requirements engineering
empirical study
Learning Objectives
Socializing tech practices
Track
Engineering