Keywords

1 Introduction

The software industry has been growing in recent years, and new techniques and best practices are being applied to improve the software lifecycle. There has also been a significant penetration of agile methodologies in the development of interactive software systems [1], causing a favorable impact on the lives of individuals and organizations. Agile methods are increasingly used to develop products and reduce development time. However, to achieve a good user experience (UX), agile methods alone are not sufficient [2]. Agility facilitates collaboration with developers but provides inadequate opportunities to work with users. Early agile formulations did not identify UX as a different aspect of software development. Besides, some popular agile methods avoided the practice of previous design with a user research phase to develop a deep understanding of users and their needs. Since then, some practices such as people have become part of the agile mainstream [3]. Integrating user experience (UX) activities into agile development is one of the main challenges for UX professionals [4], since UX and Agile have two different objectives that are product interaction with the user and code creation for a product respectively [5]. The challenge is where to merge them and how to merge them so that there is genuine interaction between the two components [5].

This research proposes to conduct Systematic Review Literature (SRL) on the integration of user experience and agile techniques for requirements analysis. It seeks to classify the studies found to obtain a compendium of strategies and case studies, as well as to detect the most relevant problems faced by professionals in requirements engineering.

This study is organized into 6 sections. Section 2 presents the background and related work, Sect. 3 presents the Protocol for Systematic Literature Review (SLR), Sect. 4 shows the results of each of the research questions, Sect. 5 presents the threats to validity of this investigation, and finally, Sect. 6 presents the conclusions and future work.

2 Background and Related Work

In this section, the concepts of agile methodologies, usability, and requirements engineering that will be used for the development of research are presented.

  • Agile methodologies: In agile software development, work is carried out in small phases, based on collaboration, adaptive planning, early delivery, continuous improvement, regular customer feedback, frequent redesign resulting in the development of software increments delivered in successive iterations in response to constant changes in customer requirement [6].

  • Usability: According to Nielsen [7], usability is a quality attribute that evaluates the usability of user interfaces. Also, Hassenzahl [8] indicates that the user experience (UX) is a momentary feeling, mainly evaluative (good-bad) when interacting with a product or service. The following are the most important steps in the usability engineering process:

  • Person: a person is a fictional but realistic description of a typical user or product objective; in short, it is an archetype rather than a real living human being, but people should be described as if they were real subjects [9].

  • Scenario: it seeks to close the gap in agile methodology when it comes to analyzing the working context and defining a consistent design vision [1].

  • Paper prototyping: The value of the paper prototype is that critical information can be collected quickly and inexpensively. The technique can be used over and over again with minimal resource consumption [11].

  • Heuristic Evaluation: This allows a group of usability experts to compare a site’s interface with the principles of usability. The analysis allows you to identify a list of possible usability issues [12].

  • Requirements engineering: Software requirements engineering (RE) is the process of identifying stakeholders and their needs and documenting them in a way that is capable of analysis, communication, and subsequent implementation [13].

According to Losada [14], agile integration and user-centric design (UCD) allows you to take advantage of both approaches in a hybrid method. Requirements will evolve and gradually adapt to the needs of users and customers. On the other hand, according to Schon et al. [15], Agile Software Development (ASD) is used to address the growing complexity in system development. Hybrid development models, with user-centric design (UCD) integration, are applied to deliver competitive products with an appropriate user experience (UX). Therefore, stakeholder and user engagement during Requirements Engineering (RE) is essential to establishing a collaborative environment with constant feedback loops.

3 Review Process

Systematic Literature Review (SLR) is a means of identifying, evaluating and interpreting all available research relevant to a particular research question, thematic area, or phenomenon of interest [16]. The present SLR was conducted using the guidelines proposed by Kitchenham y Charters. Figure 1 shows the review protocol proposed by [16] that was followed on this paper.

Fig. 1.
figure 1

Systematic literature review protocol proposed by [16]

3.1 Research Questions

The definition of research questions was carried out using the PICOC methodology (Population, Intervention, Comparison, Outcome, Context) [17] with the help of the criteria shown in Table 1. This study aims to identify best practices and application cases for integrating user experience and agile techniques into requirements analysis, seeking to answer the main question of research.

Table 1. PICOC
  • RQ01 What are the most commonly used practices and/or strategies in the requirements analysis for the integration of user experience and agile techniques?

  • Based on the main question, specific questions were asked:

  • RQ02 What are the obstacles faced by requirements engineering professionals in an agile context by applying user experience?

  • RQ02-1 What kind of problems were encountered based on an existing taxonomy?

  • RQ03 What agile techniques are used in this research?

  • RQ04 What usability techniques are presented in this research?

3.2 Selection of Studies

