Ambiguity in user stories: A systematic literature review

https://doi.org/10.1016/j.infsof.2022.106824Get rights and content

Abstract

Context

Ambiguity in user stories is a problem that has received little research attention. Due to the absence of review studies, it is not known how and to what extent this problem, which impacts the effectiveness of user stories in supporting systems development, has been solved.

Objectives

We review the studies that investigate or develop solutions for problems related to ambiguity in user stories. We investigate how these problems manifest themselves, what their causes and consequences are, what solutions have been proposed and what evidence of their effectiveness has been presented. Based on the insights we obtain from this review, we identify research gaps and suggest opportunities for future research.

Methods

We followed Systematic Literature Review guidelines to review problems investigated, solutions proposed, and validation/evaluation methods used. We classified the reviewed studies according to the four linguistic levels of ambiguity (i.e., lexical, syntactic, semantic, pragmatic) proposed by Berry and Kamsties to obtain insights from patterns that we observe in the classification of problems and solutions.

Results

A total of 36 studies published in 2001–2020 investigated ambiguity in user stories. Based on four patterns we discern, we identify three research gaps. First, we need more research on human behaviors and cognitive factors causing ambiguity. Second, ambiguity is seldom studied as a problem of a set of related user stories, like a theme or epic in Scrum. Third, there is a lack of holistic solution approaches that consider ambiguity at multiple linguistic levels.

Conclusion

Ambiguity in user stories is a known problem. However, a comprehensive solution for addressing ambiguity in a set of related user stories as it manifests itself at different linguistic levels as a cognitive problem is lacking.

Introduction

Agile Software Development (ASD) has proven its success in delivering high-quality software [1], [2], [3], supporting changes in requirements and priorities [4,5], accelerating software delivery [6], [7], [8], [9], and better aligning IT solutions to business needs [10,11]. A distinctive feature of ASD is the continuous attention paid to requirements in project teams’ practices like iterative planning, daily stand-up meetings, retrospectives, and iterative reviews [11], [12], [13]. Iterative planning enables Product Owners (PO) and developer teams to gradually refine their understanding of the initial requirements and discuss how to deliver a software product that meets those requirements. Progress is constantly monitored through daily stand-up meetings to discuss prioritization of the requirements and to assess whether meeting those requirements can be accomplished in time and within budget. Iterative reviews obtain feedback from the client on the software product in development and look back at what has been accomplished. Retrospective processes investigate what can be done better in the next iteration.

Those practices are facilitated by a communication instrument that refers to the requirements. Preferably, requirements are described using a language that is familiar to both POs and developers. In ASD, the user story technique is a widely used artifact to express commitments between the development team and (a type of) user [14,15]. User stories are written in a semi-structured natural language from a user‘s perspective on the required software system's functionality [15], [16], [17]. Throughout the project lifecycle, user stories help to share the understanding of the expected system goals and functions [4,16,18,19]. Further, user stories are beneficial for monitoring progress towards developing the required system functionality, identifying persisting problems, and improving customer satisfaction [20], [21], [22], [23], [24].

Despite empirical support for these benefits (e.g., [18,19,25,26]), several studies showed that user stories are prone to ambiguity [24,[26], [27], [28]]. Based on these studies, we describe ambiguity as problems regarding the articulation of requirements as user stories, which cause doubtful, imprecise, and multiple interpretations of these requirements. These problems typically originate in different ways of articulating requirements and differences in application domain knowledge.

Although ambiguity of requirements impacts the system development process and its outcomes, we are not aware of any secondary study that reviewed and synthesized the state-of-the-art of the academic research that addresses this problem specifically for user stories. Therefore, in this paper, we investigate how research has dealt with user story ambiguity and what the outcome of this research is. Based on this review, we assess whether any research gaps remain and whether they provide interesting research opportunities.

To achieve these objectives, we perform a literature review of the published research on ambiguity in user stories. Following the Systematic Literature Review methodology [29], we investigate the following research questions:

RQ1: How are ambiguity problems defined?

RQ2: What solutions are proposed for ambiguity?

RQ3: What evidence of the effectiveness of these solutions is available?

Using a linguistic classification of ambiguity issues, we contribute novel insights into the current knowledge of understanding, avoiding, and resolving ambiguity in user stories. Further, based on the review, we identify research opportunities to enhance the effectiveness of the user story technique in supporting Requirements Engineering (RE) activities in ASD projects.

This paper is divided into seven sections. This first section presents and motivates the goal of our review study. Section 2 presents a simple, fictitious example that illustrates what ambiguity in user stories could be and how it could arise, as background for our study. Section 3 reviews related work on ambiguity in requirements, not specifically confined to user stories. Section 4 describes our research methodology. Subsequently, Section 5 presents the results of our systematic literature review. Section 6 discusses the results, exhibits the limitations of the research, and formulates recommendations for future research. Finally, Section 7 concludes the paper.

Section snippets

Background

User story formulation is standardized using templates. The Connextra template [15] was rated as the most used template for user stories in the survey reported in [25]. The template is:

As a 〈role〉, I want 〈 goal〉, so that <benefit>”

The template contains three segments: 〈role〉 describes a (type of) system user that wants the system to achieve or do something, 〈goal〉 describes the action to be performed by the system in support of the user, and 〈benefit〉 provides the rationale for this action

Related work

