Quality of software requirements specification in agile projects: A cross-case analysis of six companies
Introduction
Despite Agile Software Development(ASD)’s growth in recent years (One, 2017), some studies have identified problems related to the requirements engineering activities in the context of agile projects, such as low availability of the customer, and to the management and prioritization of requirements due to frequent changes, for example Heikkilä et al. (2015); Daneva et al. (2013); Read and Briggs (2012). One of the four values of the Agile Manifesto (Beck et al., 2001) supports “working software over comprehensive documentation”.
In this paper, we discuss the characteristics (factors) which affect the quality of Software Requirements Specifications (SRSs) in the context of ASD and how those factors affect the work of software engineers. Our goal is to characterize the phenomenon of the requirements specification activity in different contexts of projects which use agile practices and build an explanatory model providing a deep description of the factors that should be considered when writing more useful SRSs in ASD. More specifically, we intend to answer the following research question:
What factors affect the quality of SRSs in ASD and how these factors affect the work of the software engineers?
We used a mixed method research strategy. First, we performed a Systematic Mapping (SM) study (Medeiros et al., 2015). The results from the SM were used to conduct a cross-case analysis and synthesis of six industrial case studies, resulting in an explanatory model of the phenomenon.
Besides this introductory section, this paper is structured as follows. Section 2 introduces the concepts of SRSs quality and Agile Requirements Engineering. Section 3 describes the research methods used. Section 4 presents the SM protocol and results. Section 5 presents the design of the six case studies. Section 6 describes the results from each case study. Section 7 describes the results of the cross-case analysis of the case studies and presents the model built from the results of the synthesis. Section 8 presents a comparison of the generated model and the literature findings. This section also presents a discussion about the implications of this study for research and practice, and the threats to the validity of this empirical study. Finally, Section 9 presents the conclusions and open issues for future work.
Section snippets
Quality of the Software Requirements Specifications
According to ISO-IEEE 830 (IEEE, 1998), SRS is a specification for a particular software product, program, or set of programs that perform certain functions in a specific environment. So, in the context of this research, some examples of SRS are user stories, use cases, rules, mockups, and models. The quality of SRSs is a widely discussed concept in the literature. An exploratory study of various models for quality evaluation of SRSs is presented in Saavedra et al. (2013). The nine most
Research methods
This research is broadly based on empirical software engineering methods and guidelines. Empirical research explores, describes, predicts, and explains natural, social, or cognitive phenomena by using scientific methods and evidence-based experience (Sjøberg et al., 2007). The term “Evidence” refers to any observable event that tends to establish or disprove a fact (Kitchenham et al., 2005).
The general purpose of this research is to pursue answers for a question that is, in its essence,
Systematic Mapping
We conducted the SM in four phases following the guidelines suggested by Kitchenham and Charters (2007). Three researchers participated during this process. First, we carried out an automated search through the Reviewer1 tool to perform the string search simultaneously in five sources (IEEE Xplore Library, ACM Library, Science Direct, Springer Link and Scopus). Then, we conducted a manual search in the proceedings of the main conferences on requirements and ASD:
Design of the case studies
The case studies are classified as instrumental since our goal is to understand the constructs related to the phenomenon and build a model to explain it. The phenomenon was investigated from the perception of the software engineers (analysts, developers, architects and testers). In each case study, we followed the Grounded Theory procedures previously illustrated in Fig. 1.
Analysis of each case study
In this section, we present a description of the context of each case study, as for example the teams’ characteristics, years of experience using ASD, and the development process used by the company. These and other relevant aspects of the case studies are summarized in Table 3. It is possible to identify some differences concerning the agile practices used by the companies, as summarized in Table 4 that shows the main agile practices (Agile Alliance, 2016) used by projects investigated in the
Searching for cross-case patterns
To have a maximum variation sampling strategy, we chose very different companies, as shown in Table 3. We investigated public and private enterprises of different sizes: from young companies with only one year of existence to enterprises with more than 40 years of experience in software development. Three of the companies were headquartered in Brazil and provided services to clients located in Brazil. The other three companies have headquarters in Europe, but one of them has a branch in Brazil
Enfolding literature
An essential feature of the theory building is the comparison of the emergent concepts, propositions, or hypotheses with the extant literature (Eisenhardt, 1989). This involves asking what is similar to, what does it contradict, and why. In this section, we compare the findings of the cross-case synthesis with the Systematic Mapping (1), with values and principles of ASD (2), with practices of traditional development (3) and with some related works (4), discussing similarities and differences.
Conclusions
We presented the activities carried out to investigate the phenomenon of the quality of SRSs in ASD. First, we performed a Systematic Mapping study, which obtained a list of factors affecting the requirements engineering activities in ASD. Then, we performed an investigation about the industrial practice through a cross-case analysis of six organizations with distinct characteristics, in order to achieve high data variation and richness of results. A model that provides a deeper understanding
Juliana Medeiros is a Professor and Researcher of the Federal Institute of Education, Science and Technology of Paraiba (IFPB), since 2006. She has a Ph.D. in Computer Science from Universidade Federal de Pernambuco. She has more than 20 years of experience with management and development of research projects, and innovation in software companies. Juliana is particularly interested in Requirements Engineering, Agile Methods and Empirical Software Engineering.
References (41)
User Stories Applied: For Agile Software Development
(2004)- et al.
Selecting empirical methods for software engineering research
Building theories from case study research
Acad. Manag. Rev.
(1989)830-1998 – IEEE Recommended Practice for Software Requirements Specifications
Standard, 830-1998
(1998)- et al.
Guidelines for Performing Systematic Literature Reviews in Software Engineering
Technical Report
(2007) - Agile Alliance, 2016Agile glossary. URL: https://www:agilealliance:org/agile101/guide-toagile/agile-glossary/, Accessed...
Agile Requirements Best Practices
Technical Report
(2018)- et al.
Fundamentos de metodologia cientȡfica
(2007) - et al.
Organizational culture considerations with agile
Introduction to Agile Methods
(2014) Extreme Programming Explained: Embrace Change
(2000)
A multi-case study of agile requirements engineering and the use of test cases as requirements
Inf. Softw. Technol.
A case study on benefits and side-effects of agile practices in large-scale requirements engineering
Proceedings of the 1st Workshop on Agile Requirements Engineering
Recommended steps for thematic synthesis in software engineering
Empirical Software Engineering and Measurement (ESEM), 2011 International Symposium on
Agile requirements prioritization in large-scale outsourced system projects: an empirical study
J.Syst.Softw.
Empirical studies of agile software development: a systematic review
Inf. Softw. Technol.
Motivation in software engineering industrial practice: a cross-case analysis of two software organisations
Inf. Softw. Technol.
A systematic literature review on quality criteria for agile requirements specifications
Softw. Qual. J.
A mapping study on requirements engineering in agile software development
Software Engineering and Advanced Applications (SEAA), 2015 41st Euromicro Conference on
Cited by (31)
A voice of the customer real-time strategy: An integrated quality function deployment approach
2022, Computers and Industrial EngineeringCitation Excerpt :The identification of CRs is a vital step in QFD research, as it is the starting point of the House of Quality. In previous studies, traditional methods such as questionnaires (Haber et al., 2011; Amritesh and Chatterjee, 2018), panel discussions (Tontini, 2007; Vanany et al., 2019), interviews (Medeiros et al., 2018; Ferrari et al., 2016) and literature inspection (Shokouhyar et al., 2017; Piedras et al., 2006) are generally used. Further, several studies combine these traditional techniques to comprehensively acquire customer demands (Li et al., 2018; Dou et al., 2019; Borgianni, 2018; Yang, 2011; Fang et al., 2022).
Hidden fuzzy information: Requirement specification and measurement of project provider performance using the best worst method
2020, Fuzzy Sets and SystemsCitation Excerpt :Requirement specification is a phase of the procurement process which has hitherto attracted insufficient studies to address this significant problem of large procurement projects [2]. Admitting there are studies which deal with the requirement specification process, most of the current relevant literature has been focused on the specification process in the context of software engineering [4–7]. This is a challenging part of the procurement process which needs proper investigation in managing the procurement process of projects.
Requirements specification for developers in agile projects: Evaluation by two industrial case studies
2020, Information and Software TechnologyCitation Excerpt :In contrast, the RSD artifact structure was evaluated by the entire team. During the interviews, the RSD artifact structure was evaluated according to other quality factors of the model previously mentioned [18]: Simplicity, Acceptance Criteria, Non-Functional Requirements, Technical Aspects, Functional Requirements, Consolidated Information, Automated Support, Traceability and Change History. Each factor was assessed as being in Compliance, Partial Compliance or Non-Compliance.
LeSS agile projects: a machine learning driven empirical model to predict the human resource allocation
2024, International Journal of Information Technology (Singapore)A novel defect detection method for software requirements inspections
2023, International Journal of Electrical and Computer EngineeringAgile Software Requirements Engineering Challenges-Solutions—A Conceptual Framework from Systematic Literature Review
2023, Information (Switzerland)
Juliana Medeiros is a Professor and Researcher of the Federal Institute of Education, Science and Technology of Paraiba (IFPB), since 2006. She has a Ph.D. in Computer Science from Universidade Federal de Pernambuco. She has more than 20 years of experience with management and development of research projects, and innovation in software companies. Juliana is particularly interested in Requirements Engineering, Agile Methods and Empirical Software Engineering.
Alexandre Vasconcelos is an Associate Professor at the Center of Informatics at Universidade Federal de Pernambuco (CIn-UFPE), since 1995; He has a Ph.D. in Computer Science at the University of York, GB (1993); Postdoctoral Fellow in Software Engineering at Universidad Politecnica de Valencia, Spain (2011). He is currently an instructor, implementer and assessor of MPS.BR (Model for Software Quality created by the Society for Promotion of Brazilian Software Excellence - SOFTEX) and has experience in Software Engineering, acting on the following research topics: software quality, methodologies and software processes, environments and CASE tools, software testing and requirements engineering.
Carla Silva is an Associate Professor at the Center of Informatics at Universidade Federal de Pernambuco (CIn-UFPE), since 2011. She has a Ph.D. in Computer Science from Universidade Federal de Pernambuco (2007). Her research interests are in Software Engineering, mainly in the following subjects: Requirements Engineering, Model Driven Software Development, Software Product Line Engineering and Adaptive Systems. Recently, she achieved the milestone of 100 scientific papers published, many of them in high impact conferences and journals. Her current h-index is 16, according to Google Scholar . She has been serving as a Program Committee member of workshops and conferences. Occasionally, she has served as reviewer for scientific journals. She is also supervisor of Ph.D. students.
Miguel Goulão is an Assistant Professor of the Informatics Department of FCT/UNL and a researcher at the Software Systems group. He has a Ph.D. (2008) in Informatics from Universidade Nova de Lisboa. The broad aim of his research is to improve the software developer’s productivity and developer experience, in order to better deal with software development complexity. Miguel uses Evidence-Based, Empirical Software Engineering, and User Experience evaluation techniques to identify the strengths and shortcomings in languages, tools, and approaches. Miguel is particularly interested in improving the understandability of Requirements Engineering, to empower developers and other stakeholders to more effectively read and write software specifications. Miguel has published over 50 papers in peer reviewed international journals, conferences, and workshops, and served as guest editor of special issues in international journals, as PC member, and as PC and Organizing Chair in several events.