Keywords

1 Introduction

The main goal of this research is to propose an approach, based on UX Design, focused on communication, that allows web applications development applying the agile method called SCRUM. The intent is to make UX Design-related tasks compatible with SCRUM-related tasks, generating an agile developed software product that also addresses user’s experience.

To help making both cited methods compatible, it will be adopted a communication framework called linguistic metamodel, the goal is to support communication-related activities that will exist throughout the development process. This framework will provide protocols to permeate communication during the application of the proposed approach. Experiments will also take place in order to verify, in a practical manner, the applicability of such approach.

It was verified in some researches a high usage rate of SCRUM method and a low usage rate of UX tools, what led to questionings regarding if the same proportional difference would repeat when dealing with the usage of UX design methods compared to the usage of SCRUM and also if there are studies on how to integrate both. Based on such questionings, papers related to this theme were found, offering clear statements on how small the literature volume on methods or approaches for such integration was and that there was more research on problems found during the integration process and practitioner’s experiences. This research proposes an approach for the development of web applications using SCRUM, based on UX design, offering the metamodel as a tool to tackle communication problems during this process. It’s also verified the applicability of the proposed approach in both academic and industrial contexts.

The work method used consists on bibliographical research of referenced works as fundaments and base for this research, a systematic review on integration attempts between SCRUM and UX design: During the development of this research technical standards were found along with much work and many studies related to different areas of knowledge, such as computer science, usability, human-computer interaction and neurolinguistics to provide the necessary knowledge base for the consequent creation of an approach that led to the integration of SCRUM and UX design.

After that, also part of the work method, mind maps were created in order to facilitate the process of finding and extracting information to make possible the creation of a comparative analysis table that was used to compare all different researches that 2 were found. Having the comparative table allowed the development and proposal of an approach based on the most used tactics by the found authors, with the application of the metamodel to reduce communication’s gaps and flaws. It was also part of the work method a verification on the approach’s applicability by means of planning and performing different experiments in different contexts, with data collection and analysis of resulting integration attempts and consequent verification of approach’s applicability.

The experiments were done in academic and industrial contexts in order to validate and check viability/applicability of the proposed approach: In the academic context, workshops were made for the practical application of the developed approach and information regarding the experiment was collected by means of questionnaires. In the industrial context, interviews were made with specialists in SCRUM or UX design, collecting their opinions about the presented approach.

The expected contributions of this work are: (a) Proposal of a formalized and structured approach. It should unify SCRUM development-related activities with UX Design-related activities; (b) Usage of communication metamodel within the approach. The framework should be used in order to reduce communication noise such as omissions, generalizations and distortions that come from interaction between individuals during the development process; (c) Synthesis of the current knowledge level regarding UX Design x SCRUM integration. A comparative analysis will be done to investigate related work after a systematic review on the integration topic; and (d) Demonstration of approach’s viability on SCRUM x UX Design integration. Experiments will take place after the approach’s proposal in order to observe and verify its applicability on both industrial and academic contexts.

The paper then includes a section on literature review, that is, agile method, usability and standards, their methods and deliverables, usability engineering. The communication metamodel theory closes the literature review in this work. The research methodology is presented followed by the results obtained.

2 Agile Method: SCRUM

One of the most popular agile methods used nowadays. Its process has adaptive, iterative, rapid, flexible, continuous improvement and feedback characteristics. It was structured in order to help efficient and significant deliveries to users in terms of value proposal during the project [27].

SCRUM has three main roles to make viable its application that will be considered in this research (Fig. 1), they are defined by [27] as follows:

Fig. 1.
figure 1

Typical SCRUM process [27]

  • Product Owner: It is the person responsible for achieving the maximum business value for the project. He or she is also responsible for articulating customer requirements and maintaining business justification for the project. The product owner represents the voice of the customer.

  • SCRUM Master: It is a facilitator who ensures that the SCRUM Team is provided with an environment conducive to complete the project successfully. The SCRUM Master guides, facilitates, and teaches Scrum practices to everyone involved in the project; clears impediments for the team; and, ensures that SCRUM processes are being followed.

  • SCRUM Team: It is the group of team of people who are responsible for understanding the requirements specified by the Product Owner and creating the Deliverables of the project.