For this study, digital databases covering the largest amount of literature on the subject of research were consulted. For this reason, Scopus, IEEE Xplore, Web of Science, and ACM were chosen as they are the most important in the scientific field and because they offer a great content of high impact scientific journals. The search terms for constructing the string are shown in Table 2. The search string turned out as follows:

Table 2. Search Terms – PICOC

(usab* OR “user experience” OR ux OR “user centered” OR ucd) AND (agile OR scrum OR xp OR kanban) AND (requirement)

Inclusion (IC) and exclusion (EC) criteria were defined to carry out the investigation: (IC.1) Publications must be written in Spanish, English, or Portuguese; (IC.2) The articles have been published since 2010; (IC.3) Publications are Conference Paper/Article/Book Chapter/Review/Book; (IC.4) Access to the content of the publication must be available; (IC.5) The paper includes the integration of agile techniques and user experience for requirements analysis considering best practices; (EC.1) Duplicate articles from the same study. The least complete version is excluded. (EC.2) The publication is not related to the user experience field. (EC.3) The publication is not related to the field of agile techniques. (EC.4) The publication does not cover the study of the integration of user experience and agile techniques for requirements analysis.

3.3 Search Strategy

The SLR has been considered 5 stages, applying the criteria according to Table 3. In the first stage, studies of the databases selected using the search strings defined in the PICOC strategy and the inclusion and exclusion criteria were considered; in the second stage, the titles and summaries of the studies found to obtain the relevant studies were reviewed; in the third stage, the introduction and conclusions of the studies resulting from the second stage were revised; in the fourth stage, a full-text reading of the resulting studies was carried out; finally, primary studies were obtained.

Table 3. Inclusion and exclusion procedures and criteria.

3.4 Quality Assessment

A list of questions was defined to assess the quality of studies, see Table 4. The questions in the Zarour et al. [18] proposal was considered as a reference. A 3-level compliance rating scale was used to assess the quality of the studies. If the study under evaluation Yes meets the quality question is assigned 1 point if it partially meets it is assigned 0.5 points, and if It does not meet it is assigned a score of 0. Only posts with a score of more than 2.5 were accepted.

Table 4. Quality assessment

3.5 Data Extraction

Searches on each database were conducted in June 2020. The studies found in the initial search were consolidated into a single.xlsx format file, where the study selection procedure was performed. Table 5 shows that the initial search had 392 results, but after applying the search strategy in Sect. 3.3, 25 primary studies were obtained.

Table 5. Search results

