# Extending OpenUP to Conform with the ISO Usability Maturity Model

Andrés Rodríguez

► To cite this version:

Andrés Rodríguez. Extending OpenUP to Conform with the ISO Usability Maturity Model. 5th International Conference on Human-Centred Software Engineering (HCSE), Sep 2014, Paderborn, Germany. pp.90-107, 10.1007/978-3-662-44811-3_6. hal-01405067

HAL Id: hal-01405067

https://inria.hal.science/hal-01405067v1

Submitted on 29 Nov 2016

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons CC BY 4.0 - Attribution - International License
# Extending OpenUP to conform with the ISO Usability Maturity Model

Andrés Rodríguez¹

¹LIFIA, Facultad de Informática, Universidad Nacional de La Plata, Argentina
andres.rodriguez@lifia.info.unlp.edu.ar

**Abstract.** Integrating practices and methods of Interaction Design and Usability into Software Engineering processes has posed some challenges. In this paper we extend a SE process to enable its instantiation as user centered in order to improve the usability level reachable by the final system. Also, we suggest a kind of a road map that enables software organizations to instantiate cumulative versions of this process to grow in their capability regarding the usability practices. The paper is organized in two parts. First, we describe the open source version of the Unified Process (OpenUP) and the ISO Usability Maturity Model (UMM-ISO) and present the results of an assessment made on the first to determine its conformity with the latter. In the second part we present an extension to OpenUP to fill the gaps discovered and report the highlights of an implementation of these contributions in a real project and the lessons learned.

**Keywords:** User Centered Design. Usability Maturity Model. OpenUP

## 1 Introduction

Integrating practices and methods of usability and interaction design into the Software Engineering (SE) processes has posed some challenges. As Seffah has explained "the structure and techniques of Human Computer Interaction (HCI) are still relatively unknown, underutilized, hard-to-master and with little integration essential in software development teams" [1]. The magnitude of the integration effort is often wrongly minimized. Many developers still think that usability is affected only by the user interface. However, even early decisions on the software architecture may affect the usability a system can reach [2, 3]. If usability is considered as the result of the whole development process, its activities must be included throughout the process.

It has shown from HCI that there is a direct relationship between the level of usability that a product can reach and the use of a User Centered Design (UCD) process (there are many references on the topic, see for example [4, 5]). However, not all SE processes can become focused on user simply by making a few modifications. From SE, this topic has been recognized too (e.g. [6] for example).

Another challenge deals with the improvement of processes that enable an organization to grow in usability capabilities as predictable and controlled as in SE capabilities. Some model of capability and maturity in usability have been proposed trying to
provide a basis for planners and process engineers to know what user centered activi-
ties to include in a particular project, as well as to assist those who wish to improve
the whole process carried out by an organization.

Our work deals with these two challenges with the Usability Maturity Model pre-
sented in ISO Standards (UMM-ISO) as a base. First, we extend a SE process to ena-
ble its instantiation as a user centered one. Then, we suggest a kind of a road map that
enables software organizations to grow in capability regarding the usability practices.
The paper is organized in the following form. In Section 2 we contextualize our pro-
posal analyzing related works. In Section 3, we describe the open source version of
the Unified Process (OpenUP) and the UMM-ISO and present the results of an as-
sessment made to determine the conformity of OpenUP with the UMM-ISO. In Sec-
tion 4 we present the main contribution of this paper: an extension to OpenUP to fill
the gaps discovered in Capability levels 1 to 3. Finally, we report the highlights of an
implementation of these contributions and the lessons learned. Concluding remarks
and further work needed are mentioned to close the paper.

## 2 Related work

There have been several proposals to integrate HCI in SE processes. The common approach has been identifying some key HCI activities to be included a SE process to create a somewhat modified version.

Proposals for augmenting waterfall, agile or unified processes can be found in lit-
erature. For the waterfall cycle, can be mentioned for example the proposals of Costa-
bile[7] and Joshi and Sarda (see [6]). Costabile augments de process including user
and task analyzing, scenarios and User Interface (UI) specifications activities. She
emphasizes on the evaluation as the central activity of a UCD process. Joshi and Sar-
da add several HCI activities at the Communication, Modeling and Construction
phases.

The Unified Process (UP) has received different types of proposals for integrating
HCI activities. Göransson[8] proposed a new discipline for RUP. After identifying
identified some RUP characteristics that can be obstacles for implementing a UCD
Process (centrality of architecture, prevalence of the use cases, usability activities
concentrated only in the Elaboration phase) proposes a new discipline, Usability De-
sign containing key elements from HCI and spanning the whole RUP lifecycle. Other
proposals for RUP are the work by Krutchen[9], Heumann[10], Sousa and
Furtado[11]. The first two, propose the inclusion of HCI models, activities and arti-
facts to the basic RUP (user experience model, prototypes and storyboards are the
most important). Sousa and Furtado present the RUP for Interactive Systems (RUPi).
It adapts the four RUP workflows. In the requirement workflow RUPi includes sever-
al modeling tasks and an explicit definition of usability requirements. In the Analysis
and Design workflow a UI conceptual design and class model of UI are added. The
Implementation workflow is increased with guidelines and in the Test workflow a
strong focus is made on Usability evaluation.
The open source version of UP has received some contributions too. For example, the DSDM Consortium published the plugin OpenUP/DSDM[12] that adds specifics Business roles and assign them some responsibilities on tasks and work products: Executive sponsor, Visionary, Ambassador user, Advisor User. The goal of this plugin is to promote collaboration between business and technical communities during the project. In the same line, the Plugin Web Enabled UCD[13] is a proposal to augment UP as an UCD process for web development adding many new elements (11 new roles, 12 new work products and 6 new activities).

