On Designing UX for Mobile Enterprise Apps - IEEE Computer Society

45 downloads 51546 Views 262KB Size Report
Abstract—Mobile apps form a special domain for designing user experience (UX). .... models for mobile app development that especially focus on. UX [13, 15].
2014 40th Euromicro Conference on Software Engineering and Advanced Applications

On Designing UX for Mobile Enterprise Apps Kati Kuusinen

Tommi Mikkonen

Tampere University of Technology Korkeakoulunkatu 1, Tampere, Finland [email protected]

Tampere University of Technology Korkeakoulunkatu 1, Tampere, Finland [email protected]

Abstract—Mobile apps form a special domain for designing user experience (UX). Interactions with the device should be designed such that the time span of the users' actions is shorter than in the desktop space; actions must be simple yet focused. Moreover, interactions must be accomplished with ease, using only a minimal number of finger presses or keystrokes. At the same time, the devices themselves introduce platform specific restrictions and guidelines regarding how UX should be addressed. In this paper, we report results from a study where the contributions of different actors to UX are addressed in the development of mobile enterprise apps. In conclusion, the study indicates that for simplest applications, the best UX specialists are actually the developers who know all platformspecific customs, whereas for more complex apps, special UX role is needed in order to manage the big picture.

II.

BACKGROUND

A. Mobile App Development One of the most important design concerns in the design of an application running in a mobile device is the consistency of user experience. This aspect can be affected by a number of design choices taken during the development of applications, although a number of the choices are not directly associated with UX as such. Thus, designing UX in mobile setting requires both taking users into account during design as well as understanding technical limitations and opportunities associated with the underlying platform(s). A principal problem in designing mobile apps is that in many cases users wish to perform rapid, focused actions, instead of long-lasting sessions, where users sometimes perform exploratory tasks to locate a certain feature, as can be the case with applications running on a desktop computer. Actions must be simple and single yet focused, and they must be accomplished with ease and using only a minimal number of keystrokes. A generic workflow for the development of applications for mobile setting, with special focus on user activities, has been defined by [20, 22].

Keywords–Mobile apps, enterprise applications, UX

I. INTRODUCTION Mobile apps form a special domain for designing user experience (UX). As the user value is particularly critical in the mobile app value chain [3], it is reasonable to do mobile application development in a fashion that emphasizes the user experience of the outcome. Interactions with the device should be designed such that the time span of the users' actions is shorter than in the desktop space; the users perform rapid, focused actions instead of long-lasting sessions; actions must be simple yet focused. Moreover, interactions must be accomplished with ease, using only a minimal number of finger presses or keystrokes, often while the user is walking, driving a car or is somehow otherwise distracted by other activities. The different usage modalities and screen sizes have an impact on application design, as well as platform (and sometimes also device) specific guidelines.

1) Scoping: Before starting the design of a mobile application, the fundamental purpose of the application must be defined. This scoping includes both what the application can do and what it cannot. 2) Performance considerations: Overall responsiveness is an important part of the user experience. In addition to generic responsiveness, specific metrics should be created for the most important scenarios.

Modern approaches to developing mobile apps often rely on so-called agile development approaches [2, 7], and feedback from the customer is used to guide the development as soon as a system that can be experimented with is available. Integrating user experience (UX) related topics with such mode of development has been addressed in various publications (e.g. [10, 11, 24, 25]), but few of them has been addressing the development of mobile apps.

3) User interface design: Before advancing to the technical design of a mobile application, it is important to study key use cases and features that characterize the application. Besides scoping and innovations, one can consider end-user productivity and responsiveness as the most important principles of user interface (UI) design. The former means that the actions that are common can be easily and rapidly carried out. The latter means that the user has the feeling of being in control while performing the activities.

In this paper, we present results from a study where the contributions of different actors of a software development project to UX is addressed. The goal is to determine which issues require special UX attention, and when the specialists of the implementation platform are able to handle UX related issues by themselves as a part of the development process.

3) Data model and memory concerns: The fashion data is represented has an impact on how it can be located in the memory, on how the system behaves in peak conditions, and on how the application disposes data. This may have an effect on the resulting UX – for instance, operations that require extensive computations should not freeze the UI.