SCRUM process involves the following phases: (1) Initiate; (2) Plan and Estimate; (3) Implement; (4) Review and retrospect; (5) Release. The proposed approach will focus on analysis-related phases (1 - Iniciate/2 - Plan and Estimate) and test-related phase (4 - Review and retrospect). Only the cited processes will be considered because they represent moments where there are more interactions between designers and developers, occurring intersection between their work processes. Processes related to development and delivery (3 - Implement and 5 - Release, respectively) do not require any modifications because each team must work on their respective activities following the SCRUM Process.

3 Human-Computer Interaction

3.1 Usability and Standards: ABNT/NBR 9241:2011 e ISO/TR 16982:2014

Both cited standards will be adopted throughout this work [1, 2] because since usability is a widely used term, it may have different interpretations according to the context where it is applied, therefore, it was understood as necessary the adoption of a standardized definition on this term.

Considering the “Measure in which a product may be used by specific users to reach specific goals with efficacy, efficiency and satisfaction in a specified context”, such definition from standard [2] was evaluated by UX Design practitioners [19] and was understood as promising. The standard [1] was used in order to understand how to classify available usability methods and select which would be addressed by the approach. The biggest focus on this work lies on project’s usability of a product that can be used, seeking to address and respect consolidated recommendations from specialists in the area [22,23,24]. Analyzing the usability area, it was understood as necessary the definition of a more focused scope of work. Since communication permeates all kinds of interactions [26] it would be desirable to focus on the interaction project during this research.

3.2 Methods and Deliverables

Authors such as [7, 29] describe many methods and deliverables related to the interaction project. Among the cited deliverables, that help defining the interaction project and its usability level, two were select: Personas and User Stories. Both were selected because they are well known methods, largely used that were proven to bring good results on previous integration attempts by other authors [10, 12].

After careful research on both methods, it was found that some improvements were proposed to original user stories [18]. The improvements are related to the reduction of ambiguities on the user story, including the role that does specific tasks in a contextualized way. Its name was also modified to “job story”. The structure is defined by [18] as follows: When ______ (Situation), I Want ______ (Motivation), So I can______ (Expected outcome).

It is also recommended by authors such as [7, 24] the usage of low fidelity prototyping in order to provide mutual understanding between designers and developers, mitigating integration problems. The three selected deliverables were selected in order to provide the approach with tools of different formality levels, in a way that one complements the other and vice versa.

3.3 Usability Engineering

Usability engineering is defined as a discipline that provides, in a multidisciplinary way, a group of methods and activities that generate better user experience when applied during a software’s development process [4, 5, 20, 24]. The authors [4, 5, 20, 24] propose a series of activities for the composition of a usability lifecycle, therefore, proposing usability lifecycle models.

When comparing the cited lifecycle models, some degree of similarity was observed. The authors demonstrated the need of defining elements such as user profile, usability goals, prototype design, tests and user feedbacks.

On the other hand, it was also observed some degree of complementarity. The PICAPS project [4, 5] uses the usability engineering process to design the diversity of users in different contexts. In model [24] it is proposed the application of heuristic analysis that complements the activity of interactive prototype evaluation proposed by [20]. Thus, the application of heuristics analysis was considered for this application.

4 Communication Metamodel

Authors such as [7, 9] cite how communication is understood and evaluated in the context of human-computer interaction (HCI). There are four perspectives under which such interactions may occur: Data transmission – in a system; User-system interaction; User using computer as a tool; and Media – communication between users or communication designer-user.

In such cases and scenarios, communication is studied by cognitive and semiotic engineering areas, that characterize a particular case of system-mediated human communication. However, this is not the concept of communication that is being considered. The concept considered in this work involves neuro-linguistic programming (NLP) area, that brings such knowledge to this research.

NLP experts [6] defined that language serves as a representational system for human experience, that is very rich and complex. Given the fact that it is a representational system, therefore, a model, it is inferred that language used in communication only represents a communicator’s point of view of what it is observed.

It was also defined that whatever happens inside the human mind regarding an event, is considered as a “map”, not being the “territory” is represents. The “map” is something that comes from a perception. On the other hand, the “territory” exists only as an external reality. Such conclusion leads to the understanding that there are two kinds of phenomenon, the factual external reality and the subjective internal reality. It is impossible to represent the world “as it really is” [8].