In the realm of agile methods, Beyer, Holtzblatt and Baker [14] describe a combination of the Rapid Contextual Design techniques [15] with a user stories based development process. Their proposal includes a separate UI design team as long as these skills are usually held by different people on the team. Nielsen[16] proposes a three-fold integration between agile methods and usability field: perform usability activities in a few days, adopt a parallel track approach (where the UX<fnref n="1" /> work is continuously done one step ahead of the implementation work) and make foundational user research going beyond feature development (ideally this should be conducted before a development project starts). Joshi[17] has proposed a similar integration: HCI activities hard to fit in a typical iteration should be done before the agile iterations begin, there must be a synchronization between software development iterations and HCI activities, the HCI team should closely coordinate with the software development team giving some “development support” to ensure that UI is implemented as close to its original intent as possible.

All these proposals show different ways of integrating the key HCI activities within SE processes. In some way or another the HCI elements that most contribute to the final usability according to Joshi and Sarda[18] are at the center of the different proposals (user modeling, UI prototyping, usability evaluation, collaborative work between HCI staff and development staff). Also an iterative cycle, user centered work is present at most of them. In our approach we try to extend these contributions on a side that has not been fully addressed in our opinion. In this paper, we are proposing a roadmap intended not only to help including HCI activities in a typical SE process but to provide a predictable way for improving that process and grow in HCI capability. We base our work on the concept of Capability Maturity Models, adopted in SE as a guide for process improvement.

# 3 OpenUP and the UMM-ISO

## 3.1 Open source Unified Process (OpenUP)

OpenUP is the open source version of the Unified Process (UP) released as part of the Eclipse Process Framework (EPF) project[19] (an extensible set of framework, tools and sample content for authorship, configuration and publication of methods and processes). The EPF's metamodel is based on version 2.0 of the Software & Systems Process Engineering Metamodel Specification (SPEM) by the Object Management

<footnote n="1">¹ UX stands for User eXperience</footnote>
Group OMG[20]. This framework includes definitions of method content and applica-
tion delivery processes. The content is manifested through definitions of work prod-
ucts, roles, tasks and guidance. A relation between some work products (input, out-
put), tasks and roles makes an Activity and a chain of activities build a Process. Final-
ly, there is the concept of Practice: "an approach to solving one or several commonly
occurring problems. Practices are intended as "chunks" of process for adoption, ena-
blement, and configuration"[21]. Eleven practices are contained in the EPF Practices
Library (EPL).

OpenUP presents itself as “a lean UP that applies iterative and incremental ap-
proaches within a structured lifecycle. OpenUP embraces a pragmatic, agile philoso-
phy that focuses on the collaborative nature of software development”. Its simplest
version is OpenUP/Basic (a minimum, complete and extensible process oriented to
work on projects of small and medium scale). OpenUP/Basic includes all the practices
defined in the EPL, organized into two categories, Management practices (Iterative
development, Risk-value lifecycle, Release planning, Whole team, Team change
management) and Technical ones (Concurrent Testing, Continuous integration, Evo-
lutionary architecture, Evolutionary design, Shared Vision, Test driven development,
Use case driven development). Development lifecycle with OpenUP can be analyzed
in three layers: a) personal effort is organized in micro-increments (short units of
work typically measured in hours or a few days); b) team effort for delivering incre-
mental value to stakeholders is organized in iterations (planned, time-boxed intervals
typically measured in weeks); c) the project lifecycle is structured into four phases:
Inception, Elaboration, Construction, and Transition (this provides stakeholders and
team members with visibility and decision points throughout the project)[22]

3.2 The ISO Usability Maturity Model (UMM-ISO)

Different models have been proposed to drive process improvement in usability as-
pects (e.g., [23–28]). The UMM-ISO was presented in the report ISO TR18529 "Hu-
man-centered lifecycle process descriptions"[29]. The UMM-ISO attempts to provide
a basis for planners to know what human centered activities include in a particular
project, as well as to assist their improvement.

UMM-ISO's reference model is contained in ISO 15504 SPICE[30]. This model
has two dimensions: processes and capabilities. Each process can be assessed with a
degree of compliance on a scale of six Levels: incomplete, performed, managed, es-
tablished, predictable, optimizing. The way to determine the Capability level in a
process is to analyze which attributes of such process are checked according to the
evidence collected. Each attribute is evaluated on a four ranges scale: unmet, partially
achieved, widely reached, fully met.

**Dimension of the Human Centered Development (HCD) processes.** Processes are described as practices that are required to implement for including system stakeholders and users during the whole lifecycle. Each process is described with purpose, suc-
cess indicators, input work product and output work products. ISO TR18529 defines seven HCD process:

- HCD1.Ensure the HCD content systems strategy

- HCD2.Plan and manage the process

- HCD3.Specify the requirements of stakeholders and the organization

- HCD4.Understand and specify context of use

- HCD5.Produce design solutions,

- HCD6.Evaluate designs against requirements.

- HCD7.Introduce and operate the system

These seven processes can be grouped at three different levels of analysis: the organization (HCD1 and HCD7), the project technical development (HCD4, HCD3, HCD5 and HCD6) and its management and control (HCD2).

**Dimension of capability and maturity levels.** To assess the capability level reached a number of desirable process attributes that has to be met in each HCD process. These attributes are cumulative, at every level of capability is expected that all attributes of the lower levels are achieved.

- Level 1: Performed. The degree to which output work products are produced from inputs work products through the enactment of the practices which comprise the process. There is one Process performance attribute to be assessed: "Ensure that base practices are performed to satisfy the purpose of the process".