978-1-4799-5795-8/14 $31.00 © 2014 IEEE DOI 10.1109/SEAA.2014.17

221

left off. Once the functions are fixed, a UI is designed that makes it easy to use the remaining functions, although many of the details associated with UI must be implemented in accordance to platform specific style guides. The other parts form an engineering problem that must be solved using the facilities that the platform provides.

5) Communications and I/O: The fashion the application handles local and remote resources has a major effect on UX. Accessing local resources is usually fast, whereas communicating with remote resources is slow. With these steps, tasks of a UX specialist and developers overlap during development. Limitations familiar to technical experts restrict the fashion UX can be designed. Similarly, UX skills are needed to determine the scope of the app, to define response times, and to design the UI.

III. RESEARCH CONTEXT AND METHODS A. Research Context and Data Gathering Our research goal was to understand how agile mobile app development, including work to ensure good user experience of the outcome, can be done in different development contexts – which phases and tasks are required in general and which of them require UX specialist’s contribution. We studied mobile app development work in a large IT Services Company operating globally over a year of calendar time using a longitudinal mixed-methods approach. We interviewed four user experience specialists, a scrum master, a product owner and a developer individually and followed three mobile app development projects for several weeks with a weekly survey for project participants. The core data has been gathered with a weekly survey from 3 projects with 5-9 participants each. In addition, we conducted 9 interviews with 7 persons, surveyed the product owner twice per each project, and surveyed 9 users of two projects. Data was gathered between April 2012 and June 2013 (Table 1).

B. Current Models for Mobile App Design The significance of UX in mobile app development is widely recognized (e.g. 1, 5, 8, 21, 27, 28]), and there are models for mobile app development that especially focus on UX [13, 15]. The model of Hussain et al. [13] combines XP [4] and human-centered design methods, in the form of techniques such as user studies, expert evaluations, personas and usability evaluations. The model starts with creating user stories, and advances to creating paper and HTML mockups. Usability engineers and non-technical users then evaluate mockups created by developers and the design is refined based on the outcome. After that, test-driven development is started and automated usability tests are conducted. Kangas et al. [15] present a model that had been in use at Digia, a Finnish software company. The model starts with contextual inquiry, a technique where users are observed and interviewed in the real context of the use of an application. The process continues via competitor analysis, UI design and paper prototype testing, and defining usability requirements to implementation, after which usability tests are conducted with early product versions providing user feedback back to implementation. Kangas et al. observed that feedback should be received earlier to avoid costly changes in the code.

Project 1. In Project 1, the product owner (PO) and user experience specialist (UXS) formed a co-located and closely cooperating pair that shared the product ownership. They shared the responsibility of managing the product backlog. The product owner acted as the owner of the project plan including the business case and product roadmap. The user experience specialist owned the description of the product including the user and business value and the plan to deliver the value. The development team implemented the UI based on detailed UX design. The study period of Project 1 has been already described in detail in [16].

Finally, Corral et al. [7] discuss current models for mobile app development. Their conclusion is that the field of mobile app development needs more research, but that it seems that many of the current models are based on (or derived from) agile methodologies such as Scrum [23] and XP [4], probably to better align them with development.

Project 2. Project 2 was started with a setting where the PO was located on one site in Finland, and five developers and a UX specialist were located on another site in Finland. The second location was chosen because backend developers were based at there. The five developers included two backend developers and one per each mobile platform, which in this case were Windows Phone, Android, and iOS. Later, the iOS developer was assigned to another organization and iOS development was relocated to China. The PO was responsible for early user experience related work such as understanding user needs and describing user value for instance. The idea of the app was defined in a kickoff workshop together with the team. The UX specialist’s role was mainly in creating visual design of the UI. Following

C. Mobile Enterprise Apps Let us next consider applying the above concepts to mobile enterprise apps, a special flavor of software that is used in organizations, such as in a business or government, as opposed to software used by individuals. Services provided by enterprise software are typically business-oriented tools such as online shopping and payment processing, automated billing systems, project management, or human resource management. Since such systems are commonly run online, scoping the mobile app simply means that certain features of the corresponding desktop version are

