Keywords

1 Introduction

In recent years, agile methodologies have become the most popular approach for software development. However, they give focus to the functional requirements of the project, and do not describe explicitly the techniques and methodologies that should be applied to guarantee a good user experience (UX) for the final product. Therefore, software development is given the highest priority during every phase of the project life cycle, while time and resources assigned to interface design are limited. Frequently, this situation generates a final product with a poor user experience, and even if it meets the functional requirements established by the client, it may have a high risk of failure in the market.

Taking into account the popularity of agile methodologies, it is necessary to find a way for an agile project to incorporate good Usability and User Experience in its design and evaluation processes. For this matter, professionals from different organizations develop their own techniques for integrating Agile frameworks and User Experience design frameworks. However, they must face challenges such as the insufficient importance assigned to Usability and UX, insufficient communication between designers and developers, insufficient resources assigned for upfront activities and clients trying to represent final users without being aware of their real needs.

The aim of this study is to examine case studies that were lately described in the literature in order to identify the challenges integrating Scrum (most popular agile framework) and User Centered Design (design framework focused on satisfying user needs), and methodologies and techniques to overcome these challenges.

2 Main Concepts

2.1 Scrum

Scrum is one of the most popular agile frameworks, given that 70 percent of agile projects are based on Scrum [1]. It is adaptable, interactive, fast, flexible, effective and designed to offer considerable value in a quick way throughout the project. Teams are multi-functional, and work cycles (sprints), are short and concentrated.

2.2 User-Centered Design

User-Centered Design (UCD) is an iterative design process focused on user research, user interface design and usability evaluation to provide useful and usable software [2]. The purpose of this framework is to create an optimal product based on the user needs, rather than forcing users to adapt to the features of a product [3].

3 Methods and Materials

The systematic literature review was developed using the methodology proposed by Kitchenham [4]. Two research questions were defined to focus the systematic review of the state of the art, which were established using the “PICOC” criteria (Population, Intervention, Comparison, Outcomes, and Context). In addition, a search string was defined to retrieve papers published from the last five years.

3.1 Definition of the Research Questions

The purpose of the systematic review was to evidence challenges to the integration of the user-centered design framework and Scrum, as well as the methodologies and techniques proposed to overcome these challenges. The information search was structured using a PICOC table, which defines the Population, Intervention, Comparison, Output and Context criteria related to the systematic review. However, given that this review does not consider the comparison of the frameworks to be evaluated (Scrum and UCD), the comparison criteria was not used. The concepts are detailed in Table 1.

Table 1. General concepts defined using the PICOC criteria

Based on the concepts established on the Table 1, the following research questions were specified:

  • RQ1: What challenges do agile teams face when they integrate Scrum and UCD?

  • RQ2: What methodologies, methods and techniques are reported in the literature that consider the incorporation of UCD in a project developed following Scrum?

3.2 Database Selection