Based on that, work in the area such as [6] details and classifies communication problems that occur due to such “limitations” on reality’s observation and representation, also providing a tool (linguistic metamodel) to help understanding and mitigating communication flaws.

Such communication problems were classified in three categories: Generalization, Omission and Distortion. During the development of this research it was observed that no authors used a tool like this to address communication problems, as an example of [11,12,13, 15, 25].

The communication metamodel provides a series of “challenge questions” with instructions on how and when to use them, in order to dissolve any sort of generalization, omission and/or distortion in an individual’s communication.

5 Research Methodology

The development of this project involved a systematic review based on methods proposed by [16, 17] that were adopted and tailored by the authors as can be seen on the full version of this work [3] (Table 1):

Table 1. Structure of the research methodology

Within the universe of 60 studies that were found, 33 studies were considered for this research’s systematic review. 17 studies were used as theory background and 17 were used for the comparative analysis.

6 UX Design x SCRUM Development Approach

6.1 Comparative Analysis

The 17 studies analyzed helped producing a comparative analysis matrix, available in the full research [3]. The analyzed studies confirmed statements from authors such as [12] that there was little volume of work related to the integration of agile with UX Design. The major part of found work were experimentations or practitioner’s reports.

The matrix was built, and it was possible to observe which were the most commonly used techniques, adjustments, most found problems and other information commonly found among the selected research.

Bigger success rates were perceived when teams were put to work together, in the same physical environment, integrating SCRUM and UX teams. Also, personas, low fidelity prototyping and design development with one or more sprints ahead of developers also generated bigger levels of usability and productivity. There was also some evidence that UX training for SCRUM teams and vice versa could enhance both team’s productivity and make team work easier. Communication problems seem to be inherent of this process of work, but the approach should address them with the usage of the metamodel. Full matrix available in page 56 of [3].

6.2 Approach Characterization

Studies analyzed during literature review and comparative analysis brought evidence on which would be the best practices to be adopted when characterizing the approach.

In order to simplify the approach’s process, it is not recommended to apply a full usability engineering lifecycle, but only to tailor SCRUM process in a way that key-activities from UX are incorporated to the process. This decision was taken due to the low usability maturity level inside organizations as it was observed in other studies [21, 30, 31]. Considering the systematic review that was done and the comparative analysis, it was found that some needs should be addressed by the approach:

  • SCRUM tailoring. Inclusion of key UX-related activities in the process.

  • Strict control of deadlines. Designers should define and control deadlines so that there will not be delays in deliveries.

  • Communication improvement. It should be addressed and made viable between stakeholders, product owner, designers and developers.

This approach should also respect the principles stated in agile manifesto [14] in order to not lose agile’s fundamental characteristics. The following key activities from usability standard [2] are addressed by this approach: Identification of use context and its definition; Selection of usability criteria and measures and their definition; and, Usability evaluation. Other activities proposed by the cited standard [2] were not considered due to the fact that SCRUM is a continuous improvement cycle by itself, already having inside its nature criteria evaluation, refactoring and improvement activities.

Key activities were selected from [24] and [20] and a table was created to match standard’s activities [2] with usability models [20, 21].

The cited approach was developed based on the activities described in Table 2, considering inspection and observation usability methods that may be done without the participation of users, thus, making the evaluation process more complete.

Table 2. Selected key activities for the approach’s characterization [3]

Based on what was observed in researches from other authors, there are evidences that the biggest problems for integration between SCRUM x UX Design are related to communication. Ergo, the communication metamodel [6] should be used alongside with the approach as basis of all communication-related activities (written or spoken). Table 3 shows how SCRUM was tailored:

Table 3. Compatibilization of SCRUM process and UX activities.