222

B. Data Analysis In this paper, we present the third round of analysis of the gathered data. The first round of analysis was conducted for the chronologically first project only; it acted as a pilot study for the data gathering method. Results of the first round of analysis are described in [16]. The second round of analysis was inductive. The data gathered from three mobile app development projects was analyzed using data-driven methods to understand the UX related tasks conducted within the projects and cooperation modes of the projects. Both qualitative and quantitative methods were used: e.g. frequencies of cooperation occurrences between the project roles per task were calculated from the weekly data. The results of the second round of analysis are presented in [18].

each operating system style was a major guideline in the project. Because the developers were more familiar with the style of each operating system than the user experience specialist, they naturally had the responsibility of the user interaction design. Table 1. Research context and methods per project.

Project 1 Project outcome Number of reported weeks and calendar time Other data gathering

In-house tools for all employees: e.g. for working hour recording and sales management 7 weeks between April – June 2012

Interview of PO, retrospect survey and discussion

This paper presents results of the third round of analysis where empirical findings from the three enterprise app projects are bound with the following: 1) findings of two interviews concerning industrial mobile app development in general (mainly customer projects creating both enterprise and consumer apps) and one interview concerning development of a infotainment mobile app for consumers with a code camp approach, 2) models of both Scrum development and human-centered development, and 3) related research.

Project 2 Project outcome Number of reported weeks and calendar time Other data gathering

A new feature to an in-house tool for service managers to monitor the state of customer processes. 6 weeks in March – May 2013

Interview of PO, retrospect survey and discussion, user survey

Project 3 Project outcome Number of reported weeks and calendar time Other data gathering

In-house / sellable launchpad and single sign-on for several web applications (native and HTML5)

Thus, the third round of analysis is theory-dependent and deductive aiming at forming an empirically based model for mobile app development that respects both the Scrum methodology and human-centered design principles.

5 weeks in April – May 2013

Interview of PO, retrospect survey and discussion, user survey

Project 4 Project outcome Number of reported weeks and calendar time Other data gathering

IV.

A customer project delivering a consumer app for public event participants

RESULTS

Our initial idea was to clarify the UX specialist’s role in mobile app development. We assumed that the role of the UX specialist would be similar to the role we have observed in larger software projects and what has been documented in e.g. [25]. However, during the research period we soon noticed that user experience related tasks were not purely on the responsibility of the delegated UX specialist as we had expected based on our earlier studies concerning generalpurpose software development. Instead, we noticed that UX related work was divided into two largely separated areas, namely 1) understanding the user value, and 2) designing and developing for the user value.

N/A. Code camp in spring 2012

Interview of a UX specialist who had participated to several code camps

Project 3. Project 3 had the PO on one site in Finland, three developers – one for each mobile platform – on another site in Finland, and a UX specialist in Latvia. Besides developing the apps, the project was to create company-wide guidelines for web applications. The guideline team was based at Latvia and therefore the UX specialist was from there. A developer with good knowledge of iOS guidelines was driving the usability related work and the UX specialist was focusing more on the web UI and graphic design of the apps.

These two areas were in accordance with the Scrum roles of the product owner and the development team so that the firstly mentioned area was on the responsibility of the product owner and the UX specialist whereas the responsibility of the latter one was divided between developers and the UX specialist. This can be compared to the Sy’s model, which divides the UX work to design upfront work conducted prior to starting development sprints and during-development work [25]. In our data, however, task

Project 4. Project 4 was conducted as a code camp in Finland. The app was designed for three and developed for two platforms during one weekend. The project team consisted of designers and developers doing cooperative work in parallel and communicating face-to-face.

223

practices related to the activity. The UX vision was created during several sessions together with the UX specialist, the product owner and several users. In Project 2, the product owner owned the UX vision and mainly created it by himself together with four users in one hour. Project 3 continued the work that was already started in Project 1 and thus the vision for the outcome was already quite clear in the beginning. Users were not involved in the UX vision creation in Project 3. In Project 4, UX specialists created a rough UX vision without involving users and the customer approved it before implementation was started.