The 25 studies selected in Table 5 were subjected to a quality assessment process and all studies were reported to exceed the minimum accepted score of 2.5. The Table 6 shows the list of the 25 selected papers (in the following link https://drive.google.com/file/d/17nDQ5eBEmSLb32FutKg6vpf3hygvEcj-/view, all the references on Table 6 are listed).

Table 6. List of accepted studies

4 Discussion

This section presents the general findings and results of each of the research questions.

4.1 General Findings

Relevant data were collected from the list of 25 accepted studies to extract the first results. It was reported that, in 2010, 2016, and 2018, a greater number of publications were made with 4 studies per year. Likewise, after extracting the consolidation of countries based on the authors, it was obtained that the most widespread studies are found in Spain (25%), Germany (21.43%), and Brazil (17.86%). Studies were also consolidated by publication media and it was reported that the media that found the most results were Conference Paper (88%), Article (8%), and Review (4%). Finally, the classification of studies by type of research was carried out following the proposal of Wieringa et al. [19] and it was reported that the majority of studies are proposal, evaluation, validation, and philosophical with 10 (40%), 5 (20%), 4 (16%) and 4 (16%) studies respectively.

4.2 Results of Research Questions

RQ01 What are the Most Commonly Used Practices and/or Strategies in the Requirements Analysis for the Integration of User Experience and Agile Techniques?

Figure 2 shows that the most commonly used practices are User Stories, Low Fidelity Prototypes, and Person with 15, 13, and 12 studies respectively. Similarly, there is a tendency to use scenarios, high-fidelity prototypes, and use cases in recent years.

Fig. 2.
figure 2

Distribution of practices in requirements engineering

The results indicate that using user stories in an agile context applying user experience is the most used practice in recent years. Kamthan and Shahmir [1, 20], Sedeño et al. [21], and Choma et al. [22] in their respective studies propose a new approach to model agile requirements through user stories, integrating usability techniques. On the other hand, the study by Kropp and Koischwitz [23, 24] was found, in which they propose to introduce the role of a team called “On-site user experience consultant” (osUX consultant) that supports the integration of UCD in a Firm in agile requirements engineering under the constraints of fixed price software development projects. Also, the crucial UCD activities of the osUX consultant are grouped into four phases: initiation, conceptualization, implementation, and follow-up. Likewise, Losada [14] proposes an agile type of integration - flexible UCD and, for this, presents the User Objectives (UO) as an alternative to the usual tools to collect the requirements. Losada [14] mentions that the realization of a UO is carried out following three activities: Specification of Requirements, Presentation, and Functionality. Finally, Forbrig [25] presents a study in which he provides a process model to integrate human-centered continuous development in continuous requirements engineering, and discusses the possible applications of model-based technologies for aspects of the user interface. Forbrig’s model [25] is based on SCRUM and discusses some aspects of the integration of HCD in the development process.

RQ02 What are the Obstacles Faced by Requirements Engineering Professionals in an Agile Context by Applying User Experience?

After analyzing the studies, 17 problems in requirements engineering were identified in an agile context by applying user experience. Table 7 details the problems detected based on the primary articles.

Table 7. Requirements engineering problems

Sabariah et al. [26] mention that the lack of direct user participation in the requirements elicitation process could hurt the use of an application. A study by Hjartnes and Begnum [27] provides information on seven important challenges to solve to ensure usability in agile projects, where two of the findings are that the requirements are difficult to obtain and that user participation takes time. Likewise, Wanderley et al. [28, 29] reinforces the importance of the requirements validation and verification process but focusing on improving user collaboration in an agile process. Hjartnes and Begnum [27] indicate that collaboration between designers and developers is key since communication influences the efficiency of users’ work and strengthens a common approach. On the other hand, Choma et al. [22] mention that a common vocabulary of UX concepts should be established among developers, testers, and designers. Lee et al. [30] describe that to bridge the gaps between developers and designers, various object modeling techniques and UI design patterns have been tried over the years, however, there are still difficulties in reporting the common representation of user tasks and application characteristics. Xiong and Wang [31] indicate that there is low communication efficiency between UCD specialists and developers; To do this, it proposes the Inter-Combined Model to reduce the transfer of knowledge from designers to developers. Losada [14], Choma et al. [22], and Bourimi et al. [32, 33] in their respective research they mention those non-functional requirements are often considered late in the development process or are omitted in some projects; This practice could cause tensions between project stakeholders since there would be a conceptual lack of guidance and support to efficiently meet non-functional requirements.

RQ02-1 What Kind of Problems Were Encountered Based on an Existing Taxonomy?

To classify the problems encountered, the taxonomy of critical success factors of San Feliu et al. [34]. Figure 3 shows the number of problems detected by each category. It is observed that the problem that covers a greater number of studies is the lack of user participation and belongs to the Participation category. Whereas, the category that encompasses the largest number of studies in total is Deployment.

Fig. 3.
figure 3

Mapping of problems and categories

RQ03 What Agile Techniques are Used in This Research?

From the 25 accepted studies, information was collected to show the various agile techniques used in software development projects. It was evidenced that most of the research covers the study of agile development in general with a total of 13 studies. Likewise, within the techniques, SCRUM, INTERMOD, XP, AFFINE, and SNAPMIND were found with a total of 6, 2, 2, 2, and 2 studies respectively.

As part of the results, the InterMod methodology was found, proposed in 2009 by Losada et al. [35]. InterMod was born as an interactive application design methodology that proposes the use of user-centered models to define requirements, describe the human-computer dialogue, and evaluate prototypes [35]. After 2 years of the initial proposal, in 2011, the authors presented a new vision of the InterMod methodology, which proposes to integrate three philosophies: User-Centered Design (UCD), Model-Based Development (MDD), and Agile Methods (AM) [36]. This new InterMod approach proposes some model-driven development and integration activities to achieve user objectives (UO) [36]. In 2013, the authors present a guide for agile interactive software development with a methodology driven by “user objectives”. Losada et al. [37] define the concept of user objectives as the operations that the user will perform in the application interface. Finally, in 2019, Losada et al. [38] present a proposal for the integration of its InterMod methodology and acceptance test-based development (ATDD) [39]. Their study aims to mitigate the shortcomings of agile development methods concerning software usability, considering the advantages of the ATDD cycle when combined with the InterMod methodology [38].

AFFINE is an agile framework for the integration of non-functional requirements engineering (NFR) initially proposed in 2010 by Bourimi et al. [32]. AFFINE is based on Scrum and aims to address three needs in the development of socio-technical systems following agile methodologies, which are: considering NFRs conceptually early in the development process, explicitly balancing the needs of end-users with those of developers, and a reference architecture that supports NFRs [32]. In 2013, Bourimi et al. [33] present collected findings from the use of AFFINE in various projects related to software development, evidencing that the first experiences promise great suitability of AFFINE for future work of a multidisciplinary nature (HCI communities and IT security/privacy in this contribution).

On the other hand, the SnapMind framework aims to make the requirements modeling process more user-centric, by defining a visual requirements language, based on mind maps, model-driven language techniques, and specific domain [28]. The SnapMind framework is mainly made up of three components: the visual domain modeling editor, the visual user scenario editor, and USE-tool [28].

RQ04 What Usability Techniques Are Presented In This Research?

In Fig. 4, the distribution of the usability techniques used in the present investigation is observed. It is observed that the greatest interest of the authors is focused on usability, User Experience (UX), and User-centered design (UCD) with 11, 8, and 8 studies respectively.

Fig. 4.
figure 4

Distribution of usability techniques

Maguire [40] extends the Human-centered design (HCD) framework in agile software development based on the ISO 9241-210 [41] standard. Lopes et al. [42] present an investigation on how developers use Human-Computer Interaction (HCI) techniques and methods to support the writing of user stories. Likewise, Moreno and Yagüe [43] explore the implications of usability both for the structure and for the process of defining user stories. Also, they present the development of an agile project (a tool for managing user stories). On the other hand, Wanderley et al. [29] focus on the cognitive evaluation of a user-centered language called BehaviorMap that aims to specify user behavior scenarios cognitively, based on the modeling of mind maps.

In the study by Santos et al. [44] the Design Thinking process is presented. Since the process is promoted for people, Santos et al. [44] indicate that it is necessary to think about how the processes that involve the end-user can work. In his study, the planning of two stages was reconsidered: Requirements Engineering and Quality Measurement. Santos et al. [44] mention that for the requirements analysis, Design Thinking allows working on empathy to generate value for people through conversations, validations, and understanding of the user’s pain.

Hjartnes and Begnum [27] present a study on Universal Design in agile ICT projects. ICT Universal Design (UD) is about creating solutions that are usable and accessible to as many end-users as possible. The study by Hjartnes and Begnum [27] presents seven Agile Universal Design (AUD) challenges.

5 Threats to Validity

According to Wohlin et al. [45], four types of validity threats are considered.

Construct Validity:

Search strings were developed using the most representative words of the PICOC criteria and executed in the four selected databases. Besides, a study selection procedure was followed to ensure the integrity of the investigation. However, there may be studies that have been overlooked because they are indexed in other database repositories.

Internal Validity:

To mitigate this validity, the systematic review protocol was first reviewed by the principal investigator and subsequently by two experienced researchers.

External Validity:

Eight (8) relevant studies from the SCOPUS database were identified in the first instance and served as a reference for this study.

To validate that the search string did not exclude any relevant studies, it ran several times until the eight (8) selected studies were found for reference. In this way, the search string was found to work correctly for this research topic.

Conclusion Validity:

To mitigate the threat of including studies that do not answer research questions or exclude relevant studies, inclusion and exclusion criteria were developed. Besides, the evaluation of the quality of studies was carried out following the checklist proposed by Zarour et al. [18].

6 Conclusion and Future Work

This research presents a systematic review of the integration of agile techniques and user experience in requirements engineering. The Kitchenham and Charters [16] methodology was followed, applying a selection procedure and evaluation of the quality of studies. A total of 25 primary studies were recovered, which are published in the main digital libraries. Concerning accepted studies, a downward trend has been observed in recent years, since the authors are devoting themselves to evaluating their proposed solution in case studies.

According to the research carried out, user stories, paper, and person prototypes are the most used practices in the analysis of requirements for the integration of user experience and agile techniques. On the other hand, 17 problems were detected in the engineering of requirements that were classified based on the taxonomy of San Feliu et al. [34]. Based on primary studies, it was reported that the most widely used agile practices are Scrum, InterMod [35,36,37,38], Extreme Programming (XP), AFFINE [32, 33] and SnapMind [28] and; Among the most used usability techniques were user-centered design, user experience, and usability. Also, the research classification was carried out based on Wieringa et al. [19] and, of the 25 accepted studies, the majority turned out to be proposals and validations with 10 and 5 studies respectively.

Based on the proposals found in the present study, as future work, an investigation could be carried out to analyze how these proposals are being carried out through case studies in the software industry, thereby validating whether the integration proposals agile techniques and user experience in requirements engineering are being put into practice or if they only remained in theory. Likewise, the research by Sedeño et al. [21] and Choma et al. [22], taking their studies to implementation through development projects, given that the user story grammar proposal that they present has not been evaluated in detail in agile projects. Finally, it is suggested to continue with the investigation of the problems faced by professionals in requirements engineering, based on the problems detected in this study. It is suggested to focus the research on how professionals are implementing software process improvement or frameworks, to solve these problems.