The implementation of such approach requires following some premises/principles, they are:

  1. 1.

    Developers and designers must work in the same place. That will generate better information exchange and communication between designers and developers.

  2. 2.

    Developers should have general knowledge on UX design and interaction project and designers should have general knowledge on programming. That helps generating a bigger degree of mutual recognition and comprehension of each individual’s impacts in the work process of others. This may be explored by means of talks and trainings.

  3. 3.

    Meetings and planning meetings involving the entire team. Planning, daily, sprint retrospective, release planning, and standup meetings should take place with developers and designers teams, this should guarantee that the backlog always has development and design activities in a parallel or sequential way, planned in a way that deadlines may be attained.

  4. 4.

    High collaboration level. Creation of stories, tasks and backlogs are done in a collaborative way, involving designers and developers. This guarantees that all usability and technical aspects are addressed.

  5. 5.

    Minimal design at the very beginning for documentation. Designers should help documenting the project developing basic wireframes (low fidelity prototypes), but functional (respecting the minimum viable product concept) so that developers are able to start their work without delays generated by the bigger time that is necessary.

  6. 6.

    Stablished documentation and conventions respect. Functions’ names, dialog boxes, labels, etc. should be defined and documented between developers and designers before starting the project to avoid rework and consecutive delays.

  7. 7.

    High communication level. The communication dynamics should be based on the usage of the proposed metamodel to provide better details on exchanged information between teams, avoiding misunderstandings such as omissions, generalizations or distortions in communication, thus, reducing project’s problems. The usage of the metamodel is mandatory in all phases that involve communication. It is also planned that some training will be necessary.

  8. 8.

    SCRUM + UX. Incorporation of key usability activities in the SCRUM process as it is shown in Fig. 2.

    Fig. 2.
    figure 2

    Tailored SCRUM process with UX activities from Table 1 [3]

  9. 9.

    Guarantee of metamodel use. SCRUM Master and product owner will have the same roles as defined in [27] and will also have a new responsibility: guarantee that the team is using extensively the communication metamodel in their communications.

  10. 10.

    Training. It will be necessary some training on the metamodel for the entire team, except the client.

  11. 11.

    Shared backlog. The prioritized backlog must be built addressing both developers and designers activities/tasks. The backlog must be organized in a way that the order/priority of activities considers the time difference to be executed between code implementation and interface design.

  12. 12.

    Sprint 0. The initial project’s phase must contemplate the development of some basic interfaces following the concept of minimum viable product, in a way that fields, variables, label’s names, etc. can be previously defined so that developers may start their work without impediments and designers can continue their UX work.

  13. 13.

    Equivalent team importance. SCRUM Master must guarantee that everyone in the team are given the same importance and must be responsible for integrating designers with developers in a collaborative manner, in such a way that everyone is equally listened, and that all prioritization is agreed among all team members. This is very important so that design and development activities have their priorities well defined and respected so that design does not affect development and vice-versa.

Adopting such premises/principles during the approach application, it is expected a successful integration between SCRUM and UX. In order to verify and validate the proposed approach, a small series of experiments have been done in both academic and industrial contexts.

7 Experiments and Approach Validation

Ethical aspects were considered in all cycles of experimentation with volunteers, following ethical recommendations of software engineering and human-computer interaction [28].

7.1 Academic Context

The part of the experiment that took place within an academic context running the following process: 1 - Workshop planning (a workshop was planned in order to teach students how to use the approach); 2 - Definition of web software scope (the software to be built using the approach); 3 - Definition of volunteers requirements (to filter and select volunteers for the experiment); 4 - Selection of place and experiment settings (academic context – labs of graduation/post-graduation institutions); 5 - Invitation of volunteers; 6 - Speech on SCRUM, UX design, communication metamodel and approach (to align the knowledge level of participants); 7 - Experiment application (workshop where students should develop a web software applying the proposed approach); 8 - Collection and analysis of data, and development of result reports.

The experiment took place in 4 different institutions, being 3 graduation institutions and 1 post-graduation institution. Some criteria [3] was applied to filter invalid information given by students that did not have enough participation on the experiment: Iteration 1: 6 students’ data was considered; Iteration 2: 16 students’ data was considered; Iteration 3: 15 students’ data was considered; and, Iteration 4: 6 students’ data was considered. One of the biggest challenges of this experiment was to invite volunteers to participate. Unfortunately, it was not possible to find volunteers 100% adherent to the previously defined requirements, therefore, some leveling of knowledge was required during the process.

A total of 63 students participated in the cited experiments, being considered information of 43 of them. A big variation on knowledge levels was noticeable and as previously mentioned, this influenced the experimentation process. Another difficulty that was faced was that most students had never used SCRUM, UX or communication tools like the metamodel before and that affected in a negative way the experiment.