allocation between the different roles (product owner, UX specialist and developers) differed from the existing models for agile UX development, where it is typically assumed that the role of UX specialist is the one that is primarily responsible for more or less all UX related work. In other words, the current models aim at integrating the role of UX specialist to the agile development process whereas the data from our experiment suggests that it is more adequate to integrate needed UX related tasks. In this setting, the product owner and UX specialist were jointly responsible for understanding the user value of the project. In two of the projects we observed, the user value and need were communicated to developers, and the project team collectively created a concept to deliver the user value. After the concept creation, product owners’ role grew smaller, and UX specialist – together with the developers – designed user interaction and the graphic design for the apps.

Since the UX vision is closely related to product backlog creation and especially in mobile app development also to the business vision, the PO should have a significant role in understanding the UX value. Singh [24] introduced a method called U-Scrum that commits a second product owner who is responsible of the UX vision and delivering value to the user. Indeed, when the user value of the app is unknown yet critical for the app success and the product owner does not have sufficient competence in creating the UX vision, the product owner should share the responsibility of creating the UX vision together with a UX specialist.

In addition, we also determined in our analysis that reported activities can be mapped under activity categories defined in the ISO standard for human-centered design for interactive systems [14] (Table 2). Table 2. Mapping between activities derived from the data and standard activities of HCD process. Analyzed activity

Standard activity [14]

1. Creating the UX vision

1. Understand the context of use including user needs

2. Creating a high-level concept

2. Specify the user requirements

3. Designing and developing the interaction and visual style 4. Evaluating the UX of the outcome

4. Evaluate the design against requirements

B. Creating a High-Level Concept A concept is a high-level illustration of the vision. It can be, for instance, a drawing or a prototype. It is usually a visual presentation that makes the vision more concrete and helps to communicate it. It can consist of static pictures but it is usually preferable to also illustrate the basic user flow.

3. Produce design solutions

Based on our data, the concept of each app was created in cooperation of all the project roles in each project. This was also the case in the mobile code camp project we interviewed. Creating the concept together gave wider perspective and helped in communicating the concept within the team and thus clarified the objectives and the overall view of the project. Or, as pointed out by one of the UX specialists:

A. Creating UX Vision We define the UX vision as a high level understanding of the user value the app will deliver to the end user. It might be possible to create the UX vision without involving users to the activity especially when the idea of the app is not novel, or the purpose of the app is generally known. However, in most cases involving users in the creation of UX value might significantly help in focusing the project goals and thus help in determining the essence of the app for the user.

“There is no role differentiation [in concept creation]. Graphic designers are good in making graphics, developers in making software, but the general issues of the concept, what there will be in the app and how the UI should work, it is teamwork”

In Projects 1, 2 and 3, the product owner ensured that the project had a UX vision before starting the development. The responsibility of creating the UX vision was divided between the product owner and a UX specialist with a different emphasis on each project. In Project 4, there was a rough high-level customer approved concept available prior to the code camp weekend. In Project 1, the UX vision was owned by the UX specialist who shared the product ownership together with the product owner. The product owner participated in creating the vision which enabled him to learn

– UX specialist from Project 4. This approach is similar to Ungar’s Design Studio which is a one-day workshop where participants (UX designer, developers and stakeholders) produce several rough sketch designs that are worked into one design concept during that day [26]. The Design Studio was reported to facilitate knowledge transfer between the roles, foster shared understanding of the design vision, promote the team cohesiveness, and get design ahead of development [26]. The

224

platform style whereas the UX designer mainly focused on producing graphic design.

concept acts as means to concretize and communicate the UX vision both inside the team and to stakeholders. In addition, it enables early evaluation of the idea with users. Moreover, a prototype can act as an easy way to ensure that different stakeholders have a common understanding on the outcome. The concept can also be refined before each sprint to maintain and iterate the big picture of the outcome.

Based on the above observations, the following conclusions can be drawn. As companies in many cases have separate developers for each mobile platform [8], it could even be more straightforward for a senior developer to manage the platform style than for a UX specialist who usually has a broader view for the design. The UX specialist working for Project 2 explained the situation of working with junior developers:

C. Designing and Developing Interaction and Visual Style Typically, UX design work that is conducted during implementation is the activity of refining the conceptual user flow to detailed design of user interaction resulting in implementable design. Designing the visual style generally aims at aesthetic outlook of the app and can also act as means to communicate the company brand. Development work realizes the design and the user value in the app.

“No, developers and style guides, no. Sure they tell me if they notice something is wrong. But the UX specialist is the one who needs to learn style guides for every platform and know them throughout and be able to design for every platform. But it is awfully hard. You just need to know that, well, if I do this UI, Android does not need a back button because it is in the hardware but for iOS I need to figure out a place for the back button. And if you want to have the same UI to work with every platform, there are lots of small things like this you just need to know. And it is demanding.”

This activity had different ways of working between the projects. In Project 4, the app was in essence developed during one weekend, and design and development were simultaneous. Project 1 had continuous involvement of both the UX specialist and developers whereas in Projects 2 and 3 both design and development was conducted as part-time work (few hours per week, not every week) when the participants did not need to work for customer projects. In Project 4, all participants were co-located and working together. Project 2 had the UX specialist and some of the developers co-located whereas in projects 1 and 3 developers were in China and the UX specialist was in Europe.

– UX specialist from Project 2. The implementability of the design also played a significant role for developer satisfaction towards the design, which is quite an obvious finding. As all the platforms for which the apps were developed – Android, iOS and Windows Phone – have detailed style guides, an experienced developer with good knowledge of the platform and its specifics could successfully design the user interaction. Moreover, having an experienced developer to do the design most probably also leads to a final result that can be implemented with relative ease.

In Project 1, the UX designer produced UI design mainly in high-fidelity static pictures that were communicated via a backlog tool whereas in Project 2, the UI design was communicated as source code and paper prototypes both electronically and face-to-face. In Project 3, the design format was usually high-fidelity UI images, but also references to style guides and paper prototypes were used. In Project 4, the design was communicated face-to-face with high-fidelity images and the project involved three UX designers and two graphic designers whereas the other projects involved only one UX designer each.

D. Evaluating UX of the Outcome User participation was rare in each project. In Project 4, users did not participate at all. The reason was that the app was popular, easy to understand by common people, and therefore it was considered easy for the project team to put themselves in the user’s role. The interviewed UX specialist stated that users should be involved when the app was more specific and the context of use was not commonly known. In Projects 1 and 2 the user need was unspecified and strange for the project team. Users were involved in the beginning of these projects to clarify the user need and the context of use. Thus, users helped the product owner to clarify the user value and that information was used when creating the concept. In Project 1, users participated in the concept creation. In Project 2, the concept was evaluated by users, which was reported to have saved days of work as unnecessary features were omitted before the development started.

Platform style was to a great extent overruled and custom company style was used in Project 1. We did not get negative user feedback of the style but developers did not like the idea since it caused extra work to differ from the standard style. Project 2 had a senior UX specialist who had used to working with inexperienced developers who do not know the platform style very well. He produced design according to each platform’s style. Project 3 had an experienced developer who was well knowledgeable of the platform style guidelines. This developer and the UX specialist shared the design responsibility in a fashion where that the developer was responsible of the user interaction design and the

225

In mobile app development, it is important to narrow the scope of the project as user goals related to mobile apps often require simple yet focused actions that are easy to use. Another reason is that time-to-market typically is a focal project goal in mobile app development. As the development time of a mobile app is commonly short, development of even a single unneeded feature can significantly affect to project success in terms of time-to-market and costs.

Daily Scrum

V+E Product backlog

24 h

Retrospective

Sprint Pyrähdyksen planning suunnittelumeeting palaveri

C+E

New functions that can be demonstrated

1-2 weeks

Sprint Sprint backlog

D&D

We measured the user experience with a web survey after deployment for Projects 1, 2, and 3. We used both general user satisfaction and user experience metrics and in Projects 2 and 3 also metrics related to certain dimensions of user experience such as aesthetics and the efficiency of use. For Projects 2 and 3, we surveyed also the project teams for their impression about the user experience and which dimensions of UX are significant for the app. It seemed that users evaluated those dimensions the project team considered more significant such as professionality higher than the less significant ones such as aesthetics. However, the user populations were small as the apps were for enterprise use and we could point no statistically significant correlations between the significance of the dimension and the user evaluation.