- Level 2: Managed. The degree at which the process is managed to produce work products of acceptable quality within defined timescales and resource needs. The achievement is demonstrated assessing two kinds of attributes: Performance management (e.g., Identifying resource requirements to enable planning and tracking of the process, Plan the performance of the process by identifying the activities and the allocated resources according to the requirements, etc.) and Work product management (e.g., Identify requirements for the integrity and quality of the work products, Manage the configuration of work products to ensure their integrity)

- Level 3: Established. The established process ensures the deployment of a defined process based upon good SE principles. The evaluation will analyze the extent to which a given process is defined with an appropriate standard to contribute to the goals of the organization through definition of a standard process (e.g., Tailor the standard process, Implement the defined process) and through use of suitable, skilled human resources an process infrastructure (e.g., Define human resources competencies required, define process infrastructure requirements)

Level 0 (Incomplete) has no attributes to identify, while Levels 4 and 5 require an assessment on the organization beyond the scope of a particular project process (e.g., Process measurement attribute at Level 4: Define process goals and associated measures that support the business goals of the organization).
## 3.3 Assessment of OpenUP in the light of the UMM-ISO.

An assessment has been done to determine the capability profile of OpenUP in terms of UMM-ISO. The goal was not to find if OpenUP is fully compliant with UMM-ISO. It is clear that OpenUP is not a full UCD process so gaps with UMM ISO will be found. The assessment is used here as a structured approach to discover those gaps.

To collect evidence of achievement we use the complete specification of OpenUP/Basic 1.5.0.1[22]. Any item contained in that specification, either method or process, that enable us to interpret that it could satisfy some UMM-ISO attribute will be considered evidence enough of such capability. Assessment on levels 4 and 5 require evidence from the organization management practices beyond the specific development process used. That evidence cannot be got from the OpenUP specification, so the scope of our assessment is constrained to levels 1 to 3 of UMM-ISO.

The evaluation cycle is the following:

1. Take a UMM-ISO HCD process

2. Take a Level to assess. For each process attribute at the chosen level, analyze the OpenUP/Basic specification and look for content or processes which allow satisfying the attribute.

3. Determine the degree of achievement of the attribute in a ranking of 4 levels:

(a) N (Not achieved): there is no evidence of the achievement (numeric score: 0)

(b) P (Partial): implementing the activities included in OpenUP allows a partial achievement of the attribute (0 <= score <= 0.3)

(c) L (Large): implementing the activities included in OpenUP allows a large achievement of the attribute (0.3 <= score <= 0.7)

(d) F (Full): implementing the activities included in OpenUP allows a full achievement of the attribute (0.7 <= score <= 1)

4. In cases of doubt about the achievement between two levels for a particular practice, apply the benefit of the doubt and qualify in the higher level.

5. The process is repeated for the next attribute of the level.

6. The process is repeated for the next level, until there is no evidence of the preparation of any practice at this level or until reaching the upper limit established for the evaluation.

7. The cycle 2 to 6 repeats for the next HCD of UMM-ISO process

We use an evaluation form adapted from Earthy[31] (see Fig. 1). For each UMM-ISO attribute (column 1) we identify the OpenUP Practices including enough evidence to cover the attribute (column 2). Within each Practice we detail Process contents (Activities and Capability patterns, in column 3) and the Method contents (Roles, Artifacts, Tasks, in column 4) that allow that coverage. For each of the attributes of UMM-ISO the degree of achievement is recorded in the above-mentioned scale. Then we calculate the mean for all the attributes in a group (Process performance, Performance management, Product management, Process definition, Process resources definition). This mean set the achievement at that capability level for the HCD process.
<figure><img src="image_2.png" /><figcaption>**Fig. 1.** Recording form (adapted from [31]). First column lists UMM ISO's attributes, the following three columns show evidence collected (Practice, Process and Method). Last column shows numeric score achieved for each row and the calculated mean for a group</figcaption></figure>

**Results.** Evidence collected shows that OpenUP/Basic doesn't achieve full coverage of any attribute for Levels 1 to 3. We measured a total of 156 attributes. Achievement was Partial in 76 cases, Large in 10 and Null in 70 attributes. The capability profile at three levels assessed is shown in Fig. 2. It is clear that the only areas that achieve some degree of conformity are the core (HCD2 and HCD3 to HCD6). Achievement is minimal on HCD1 and null for HCD7.

<figure><img src="image_3.png" /><figcaption>**Fig. 2.** UMM-ISO capability profile for configuration OpenUP/Basic. References: Range 0 to 0.3: Partial achievement, 0.3 to 0.7: Large achievement, 0.7 to 1: Full achievement</figcaption></figure>

The Management practices included in OpenUP contribute to show some evidence of achievement. However none of them qualify for an F or L. Only some method elements (or part thereof) could reach a partial achievement if they were carried out by staff members with background in HCI. Technical practices also exhibit a partial achievement (particularly, Shared Vision, Evolutionary architecture and Evolutionary
design). Use Case Driven Development could reach a greater achievement when staff members with HCI background are included. Specially, for identifying, specifying stakeholders, their tasks and contexts of use (however, this background is not a must by any role, just a suggestion in the Guideline "Staffing a Project").