Only 4% of the volunteers (4 people) had some previous experience on integration attempts between SCRUM and UX. Still, their knowledge and opinions enriched this research. The metamodel has shown to be a good communication tool, 86% of participants (36 out of 43) agreed that their communication had improved after learning the metamodel. Only 1 participant disagreed and 5 had a neutral opinion. Such statistics may indicate the viability of using this tool to mitigate communication problems. 90% of the participants agreed that the approach helped improving the development/design process as a whole. Such conclusion suggests that there is some level of efficacy in applying this approach and that it may help developing better software that considers user’s experience. 93% of the participants agreed that the approach helped reducing communication problems along in the process. Such data shows evidence of the approach’s applicability. 67% of the participants agreed that the integration between SCRUM and UX had been done successfully, what might indicate as valid the proposed approach.

Considering the lack of volunteers’ adherence to the requirements, that had a strong impact on the experiment’s results, considering the 4 iterations and collected data, there is some indication that this approach is valid and might be tested in other contexts, etc.

7.2 Industrial Context

The industrial context was planned in the same structure as the academic context experiment with one single difference: it would not be possible to make a series of workshops with industry specialists, so it was chosen to perform a series of interviews after explaining how the approach works and how it could be applied.

All interviews were done using Skype’s video chat. 6 industry specialists were selected based on their LinkedIn Profile. Unfortunately, only 4 of them accepted being interviewed. 2 of them had 5–7 years of experience in the area and 2 of them had 10–20 years of experience, in both cases, one of them worked with development and the other with UX design.

After explaining the approach and showing data collected in the workshops, 2 of them stated that this approach might be applicable in any context and 2 stated that the approach is definitely applicable in some given contexts.

All of them agreed that the approach helps mitigating communication problems and may result in a successful integration between SCRUM and UX. All interviewees also agreed that this approach is simple and easy to use.

Three of the interviewees mentioned that they had already tried integrating both methods and although they got some level of integration, communication still showed to be a big issue. The good tactics they’ve learned to try such integration were already considered by the approach.

Also, cited problems they faced were being tackled by the principles defined for this approach.

Although the academic context has provided a good and standardized environment for the execution of the experiment, validating it in the industrial context with experts has exposed this approach to other variables that were not present in the academic context, showing that many could have significant impact on the desired integration process. Certainly all inputs received during these experiments may help improving even more the approach refining it.

8 Conclusion

This research was executed in compliance with what was previously planned in the research methodology. The goals defined for this research can be considered as attained: it was characterized an approach for the web development of applications using SCRUM and UX Design, focusing on communication using the metamodel.

The approach was proposed in a formal and structured way, documenting all compatibilization/unification steps. The metamodel usage had efficacy reducing communication noise that usually comes from processes/activities that involve communication, both inside the same team and between different teams. This was noticed not only by observing the volunteers within workshops, but also by collecting and analyzing their general opinion. The synthesis of knowledge originated in the systematic review related to integrating UX and SCRUM also allowed to have more clarity on the positioning of this work in the area of study. It is believed, therefore, that all expected contributions were generated successfully.

Additionally, it is possible to say that the proposed approach, integrated and made compatible tasks related to the usability engineering lifecycle with software development lifecycle. As previously planned, the metamodel supported communication-related activities, helping to eliminate inherent communication-related problems, as perceived by other authors.

The validation done by means of workshops in the academic context and interviews in the industrial context allowed to verify, in a practical way, how the approach’s applicability would be. Both contexts enriched this research by confirming the viability of the approach’s application, also bringing contributions for further research on the topic.

It was also found that many factors might be related to the difficulties in integrating SCRUM and UX, for example, the heterogeneity of knowledge in teams, communication, organizational factors, work environment, bureaucracy and processes to which a work environment is subject to. Such factors may impact negatively the desired integration, therefore, it is necessary to plan and organize teams and project before the actual start of the SCRUM process, so that there are no difficulties in the integration, and if they exist, they could be easily solved.

Finally, it is expected that this work has contributed to broaden discussion on the topic, promoting involvement of other knowledge areas to help solving found problems, as an example of the language metamodel.

Critics and problems that occurred during the experiments were registered, serving as inspiration for future work on the matter.