Tasks generated from sprint backlog

S+E Sprint review

Figure 1. UX activities integrated in Scrum.

User evaluation of the outcome is divided between activities. The UX vision can be created together with users or it can be iterated with users – the same applies to concept creation. Features or apps can be evaluated with users as they are ready to be demonstrated. We used a web survey for user evaluation with pilot users. To be able to conduct and analyze the user study in one day, a template survey should be generated in advance or a ready-made UX scale can be utilized. Using the same survey every time enables to compare the user experience between versions or apps. The UX vision, concept, design, and evaluation can be conducted in time of one week of one person work in a normal project where development time is about 5-10 weeks. The tasks can be divided between the project roles based on competences and schedules. Each activity needs an owner, and they must be scheduled in the project plan (Table 3).

E. Agile Model for Mobile App Development Based on empirical data on how mobile apps were developed in four successful projects, we created a model that respects both the Scrum model and principles of humancentered design. The core of the model with the process and activities is presented in Figure 2 while Table 3 illustrates goals, owners, possible participants and durations of the activities. In the figure the following legend has been used: Vision V, Evaluation E, Concept creation C, Design and Development D&D, and Shipping S.

F. Summary of Results Based on our findings and earlier research, it seems that mobile app development differs from general-purpose software development with respect at least the following issues.

In the beginning of the project, a UX vision is created. In some cases it might be evident what the user goal is and how to deliver the user value. In other cases it might be beneficial to include users in the process to ensure the understanding of user need and the context of use. Product backlog can be created based on the UX vision to deliver the user value. To create a common understanding of the project, it might be beneficial to include the whole team to concept creation. The concept owner can be e.g. a UX specialist or PO. The concept may be for example a paper prototype or a few highfidelity images presenting the main screens, also functional prototypes can be used. The concept can be evaluated with users and iterated based on the feedback if needed. Development can be started once there is a concept-level agreement of the app. A UX designer or a developer designs the user interaction according to platform style. After each sprint, the design can be evaluated by users if needed.

1) Mobile apps need to have focused functionality. “Nice to have” features should be left out, which highlights the importance of creating a coherent UX vision in the beginning of the project. 2) The bigger and more novel the project is, the more the UX design needs to be ahead of development [9]. Thus, in mobile app development, it usually should be possible to feed the development with detailed UX design just in time or even with a pull mechanism at least when the UX vision is clear before starting the development. 3) Mobile platforms have detailed style guides and guidelines for UI design and user interaction. Therefore, the role of a UX designer can be lighter in mobile app projects than in desktop software or web application projects. We observed that a developer with good knowledge of platform style can in some cases produce mobile app with good user experience. However, UX vision must be clear to enable this

226

working in the beginning of the project. They did not have a company process model that should be followed which is typically the case with larger and more established software companies. Neither had they established non-agile UX practices such as centralized UX teams from where UX work is offered as consultancy service which also seems to be common practice in software development in larger companies. Thus, they did not have a non-agile organizational structure to hinder their work although they are working in a large multinational company with such structures in some organizations.

approach. Generally, an app with nice user flow that does not fulfill the user goal does not provide good UX [12]. Table 3. UX related activities, their goals, owners, participants and durations. Goal

Owner(s)

Participants

Duration

Gaining a high-level understanding of user value Making user value concrete

PO or UX specialist with shared product ownership

UX specialist, PO, users

1h to 1 day

UX specialist

Team

4h to 1 day

D&D

Realizing the user value in the app

UX specialist or developer

UX designer, graphic designer, developers

Shipping

Getting feedback of the shipped outcome

PO or UX specialist

PO or UX specialist, users

Activity

Vision

Concept

Although the human-centered design approach alleviates the importance of user involvement in all phases, it seems that user involvement itself is not necessary in all cases. However, the PO of the three projects stated that he would never conduct a mobile app project without a UX specialist. Thus, it seems that an experienced UX specialist is able to clarify user value without user involvement at least when the app is generic. We also observed that a developer with no particular background in human-computer interaction was able to design successful user flow by following the platform style and guidelines. The UX specialist of that particular project was at first against the idea of having the developer doing the UI design. However, when the UX specialist noticed that the developer knew the platform style better than him and the developer could successfully create design that satisfied the UX designer, he agreed it was better that the developer created the UI design while the UX designer concentrated on the visual appearance of the native part and on the style of the web application part of the hybrid app.