In total, 10 attributes out a total of 156 has been assessed to a higher level using this "benefit of the doubt". For example, on HCD3 (Specifying requirements) OpenUP covers all attributes at Level 1. Three of them achieve a Large fulfillment. Practices like Shared Vision, Iterative development, Use Case Driven Development contribute to cover Performance attributes such as Clarify and document system goals, Assess risks to stakeholders, Generate the stakeholder and organizational requirements. However broader gaps are found for the other attributes. There is no evidence for a complete and detailed specification of stakeholders (Performance Attribute: Analyze stakeholders), nor is required taking into account the system context beyond the software (Attribute: Define the use of the system). Finally, OpenUP is too brief about quality in use goals (Attribute: Set quality in use objectives). Just one Guideline suggests 3 steps in order to identify key issues in usability, choose the right style to express requirements and write them. Assuming the scenario that staff members had enough HCI background we can give the benefit of the doubt and consider that OpenUP can reach Partial achievement on these attributes. Finally, a Large coverage at Level 1 for this HCD process is scored (mean=0.5).

<table><caption>**Table 1.** Score achieved at HCD2 at Level 1 and actions required to improve capability</caption><thead><tr><th>HCD Processes and included activities</th><th>Score</th><th>LtoF</th><th>PtoL</th><th>NtoL</th></tr></thead><tbody><tr><td><strong>HCD2. Plan and manage the HCD process</strong></td><td></td><td></td><td></td><td></td></tr><tr><td>HCD2.1 Consult stakeholders</td><td>0.7</td><td>X</td><td></td><td></td></tr><tr><td>HCD2.2 Identify and plan user involvement</td><td>0.7</td><td>X</td><td></td><td></td></tr><tr><td>HCD2.3 Select HC methods and techniques</td><td>0.3</td><td></td><td>X</td><td></td></tr><tr><td>HCD2.4 Ensure a HC approach within the project</td><td>0.3</td><td></td><td>X</td><td></td></tr><tr><td>HCD2.5 Plan human-centred design activities</td><td>0.3</td><td></td><td>X</td><td></td></tr><tr><td>HCD2.6 Manage human-centred activities</td><td>0.3</td><td></td><td>X</td><td></td></tr><tr><td>HCD2.7 Champion human-centred approach</td><td>0.3</td><td></td><td>X</td><td></td></tr><tr><td>HCD2.8 Provide support for HCD</td><td>0.3</td><td></td><td>X</td><td></td></tr></tbody></table>

**Actions to fill the gaps.** Our proposal is to provide an OpenUP based development process that can reach Full compliance with UMM-ISO at the Level 1 and at least Large at Levels 2 and 3. In order to achieve a full capability profile at Level 1 three actions are to be taken on the OpenUP/Basic configuration:

- Take from Large to Full (LtoF): Add or modify method and process contents to fill the gap between the Large coverage to the Full one.

- Take from Partial to Large (PtoL): extend OpenUP/Basic processes that were assessed with a Partial coverage so they can reach at least the Large one.

- Take from Null to Large (NtoL): generate method and process contents to cover that HCD processes with no evidence of achievement by OpenUP/Basic.
HCD1 and HCD7 are almost not covered, so the actions there are mostly to include content lacking in OpenUP (NtoL). For the other processes, the coverage is incomplete too, but disparate. Table 1 and 2 show the actions required to improve capability at Level 1 for HCD2 to HCD6.

<table><caption>**Table 2.** Score achieved at HCD3-6 at Level 1 and actions required to improve capability</caption><thead><tr><th>HCD Processes and included activities</th><th>Score</th><th>LtoF</th><th>PtoL</th><th>NtoL</th></tr></thead><tbody><tr><td colspan="5"><strong>HCD.3 Specify the stakeholder and organisational requirements</strong></td></tr><tr><td>HCD.3.1 Clarify and document system goals</td><td>0.7</td><td>X</td><td></td><td></td></tr><tr><td>HCD.3.2 Analyse stakeholders</td><td>0.3</td><td></td><td>X</td><td></td></tr><tr><td>HCD.3.3 Assess risk to stakeholders</td><td>0.7</td><td>X</td><td></td><td></td></tr><tr><td>HCD.3.4 Define the use of the system</td><td>0.3</td><td></td><td>X</td><td></td></tr><tr><td>HCD.3.5 Generate the stakeholder and organisational requirements</td><td>0.7</td><td>X</td><td></td><td></td></tr><tr><td>HCD.3.6 Set quality in use objectives</td><td>0.3</td><td></td><td>X</td><td></td></tr><tr><td colspan="5"><strong>HCD.4 Understand and specify the context of use</strong></td></tr><tr><td>HCD.4.1 Identify and document user's tasks</td><td>0.7</td><td>X</td><td></td><td></td></tr><tr><td>HCD.4.2 Identify and document user attributes</td><td>0.3</td><td></td><td>X</td><td></td></tr><tr><td>HCD.4.3 Identify and document organis. envt.</td><td>0.3</td><td></td><td>X</td><td></td></tr><tr><td>HCD.4.4 Identify and document technical envt.</td><td>0.3</td><td></td><td>X</td><td></td></tr><tr><td>HCD.4.5 Identify and document physical envt.</td><td>0.3</td><td></td><td>X</td><td></td></tr><tr><td colspan="5"><strong>HCD.5 Produce design solutions</strong></td></tr><tr><td>HCD.5.1 Allocate functions</td><td>0.3</td><td></td><td>X</td><td></td></tr><tr><td>HCD.5.2 Produce composite task model</td><td></td><td></td><td></td><td>X</td></tr><tr><td>HCD.5.3 Explore system design</td><td>0.7</td><td>X</td><td></td><td></td></tr><tr><td>HCD.5.4 Use existing knowledge to develop design solutions</td><td>0.3</td><td></td><td>X</td><td></td></tr><tr><td>HCD.5.5 Specify system and use</td><td></td><td></td><td></td><td>X</td></tr><tr><td>HCD.5.6 Develop prototypes</td><td>0.3</td><td></td><td>X</td><td></td></tr><tr><td>HCD.5.7 Develop user training</td><td></td><td></td><td></td><td>X</td></tr><tr><td>HCD.5.8 Develop user support</td><td></td><td></td><td></td><td>X</td></tr><tr><td colspan="5"><strong>HCD.6 Evaluate designs against requirements</strong></td></tr><tr><td>HCD.6.1 Specify and validate context of evaluation</td><td>0.3</td><td></td><td>X</td><td></td></tr><tr><td>HCD.6.2 Evaluate early prototypes in order to define the requirements for the system</td><td></td><td></td><td></td><td>X</td></tr><tr><td>HCD.6.3 Evaluate prototypes to improve the design</td><td>0.3</td><td></td><td>X</td><td></td></tr><tr><td>HCD.6.4 Evaluate the system in order to check that the stakeholder and organisational requirements have been met</td><td>0.3</td><td></td><td>X</td><td></td></tr><tr><td>HCD.6.5 Evaluate the system in order to check that the required practice has been followed</td><td></td><td></td><td></td><td>X</td></tr><tr><td>HCD.6.6 Evaluate the system in use to ensure that it continues to meet organisational and user needs</td><td></td><td></td><td></td><td>X</td></tr></tbody></table>
# 4 Extending OpenUP to conform with the UMM-ISO