The following databases were selected for systematic review because they are the most relevant in the field of Computing and Software Engineering: (1) IEEEXplore, (2) ACM Digital Library, (3) Scopus, and (4) Thesis Repository of the Pontifical Catholic University of Peru (http://tesis.pucp.edu.pe/repositorio/).

3.3 Development of the Search String

For the elaboration of the search strings, key terms were stablished for each criterion, considering abbreviations, synonyms, and similar terms. Afterward, the terms were joined using the logical operators “OR” and “AND”:

  • C1: “agile” OR “lean”

  • C2: “UCD” OR “UX” OR “user-centered” OR “user centre” OR “user centered design” OR “user experience”

  • C3: “developer” OR “developers” OR “programmer” OR “programmers” OR “programming team” OR “development team”

  • C4: “software development” OR “software construction” OR “software project” OR “software projects” OR “software process” OR “software processes” OR “software engineering”

The resulting search string was as follows:

$$ {\text{C1}}\;{\mathbf{AND}}\;{\text{C2}}\;{\mathbf{AND}}\;{\text{C3}}\;{\mathbf{AND}}\;{\text{C4}} $$

3.4 Inclusion and Exclusion Criteria

In order to identify relevant papers, inclusion and exclusion criteria were established. The following exclusion criteria were considered: (1) Studies in languages other than English and Spanish, (2) Studies related to hardware usability instead of software usability, (3) Descriptions of workshops, meetings or talks where the topics discussed are not detailed, (4) Studies focusing on a defined context, (5) Studies based on defined software tools (e.g. DevOps or NoSQL), and (6) Teaching based studies.

Relevant publications include the following topics: (1) Strategies for the integration of usability in agile methodologies, (2) Communication and cooperation between designers and developers, (3) Practical models of usability in agile methodologies, (4) Lean UX, and (5) Challenges in the integration of usability in agile methodologies.

3.5 Search and Selection Process

The databases considered for the systematic review retrieved a total of 416 papers. Based on the previously defined exclusion criteria, 387 non-relevant papers were discarded, and the remaining 29 papers were selected as significant for the research. The summary of the search results is shown in Table 2 and the selected studies are listed in Table 3.

Table 2. Summary of search results
Table 3. Complete list of selected studies

4 Data Analysis and Results

In order to determine the most significant challenges when integrating Scrum and UCD, we identified the number of times each challenge was reported in relevant papers. We labeled each challenge with a code for future reference in the discussion on Sect. 4.1. All results are summarized in Table 4.

Table 4. Papers that report each challenge (RQ1)

4.1 Challenges Integrating Scrum and UCD

The results of the systematic review show that the three most significant challenges integrating Scrum and UCD are the insufficient importance assigned to usability and user needs (D1), the insufficient time assigned for upfront activities in Scrum (D2), and the communication problems between designers and developers (D3).

First, the insufficient importance assigned to usability in a software project has as consequence that clients are not willing to spend time and resources for usability (D8), given that UCD techniques are heavy and expensive (D11). Therefore, clients do not prioritize UCD activities (D9), rejecting usability tests (D7) and representing users without being aware of their real needs (D5).

On the other hand, given that Scrum does not assign enough time for upfront activities, it is difficult to complete the documentation required by UCD activities (D4), which is necessary to preserve a coherent UI structure as design activities are not easily modularized (D14). Also, it is difficult to estimate usability activities in order to distribute them evenly along the Scrum Sprints (D18).

Finally, the poor communication between designers and developers is caused not only because of their different ways of working (D6), but also because of problems in their team structure. Because of the lack of UCD specialists in the industry (D13), designers are usually distributed between different projects at the same time (D12), and they tend to leave the projects before its release (D17). Besides, developers often refuse to participate in design activities (D16), making it difficult for the designers to be aware of every technical restriction of the project during the design (D19). In consequence, the design usually must be modified in later stages of the project, and the designers may have already left the team.

Likewise, we identified the methodologies and techniques that could overcome the challenges, and the number of times they were reported in relevant papers. We labeled each methodology and technique with a code for future reference in the discussion on Sect. 4.2. All results are summarized in Table 5 and Table 6.

Table 5. Papers that report each methodology (RQ2)
Table 6. Papers that report each technique (RQ2)

4.2 Methodologies and Techniques for Integrating Scrum and UCD

The most significant methodologies for integrating Scrum and UCD, according to the results of the systematic review, are design in parallel to sprints, design within sprints, Lean UX and Design Thinking. In addition, 26 techniques for integrating Scrum and UCD were reported within the results.

The first methodology reported is design in parallel to sprints (M1), where designers could support the developers in the implementation of a sprint, while designing the interface for the next sprint. However, this could imply conflicts in communication, given that the development project would be divided in two teams. Therefore, the literature proposes a methodology where the design is included within the sprints (M3), which would guarantee an effective communication, but would require team cooperation from the beginning of the project. On the other hand, Lean UX (M2) focuses on minimizing risk of wasted resources by the release of fast prototypes (minimum viable product) to be tested by users. Finally, Design Thinking (M4) is focused on user centered innovation to generate, test and refine ideas, with the purpose of solving client problems.

Additionally, based on the results of the systematic review, the following UCD techniques were considered the most significant: (1) Low fidelity prototypes (T1): Low cost prototypes (discount usability) and fast feedback, (2) Personas (T2): Creation of hypothetical individuals to include in user stories, (3) Sprint 0 (T3): Sprint before the sprint 1, to understand user needs and start with the design process, and (4) Pair designing (T4): A designer and a developer working on the same computer, in order to guarantee product quality.

5 Conclusions and Future Works

The results of the systematic review prove that, even though nowadays there are not formal guides for integrating Scrum and UCD, there is a need to incorporate usability into agile methodologies.

Throughout the investigation, we identified several papers reporting challenges in the integration between Scrum and UCD. Between these challenges, the most significant were the low importance assigned to usability and user needs, the lack of time assigned for upfront activities in Scrum, and the poor communication between designers and developers. On the other hand, different methodologies were reported for integrating Scrum and UCD: Design in parallel to sprints, design within sprints, Lean UX and Design Thinking. Also, the results show that techniques such as low fidelity prototypes, Personas and Sprint 0 could be adapted for a Scrum-UCD framework.

In conclusion, there is interest on the integration of Scrum and UCD, and the creation of an explicit framework that integrates both approaches would be useful for the development of usable software products. However, in order to achieve this objective, it is necessary to evaluate, select and adapt the methodologies and techniques reported in this investigation, integrate them into the new Scrum-UCD framework, and evaluate and improve this framework by using it in real development projects.