Several weeks, of which UX design work about 3-4 days 1 day for design and analysis, 1 day to 1 week of response time for users

4) Mobile app projects are typically small and the significance of time-to-market is often emphasized. Mobile apps are also often developed for multiple platforms. In smaller projects, outsourcing or distributing project work can cause significant overhead costs and increase the development time [6]. Therefore, it might be beneficial to develop the app for one platform near users and/or near the product owner and then port the app to other platforms in a low-wage country. When the design is communicated to developers in ready-made application, the overhead of communication costs can be minimized.

We developed a model for introducing UX work to agile mobile app development in which the UX vision, concept, design, and evaluation can be conducted in time of one week of one person work in a normal project where total development time is 5-8 weeks. The tasks can be divided between the project roles based on competences and schedules. Some UX competence is needed to understand when the UX vision is clear enough, when working with users and in concept creation. Also user evaluation methods ought to be designed by UX specialists.

V. DISCUSSION As mobile app projects typically are quite small in size, cost and duration [1], it seems that it is easier to favor more flexible development processes and roles than in larger general-purpose software projects. However, the practices we observed in the study reported in this paper have been valued also in another software company mainly developing specialized consumer desktop software. The most common proposals of developers and managers on how to improve cooperation with UX specialists in that company included adding UX specialists to Scrum teams, having closer collaboration and involving UX specialists earlier in the development process [17]. On the other hand, in the mobile app projects observed in the study reported in this paper, the team together with the product owner agreed on their ways of

In the model of Hussain et al. [13], the workflow starts from creating user stories and continues to paper and electronic prototype. Our model starts from understanding the UX vision and proceeds via product backlog creation to concept creation and UI design. Thus, we skip one prototyping step and create a UX vision before creating the backlog. Kangas et al. [15] use heavy human-centered design techniques such as user interviews in their model. The approach was only used with demanding applications and otherwise more technology-driven approach was used. In contrast, we aimed at developing a short-cycled, low-cost, and flexible model that ensures the delivery of user value.

227

VI. CONCLUSIONS

[11] Fox, D., Sillito, J. and Maurer, F. Agile Methods and User-Centered

To summarize the contributions of the paper, we followed 3 distributed mobile app development projects in a longitudinal mixed-methods research study. We combined the longitudinal data with data from 9 interviews and retrospect and user surveys and reflected the empirical data on models of agile software development and humancentered design. We observed that when developing mobile apps with clearly defined user need, successful UX work can (and sometimes probably should) be developer-led; following the mobile operation system guidelines in the development seem to lead to fluent user interaction. However, if the app does not meet user needs, plain fluent interaction does not lead to good UX. Based on the results, we developed an empirically based model for mobile app development integrating UX design and agile development.

[12]

[13]

[14] [15] [16] [17]

Repeating the long-term data gathering in different companies, working with different kinds of software systems requires future work. This will lead to a broader view on product owner’s perspective to UX related issues during the development, with some early results regarding this already published [16, 17, 18, 19].

[18]

[19]

REFERENCES [1] Abrahamsson, P. Mobile software development: the business [2] [3] [4] [5] [6] [7]

[8] [9]

[10]