The EPL's guidelines offer two scenarios for extension that are useful in our case[21]:

* IF you need to add roles, tasks or work products that reflect a different approach, THEN create a new Practice including them and processes to articulate them

* IF you need to modify a current process by adding elements from other Practice, THEN customize an existing Configuration of Practices with the lacking elements.

Given these scenarios we propose to fill the gaps discovered with the following tasks:

1. **Adding new items to base practices.** All missing HCD contents included by the UMM-ISO should be incorporated in the Practices offered by EPL.

2. **Adding and modifying cross practice processes.** On Level 1 to ensure the convergence of the Evolutionary architecture, Evolutionary design and HCD. At levels 2 and 3, to include HCD process and product management.

3. **Using an alternative set of role assignments,** to set the responsibility for some processes to the new roles, in order to improve their human centeredness.

After doing these tasks, we add a new practice to the EPL: Practice User Centered Development and extend the OpenUP/Basic configuration generating three new process configurations.

## 4.1 The Practice User Centered Development (UCDev)<fnref n="2" />

This practice articulates the method elements (roles, tasks, work products and guidance) needed to instantiate a development process that actively involves all stakeholders during the whole cycle.

**Roles.** OpenUP/Basic offers three generic definitions relevant to UCD: Stakeholder, Analyst and Developer. However, their definitions do not ensure that necessary profiles and skills for carry out a UCD process can be met. Other UP or OpenUP extensions have already identified this problem and proposed adding new roles (e.g. [8, 12, 13]). In order to keep OpenUP with low level of bureaucracy and ceremony while including in the process the skills needed, we have identified six roles to be added: four Business actors (Sponsor, Domain Technical Leader, Users Representative, End User), an Analyst (UX Specialist), a Developer (UX Designer) and a Tester (UX Tester). Complete descriptions can be seen in [32].

<footnote n="2">² Henceforth, we will use the term “User Centered” instead of “Human Centered” used in UMM-ISO. While both express the centrality of all those involved in the final system, User Centered is the preferred term by the HCI community.</footnote>
**Work products.** The first element that must be included explicitly is central in any iterative, user centered process: the user experience prototype in any of its versions [5],[33][18]. We also include other two artifacts with strong relations with prototypes: the UX Storyboard and the Navigation map. The Storyboard will allow analyze the dynamic aspects of UX prototype, while the navigation map will leave clearly stable the relationship between all the Storyboards. The list of the new definitions of work products that we include in UCDev comprises: User model, Usability Goal, Task model, UX Concept, UX prototype, UX Storyboard, Navigation map and User and training document (details in [32])

**Tasks.** As for the Roles and Work Products, will use as background the UMM-ISO specifications, UCD literature and tasks definitions from configurations in the UP family (e.g., RUP[34], Agile Unified Process [35]). We have incorporated the following definitions of tasks:

- Tailor the UCD process

- Specify requirements and objectives of user experience

- Understand and specify the context of use

- Designing the user experience

- Components of interaction design

- Review the design of the user experience

- Preparing for usability testing

- Run usability tests

- Design and produce material training and user support

- Providing training and user support

Each Task is defined by: purpose, description and relations with other method elements and steps to be done. Some tasks also include specific guidelines. For example, the definition for *Task Specify requirements and UX goals* includes the following contents:

- Purpose (why including this task? What is its goal?):

- To keep the focus on UX during the entire lifecycle giving developers concrete guides for developing and evaluating design solutions.

- To set acceptance criteria for usability testing

- Relations (roles involved, input and output work products):

- Roles: UX specialist (primary performer), Users representative, Technical do-main leader, Analyst (additional performers)

- Input: User model, Task model, Project goals

- Output: Usability goals

- Steps (instructions for the performer, fully described in real specification):

- Get information from available models

- Identify and outline usability goals

- Prioritize usability goals

- Document usability goals

- Review and get agreement on usability goals
The relations between all tasks included in UCDev and the UMM-ISO processes are shown in **Fig. 3** (HCD processes organized in the figure as mentioned in Section 3.2)

**Guidance.** We propose the integration of two basic guidelines. The first one contains the definitions of the UCD processes. The other guide details the UMM-ISO levels. As a road map, both give guide the process engineer for the total or partial adoption of the practice and their inclusion in the development process.

