Elsevier

Journal of Systems and Software

Volume 142, August 2018, Pages 171-194
Journal of Systems and Software

Quality of software requirements specification in agile projects: A cross-case analysis of six companies

https://doi.org/10.1016/j.jss.2018.04.064Get rights and content

Highlights

  • We characterize the phenomenon of requirements specification in projects using agile practices.

  • We report the results of a cross-case analysis and synthesis of six industrial case studies.

  • We propose a model about the factors affecting the quality of requirements in agile projects.

  • The model defines simplicity and objectivity of requirements as essential quality factors.

  • The model argues that the requirements should be directed to the development team.

Abstract

Agile Software Development (ASD) has several limitations concerning its requirements engineering activities. Improving the quality of Software Requirements Specifications (SRSs) in ASD may help to gain a competitive advantage in the software industry. Based on the findings of a Systematic Mapping study, six industrial case studies in different contexts were conducted to investigate and characterize the requirements specification activity in ASD. Data collected from documents, observations, and interviews with software engineers were triangulated, analyzed, and synthesized using Grounded Theory and Meta-Ethnography. The analysis and cross-synthesis of the six case studies resulted in a model describing the phenomenon. This model defines the simplicity and objectivity as essential quality factors of SRSs in ASD. The main factors that affect the SRSs quality in ASD projects are related to their customer-driven nature that leads to prolix SRSs, hindering its understanding from the developer perspective. The emerged model is supported by explanations and provides a deeper understanding of the requirements specification activity in ASD. This creates opportunities for further studies and improvements in SRSs for ASD in industry.

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)

  • Beck, K., Beedle, M., Van Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., Grenning, J., Highsmith, J., Hunt,...
  • E. Bjarnason et al.

    A multi-case study of agile requirements engineering and the use of test cases as requirements

    Inf. Softw. Technol.

    (2016)
  • E. Bjarnason et al.

    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

    (2011)
  • D.S. Cruzes et al.

    Recommended steps for thematic synthesis in software engineering

    Empirical Software Engineering and Measurement (ESEM), 2011 International Symposium on

    (2011)
  • M. Daneva et al.

    Agile requirements prioritization in large-scale outsourced system projects: an empirical study

    J.Syst.Softw.

    (2013)
  • T. Dybå et al.

    Empirical studies of agile software development: a systematic review

    Inf. Softw. Technol.

    (2008)
  • A.C.C. França et al.

    Motivation in software engineering industrial practice: a cross-case analysis of two software organisations

    Inf. Softw. Technol.

    (2014)
  • Heck, P., Zaidman, A., 2014. A quality framework for agile requirements: a practitioner’s perspective....
  • P. Heck et al.

    A systematic literature review on quality criteria for agile requirements specifications

    Softw. Qual. J.

    (2018)
  • V.T. Heikkilä et al.

    A mapping study on requirements engineering in agile software development

    Software Engineering and Advanced Applications (SEAA), 2015 41st Euromicro Conference on

    (2015)
  • Cited by (31)

    • A voice of the customer real-time strategy: An integrated quality function deployment approach

      2022, Computers and Industrial Engineering
      Citation 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 Systems
      Citation 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 Technology
      Citation 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.

    • A novel defect detection method for software requirements inspections

      2023, International Journal of Electrical and Computer Engineering
    View all citing articles on Scopus

    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.

    View full text