opportunity of today. In proc. of the International Conference on Software Development, pp. 20-23. 2005 Abrahamsson, P., Salo, O., Ronkainen, J. and Warsta, J. Agile Software Development Methods: Review and Analysis. VTT Publications, Finland, 2002. Barnes, S. J. The mobile commerce value chain: Analysis and future developments. International Journal of Information Management. vol., no., pp. 22 (2), 91-108. April 2002 Beck, K. Extreme programming explained. Reading. Mass.: AddisonWesley, 1999. Charland, A. and Leroux, B. Mobile application development: Web vs. native. Communications of the ACM, 54, (5) pp.49-53. May 2011 Conchúir, E. Ó., Ågerfalk, P. J., Olsson, H. H. and Fitzgerald, B. Global software development: Where are the benefits? Communications of the ACM. vol., no. 52, 8. 2009. Corral, L., Sillitti, A. and Succi, G. Software development processes for mobile systems: Is agile really taking over the business? International Workshop on the Engineering of Mobile-Enabled Systems 2013 Dehlinger, J. and Dixon, J. Mobile application software engineering: Challenges and research directions. Workshop on Software Engineering for Mobile Application Development 2011 Federoff, M., Courage, C. Successful User Experience in an Agile Enterprise Environment. Human Interface and the Management of Information. Designing Information Environments. LNCS vol. 5617, pp. 233-242. 2009 Ferreira, J., Noble, J. and Biddle, R. Up-Front Interaction Design in Agile Development. Agile Processes in Software Engineering and Extreme Programming. LNCS Vol. 4536, pp. 9-16. Springer 2007.

[20] [21]

[22] [23] [24]

[25] [26] [27] [28]

228

Design: How These Two Methodologies are Being Successfully Integrated in Industry," Agile, 2008. Hassenzahl, Marc. "User experience (UX): towards an experiential perspective on product quality." Proceedings of the 20th International Conference of the Association Francophone d'Interaction HommeMachine. ACM, 2008. Hussain, Z., Lechner, M., Milchrahm, H., Shahzad, S., Slany, W., Umgeher, M., Vlk, T. and Wolkerstorfer, P. User interface design for a mobile multimedia application: An iterative approach. 1st International Conference on Advances in Computer-Human Interaction. IEEE, 2008. ISO 9241-210:2010. Ergonomics of human-system interaction. Part 210: Human-centered design for interactive systems Kangas, E. and Kinnunen, T. Applying user-centered design to mobile application development, Communications of the ACM, vol. 48 no. 7, July 2005 Kuusinen, K. The impact of user experience work on cloud software development. Communications of Cloud Software, 2 (1), 2013 Kuusinen, K., Mikkonen, T. and Pakarinen, S. Agile user experience development in a large software organization: good expertise but limited impact. Human-Centered Software Engineering. Springer Berlin Heidelberg, 2012. 94-111. Kuusinen, K, Mikkonen, T. Designing User Experience for Mobile Apps: Long-Term Product Owner Perspective. In Proc. of the 20th Asia-Pacific Software Engineering Conference 2013 (APSEC'13), pp. 535-540, IEEE Computer Society Order Number E5158, Dec. 2013. Kuusinen, K. and Väänänen-Vainio-Mattila, K. How to make agile UX work more efficient: management and sales perspectives. In Proceedings of the 7th Nordic Conference on Human-Computer Interaction: Making Sense through Design (NordiCHI '12). ACM, New York, NY, USA, 139-148. 2012 Mikkonen, T. Programming mobile devices: an introduction for practitioners. Wiley, 2007. Rahimian, V., Habibi, J.; Performance evaluation of mobile software systems: Challenges for a software engineer. 5th International Conference on Electrical Engineering, Computer Science and Control. 2008. Salmre, I. Writing Mobile Code. Addison-Wesley, 2005. Schwaber, K. Agile project management with Scrum (Microsoft professional), 1st. ed., Microsoft Press. 2004. Singh, M. U-SCRUM: An Agile Methodology for Promoting Usability. In Proceedings of AGILE Development Conference 2008 (editors Grigori Melnik, Philippe Kruchten, Mary Poppendieck), pp. 555-560, Toronto, Canada, Aug 4-8, 2008. IEEE Computer Society. Sy, D. Adapting usability investigations for agile user-centered design. Journal of Usability Studies, 2 (3), 112–132. 2007 Ungar, J. The Design Studio: interface design for agile teams. In Proceedings of AGILE Development Conference 2008 pp. 519-524. IEEE Computer Society. Unhelkar, B., and Murugesan, S. The enterprise mobile applications development framework. IT Professional 12 (3), 33–39. 2010 Wasserman, T. Software engineering issues for mobile application development. FoSER. 2010. Retrieved from http://works.bepress.com/tony_wasserman/4

Suggest Documents