According to the Merriam-Webster dictionary, ambiguity exists when a word or expression can be understood in two or more possible ways [30]. In Software Engineering, ambiguity has been described as requirements that do not have a clear single meaning [28,[31], [32], [33]], but also as referring to inconsistency in requirements [34] and missing requirements [35]. Ambiguity is inherent in natural language, yet, the issue is considered a serious problem in software development because ambiguity in

Methodology

Our research process followed the Kitchenham guidelines [29] for Systematic Literature Review. We first searched for published research on user stories. Next, we selected those studies that focus on ambiguity in user stories.

In sub-Section 4.1, we explain how we systematically searched for published research on user stories. In sub-Section 4.2, we describe the classification of the identified studies in problem classes to select the studies addressing ambiguity in user stories. In sub-

How are ambiguity problems defined (RQ1)?

The thematic analysis (see sub-Section 4.2) aggregated four distinct problems that were identified in the initial set of 165 papers into the ambiguity class: vagueness of requirements articulated as user stories, inconsistencies between user stories, insufficiency of user stories in capturing requirements, and duplication of requirements in multiple user stories. Ambiguity problems arise due to user stories having doubtful, imprecise, or multiple interpretations. While studies focusing on the

How has academic research addressed ambiguity in user stories?

This study has presented the results of a systematic literature review of 36 unique studies that investigate problems and describe solutions related to ambiguity in user stories. Our review showed that there are four distinct ambiguity-related problems (i.e., vagueness, inconsistency, duplication, and insufficiency) and that research has defined these problems considering four linguistic levels at which ambiguity manifests itself in user stories (i.e., lexical, syntactic, semantic, pragmatic).

Conclusion

This paper presented the first systematic literature review of the research that focused on investigating or solving problems related to the ambiguity of requirements that are documented as user stories. Ambiguous user stories are a problem that, if undetected, propagates throughout the Agile software development process and ultimately affects the quality of the software itself. Our review, up to date till December 2020, shows that different solutions have been developed to identify and

Declaration of Competing Interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

Acknowledgement

This work was partially funded by the Indonesia Endowment Fund for Education (LPDP) (Contract S-1003/LPDP.4/2019) and Universitas 17 Agustus 1945 Surabaya.

References (81)

  • B. Ramesh et al.

    Agile requirements engineering practices and challenges: an empirical study

    Inf. Syst. J.

    (2010)
  • B. Meyer
    (2014)
  • F. Paetsch, A. Eberlein, and F. Maurer, “Requirements Engineering and Agile Software Development,” in Twelfth IEEE...
  • O. Liskin et al.

    Understanding the role of requirements artifacts in kanban

  • V.T. Heikkila et al.

    A mapping study on requirements engineering in agile software development

  • A. Cockburn et al.

    Agile software development, the people factor

    Computer (Long. Beach. Calif).

    (2001)
  • I. Gartner, “Results summary: agile in the enterprise,” 2019. [Online]. Available:...
  • Digital.ai, “15th state of agile report,” 2021. [Online]. Available:...
  • Versionone.com. and Collab.net., “the 12th Annual State of Agile Report,”...
  • K. Schwaber and J. Sutherland, “The scrum guide the definitive guide to scrum: the rules of the game,” 2020. [Online]....
  • M. Cohn

    Succeeeding with Agile Software Development Using Scrum

    (2010)
  • M. Cohn

    User Stories Applied For Agile Software Development

    (2009)
  • J. Choma et al.

    UserX story: incorporating UX aspects into user stories elaboration,”

  • A.M. Moreno et al.

    Agile user stories enriched with usability

  • V. Kannan

    User stories as lightweight requirements for agile clinical decision support development

    J. Am. Med. Informatics Assoc.

    (2019)
  • S. Gossage et al.

    Understanding Digital Cardwall Usage,”

  • J. Savolainen et al.

    Transition to agile development rediscovery of important requirements engineering practices

  • J. Barlow et al.

    Overview and guidance on agile development in large organizations. Communications of the Association for Information Systems

    Commun. Assoc. Inf. Syst.

    (2011)
  • S. Jalali et al.

    Global software engineering and agile practices: a systematic review

    J. Softw. Evol. Process

    (2012)
  • T.Rocha Silva et al.

    Evaluating the usage of predefined interactive behaviors for writing user stories: an empirical study with potential product owners

    Cogn. Technol. Work

    (2019)
  • G. Lucassen et al.

    The use and effectiveness of user stories in practice

  • E. Dilorenzo

    Enabling the reuse of software development assets through a taxonomy for user stories

    IEEE Access

    (2020)
  • H. Ordóñez et al.

    An impact study of business process models for requirements elicitation in XP

  • P.L. de Souza et al.

    Improving agile software development with domain ontologies

    Inf. Technol. Gener.

    (2018)
  • Merriam-Webster Inc., “Definition of ambiguity,” Merriam-Webster Inc., 1828....
  • G. Stella et al.

    Capturing user needs for agile software development

  • L.A. Lopes et al.

    Using UxD artefacts to support the writing of user stories: findings of an empirical study with agile developers,”

  • L. Müter et al.

    Refinement of user stories into backlog items: linguistic structure and action verbs

  • V. Gervasi et al.

    Ambiguity in requirements engineering: towards a unifying framework

    Lect. Notes Comput. Sci. (including Subser. Lect. Notes Artif. Intell. Lect. Notes Bioinformatics)

    (2019)
  • D.C. Gause et al.

    Exploring Requirements: Quality before Design

    (1989)
  • View full text