<figure><img src="image_4.png" /><figcaption>Fig. 3. Relations map between UCDev tasks and UMM-ISO processes</figcaption></figure>

## 4.2 Three method configurations: OpenUP/UMM-ISO N[1,2,3].

We propose a scheme of three configurations that can be instantiated to achieve usability capability at UMM-ISO Level 1, 2 or 3. These configurations can be seen as incremental steps that guide for growing in usability capability in a predictable, structured way. Configuration for Level 1 (OpenUP/UMM-ISO N1) adds the new Practice UCDev to OpenUP/Basic. For levels 2 (managed) and 3 (established) we use the variability "extends" on previous level incorporating activities for process and work product management.
In the following descriptions, we use the four phases of UP (Inception, Elaboration, Construction and Transition) to show the customizations included.

**OpenUP/UMM-ISO N1.** The goal in the Inception phase is to understand the scope of the problem and the feasibility of a solution. The deployment process for a typical iteration of this phase in our configuration contains the same four core activities: Start the project, Identify and refine requirements, Agree on the technical approach and Plan and manage the iteration.

Some changes are implemented to the interior of each activity. Our main contributions are in the Activities Start the Project and Agree on technical approach. In the first one we modified the tasks Develop technical vision and Plan the project. UCD roles are assigned and an extra step is included to Identify and Sketch Use Context. Usability related requirements are specified by the new task Specify UX Goals assigned to the UX specialist. So, this Task is developed in synchronized with Identify and outline requirements (from OpenUP/Basic specification) as long as outputs from one are inputs to the other. In the Activity Agree on technical approach we propose two simultaneous tasks: Outline the architecture (in OpenUP/Basic) and Outline UX (in UCDev), providing the team with an architecture that consider UX goals.

On the phase Elaboration (aiming to better understand the requirements of the system, create and establish a basis for the system architecture) we include the task Design the UX as part of Activity Develop architecture and UX. The Activity Develop Solution Increment includes two tasks from UCDev, Design interaction components and Review UX Design to ensure the inclusion of user issues from the early design. Finally, in the Activity Test solution other two tasks are added: Prepare usability tests and Run usability tests.

The third phase, Construction, starts when architecture has reached stability and focuses on implementing remainder requirements. Tasks Develop solution increment and Test solution are done here in a loop. Throughout this phase iterations the functionality will continue being implemented, tested and integrated. The phase can include one or more beta releases towards the end.

The final phase Transition focuses on deployment the software to users and ensuring that their expectations are met. However, in the basic version of OpenUP, the main objective of the phase is reduced to fine tune the functionality, performance and quality of the beta version of system generated at the end of the construction phase, excluding specific activities that are specific to the preparation of the deployment such as the final acceptance test or user support. To overcome this lack, we include the task Guide and give support to user during implementation (Practice UCDev). Also refine the extension of the activity: Test solution adding the User acceptance as a variant of usability testing.

**OpenUP/UMM-ISO N2.** In this level is necessary to identify attributes of process and work product management for UCD elements. In the first case, it is important to generate products of work within the established time and resource requirements. The configuration at this level is conceived as an extension of OpenUP/MMU-ISO N1.
So, this level incrementally adds method and content items needed to meet those re-
quirements. We need to ensure the use of Change and Configuration management
practices and Quality control. OpenUP/Basic includes them with the Practice Iterative
Development, we took it as a guide to extend these activities on UCD elements.

The main change happens in the task Plan the project from the Inception Phase.
The original task from OpenUP/Basic includes the steps Establish a cohesive team,
Estimate project size, Evaluate risks, Forecast project velocity, Outline project lifecy-
cle, Establish costs and articulate value, Plan deployment. We add two additional
steps: Plan the UX Quality (define a minimal plan for quality assurance on tasks and
work products from UCDev) and Plan UX Change and Configuration management
(set management politics for configuration management on UX work products). The
tasks related to Iteration planning and management (Plan iteration, Manage Interac-
tion, Assess results) are customized in the same line to ensure those plans are met. In
the other phases, the Task Request Change allows to meet the management require-
ments on UCDev elements.

**OpenUP/UMM-ISO N3.** For the level 3 we need to ensure that the process configuration used in each project is adjusted to the specific situation and available resources as much as possible. The configuration for this Level is again built incrementally on the previous one.

We add the Task Tailor the UCD Process to the Activity Start the Project. The
task's primary performer is obviously from Project manager, but roles form UCDev
such as the Sponsor and Domain technical leader should be included as additional
performers. The inputs are the development process as defined by OpenUP/UMM-
ISO N2 and the two Guidelines HCD Processes Definitions and UMM-ISO specifica-
tions. The output is a customized configuration. Six steps are defined: Analyze the
project, Determine adaptation effort, Develop specific content, Define lifecycle, Pub-
lish the process, Manage the process.

The task Assess results (in the four phases) adds the step Manage the process, to
ensure that customizations are met as planned.

**The family of OpenUP/UMM-ISO plugins.** The EPF Composer[36] is a toolkit for engineers to implement and maintain software development processes. It provides the contents of the EPL and tools to select, customize, assemble and publish parts of this library as a specific process. We used the Composer to implement the extensions described before in plugins: a Practice Plugin that contains the definitions for Practice UCDev and three Configuration Plugins, one for each Capability Level to cover.

5 An initial implementation

The OpenUP extensions described were initially implemented during the development
of a financial management system for the Argentine government. Here we briefly
introduce some initial highlights of this experience in order to show the feasibility of implementing these extensions. A full assessment of this and other instantiations will be the goal of further works.

The project had been initially organized using a customized version of UP. The process was gradually adapted through the evaluation and selection of artifacts and activities using an iterative dynamic "evaluate-modify-implement". It was early detected the need to include and integrate UCD practices in the process. The system would be operated by many users working at geographically distributed agencies and it would replace a previous version that users were accustomed to for many years. So, in order to achieve acceptance and effective operation the impact of the change should be minimized and usability maximized.

First steps included hiring a usability expert and following the guidelines in the RUP Plugin for the UX. Storyboards modeled as UML class diagrams using stereotypes were implemented. These models represent the screen components, the logical data groups and data grids. Static screen content (field names, labels, titles, images, etc.) is not represented in this model because it relates only to the appearance of UI and has no implication in the system logic. The model was very complex for the system screens and presented a number of disadvantages: it required a long time for an analyst to generate, it was very difficult to be understood by designers and programmers, wasn't good for users validation, it didn't allow to easily deduce the UI prototype and finally it was difficult to set a general standards for creating similar screens (conspiring directly against one golden rule in usability). This solution also limited the participation of user representatives at the early stages of requirements elicitation and for the testing of built modules, generating delays and rework.

To circumvent these obstacles it was decided to adapt the process configuration to adhere to our OpenUP/UMM-ISO N1 including the contents of the Practice UCDev. Some roles were added, such as User Representative and UX Designer. The task of Analysts was enriched with new definitions to include specific work products for UCDev as more understandable Screen prototypes. In each phase of the process, there was the correspondent validation and testing with users as stated for UCDev and OpenUP/UMM-ISO N1. Over a period of a year the project run with the implementation of this level of configuration.

Good responses by users and successful achievement of project goals gained in the first year motivated the team to adapt the process to the second level of configuration. In the second year, the project configuration was again customized by adhering to our proposed OpenUP/UMM-ISO N2. Then method elements related to the change, configuration and quality management for usability artifacts and processes were included. The project continued on this configuration for a full second year.

## 5.1 Some lessons learned

After these implementations, we analyzed two sources of information to extract lessons from this experience. We get qualitative feedback from questionnaires to key members of team project. Also we collected evidence from project repository, where work products (plans, models, prototypes, testing reports, etc.) are versioned and
stored. We sought for evidence supporting the feedback got from questionnaires. We
found that adding the Practice UCDev and implementing configurations
OpenUP/UMM-ISO N1 and N2 had the effect to improve the inclusion of UCD activ-
ities in the project and integrate usability tasks in the whole team.

Both initial and specified requirements and increment solutions could be validated by users during the complete process. Also, the UX expert wasn't seen anymore as an external auditor reviewing the designs made by other team members. It was understood that a set of practices and skills included in isolation and not framed in the whole process would not have the desired effectiveness in improving the usability of the final system.

It was possible to implement the practice in the project re-arranging available re-
sources, with a few modifications of the process while running the project without
significant deviations from the initial planning and with an increase in the degree of
user acceptance.

The move to a higher level of capability was conducted in a non-traumatic and
predictable way as long as before its starting it was clear what activities should
change, what skills would be necessary to improve and what to expect from this new
level of capability.

6 Concluding remarks and further work

A proposal of using a capability maturity model as roadmap for the predictable and systematic improvement of usability processes is presented. In particular, we describe the maturity model in usability in the ISO standards, which identifies seven UCD processes and a scale of capability that includes six levels (from incomplete to optimizing). We take the Unified Process in its agile, open source version (OpenUP). After an assessment of it in the light of the UMM-ISO several shortcomings that cannot be covered just by modifying ad hoc some of their practices have been identified. In the first place, it is necessary to incorporate new roles usually not taken into account in the process of development to transform it into a user centered process. This implies not only engage stakeholders and end users, but add a new battery of skills and abilities in the project. Also, the way to make real UCD activities related to the UX must traverse the entire lifecycle. There is no way to guarantee good levels of usability in a product if all aspects of the quality of the use are reduced to the design of the user interface.

Our proposal has been to extend OpenUP so that it can be instantiated as a UCD
process through two contributions. On the one hand, added the new practice UCDev
to the EPL. This practice articulates specific method content items, their roles, tasks
and work products, taking as a reference the life cycle proposed by the UMM-ISO.
The second contribution is to extend the instantiation of OpenUP with three method
configurations that allow reaching usability capability at levels 1, 2 or 3 in the UMM-
ISO. In these configurations is articulated as practice with the rest of the framework to
allow instantiations of the unified process which can conform to the UMM-ISO.
These extensions have been implemented as plugins for the EPF to enable process engineers to implement them as is or customize them using the EPF Composer.

Further works will include extending the analytical work on others instantiations of OpenUP/UMM-ISO, full assessment of these instantiations and evaluate the feasibility of OpenUP extensions to reach the highest levels at UMM-ISO.

**Acknowledgments.** The author thanks to the team of Project eSidif (Ministry of Economy, Argentine) for the collaboration provided during the work reported here; also to the reviewers for their insightful comments to the first version of this paper.

# 7 References

1. Seffah, A., Gulliksen, J., Desmarais, M.C.: Human-Centered Software Engineering - Integrating Usability in the Development Process (Human-Computer Interaction Series). Springer-Verlag New York, Inc., Secaucus, NJ, USA (2005).

2. Bass, L., John, B.E.: Supporting Usability Through Software Architecture. Computer (Long. Beach. Calif). 34, 113–115 (2001).

3. Folmer, E., Bosch, J.: Case studies on Analyzing Software Architectures for Usability. EUROMICRO '05: Proceedings of the 31st EUROMICRO Conference on Software Engineering and Advanced Applications. pp. 206–213. IEEE Computer Society, Washington, DC, USA (2005).

4. Mayhew, D.J.: The usability engineering lifecycle: a practitioner's handbook for the user interface design. Academic Press, San Diego CA USA (1999).

5. Sharp, H., Rogers, Y., Preece, J.: Interaction Design: Beyond Human Computer Interaction. John Wiley & Sons (2007).

6. Joshi, A., Sarda, N.L., Tripathi, S.: Measuring effectiveness of HCI integration in software development processes. J. Syst. Softw. 83, 2045–2058 (2010).

7. Costabile, M.F.: Usability in the software life cycle. In: Chang, S. (ed.) Handbook of Software Engineering & Knowledge Engineering. Vol 1. Fundamentals. pp. 179–192. World Scientific Publishing Company (2001).

8. Goransson, B., Lif, M., Gulliksen, J.: Usability design - Extending Rational Unified Process with a new discipline. In: Nunes, J. and Cunha, J. (eds.) Interactive systems: design, specification and verification. 10th International Workshop. Springer Verlag, Funchal, Madeira Island, Portugal (2003).

9. Kruchten, P., Ahlqvist, S., Bylund, S.: User interface design in the rational unified process. In: Harmelen, M. van (ed.) Object modeling and user interface design. Designing interactive systems. pp. 161–196. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA (2001).

10. Heumann, J.: User experience storyboards: Building better UIs with RUP, UML, and use cases. Ration. Edge. (2003).

11. Sousa, K.S., Furtado, E.: RUPi - A Unified Process that Integrates Human-Computer Interaction and Software Engineering. In: Kazman, R., Bass, L., and Bosch, J. (eds.) ICSE Workshop on SE-HCI. pp. 41–48. IFIP (2003).

12. DSDM-Consortium: OpenUP/DSDM Plugin, http://process.osellus.com/sites/wiki/OpenUP/DSDM/Wiki/Pages/Home.aspx.

13. IconATG: Web Enabled UCD v1.0, http://www iconatg com /iconprocess plugins/web_enabled ucd.

14. Beyer, H., Holtzblatt, K., Baker, L.: An Agile Customer-Centered Method: Rapid Contextual Design. In: Zannier, C., Erdogmus, H., and Lindstrom, L. (eds.) Extreme
Programming and Agile Methods - XP/Agile Universe 2004 SE - 6. pp. 50–59. Springer Berlin Heidelberg (2004).

15. Holtzblatt, K., Wendell, J.B., Wood, S.: Rapid Contextual Design. A how to guide to key techniques for user centered design. Morgan Kaufmann, San Francisco, USA (2005).

16. Nielsen, J.: Agile development projects and usability, http://www.nngroup.com/articles/agile-development-and-usability/.

17. Joshi, A.: Index of Integration (IoI), http://www.idc.iitb.ac.in/~anirudha/ioi.htm.

18. Joshi, A., Sarda, N.L.: Evaluating Relative Contributions of Various HCI Activities to Usability. Proceedings of the Third International Conference on Human-centred Software Engineering. pp. 166–181. Springer-Verlag, Berlin, Heidelberg (2010).

19. Eclipse: Eclipse Process Framework Project (EPF), http://projects.eclipse.org/projects/technology.epf.

20. OMG: Software & Systems Process Engineering Meta-Model Specification Version 2.0. (2008).

21. Eclipse: Eclipse Process Framework Practice Library, http://epf.eclipse.org/wikis/mam/index.htm, (2008).

22. Eclipse: OpenUP version 1.5.0.1, http://epf.eclipse.org/wikis/openup/.

23. Nielsen, J.: Corporate usability maturity: stages 1-4. Nielsen Norman Group (2006).

24. Ehrlich, K., Rohn, J.A.: Cost justification of usability engineering: a vendors’s perspective. In: Bias, R.G. and Mayhew, D.J. (eds.) Cost-justifying usability. pp. 73–110. Academic Press, Inc., Orlando, FL, USA (1994).

25. April, A., Coallier, F.: Trillium: a model for the assessment of telecom software system development and maintenance capability. Softw. Eng. Stand. Int. Symp. 0, 175 (1995).

26. Schaffer, E.: Institutionalization of Usability: A Step-by-Step Guide. Addison Wesley Longman Publishing Co., Inc., Redwood City, CA, USA (2004).

27. Bevan, N., Claridge, N., Earthy, J., Kirakowski, J.: Proposed usability engineering assurance scheme. (1998).

28. Jokela, T.: The KESSU Usability Design Process Model. Version 2.1, (2004).

29. ISO/IEC: 18529 Ergonomics of human system interaction. Human-centred lifecycle process descriptions. (2000).

30. ISO/IEC: 15504 Information Technology and Software Process Assessment. (2006).

31. Earthy, J.: Usability Maturity Model: Processes. (1999).

32. Rodríguez, A.: OpenUP/MMU-ISO. Soporte para un proceso de desarrollo de software conforme al Modelo ISO de Madurez en Usabilidad, (2011).

33. Gulliksen, J., Göransson, B., Boivie, I., Blomkvist, S., Persson, J., Cajander, A.: Key principles for user-centred systems design. Behav. Inf. Technol. 22, 397–409 (2003).

34. Krutchen, P.: The Rational Unified Process: an introduction. Addison Wesley, Reading MA (1998).

35. Ambler, S.: The Agile Unified Process (AUP), http://www.ambysoft.com/unifiedprocess/agileUP.html.

36. Eclipse: EPF Composer 1.0 Architecture Overview, http://www.eclipse.org/epf/composer_architecture/.