# User-centered design

User-centered design (UCD) or user-driven development (UDD) is a framework of processes in which usability goals, user characteristics, environment, tasks and workflow of a product, service or brand are given extensive attention at each stage of the design process. This attention includes testing which is conducted during each stage of design and development from the envisioned requirements, through pre-production models to post production.
Testing is beneficial as it is often difficult for the designers of a product to understand the experiences of first-time users and each user's learning curve. UCD is based on the understanding of a user, their demands, priorities and experiences, and can lead to increased product usefulness and usability. UCD applies cognitive science principles to create intuitive, efficient products by understanding users' mental processes, behaviors, and needs.
UCD differs from other product design philosophies in that it tries to optimize the product around how users engage with the product, in order that users are not forced to change their behavior and expectations to accommodate the product. The users are at the focus, followed by the product's context, objectives and operating environment, and then the granular details of task development, organization, and flow.

## History

The term user-centered design (UCD) was coined by Rob Kling in 1977 and later adopted in Donald A. Norman's research laboratory at the University of California, San Diego. The concept became popular as a result of Norman's 1986 book User-Centered System Design: New Perspectives on Human-Computer Interaction and the concept gained further attention and acceptance in Norman's 1988 book The Design of Everyday Things, in which Norman describes the psychology behind what he deems 'good' and 'bad' design through examples. He exalts the importance of design in our everyday lives and the consequences of errors caused by bad designs.
Norman describes principles for building well-designed products. His recommendations are based on the user's needs, leaving aside what he considers secondary issues like aesthetics. The main highlights of these are:
* Simplifying the structure of the tasks such that the possible actions at any moment are intuitive.
* Making things visible, including the conceptual model of the system, actions, results of actions and feedback.
* Achieving correct mappings between intended results and required actions.
* Embracing and exploiting the constraints of systems.
In a later book, Emotional Design,$^{:p.5onwards}$ Norman returns to some of his earlier ideas to elaborate what he had come to find as overly reductive.

## Models and approaches

The UCD process considers user requirements from the beginning and throughout the product cycle. Requirements are noted and refined through investigative methods including: ethnographic study, contextual inquiry, prototype testing, usability testing and other methods. Generative methods may also be used including: card sorting, affinity diagramming and participatory design sessions. In addition, user requirements can be inferred by careful analysis of usable products similar to the product being designed.
UCD takes inspiration from the following models:
* Cooperative design (a.k.a. co-design) which involves designers and users on an equal footing. This is the Scandinavian tradition of design of IT artifacts and it has been evolving since 1970.
* Participatory design (PD), a North American model inspired by cooperative design, with focus on the participation of users. Since 1990, bi-annual conferences have been held.
* Contextual design (CD, a.k.a. customer-centered design) involves gathering data from actual customers in real-world situations and applying findings to the final design.
The following principles help in ensuring a design is user-centered:
* Design is based upon an explicit understanding of users, tasks and environments.
* Users are involved throughout design and development.
* Design is driven and refined by user-centered evaluation.
* Process is iterative (see below).
* Design addresses the whole user experience.
* Design team includes multidisciplinary skills and perspectives.

## User-centered design process

The goal of UCD is to make products with a high degree of usability (i.e., convenience of use, manageability, effectiveness, and meeting the user's requirements). The general phases of the UCD process are:
* Specify context of use: Identify the primary users of the product and their reasons, requirements and environment for product use.
* Specify requirements: Identified the detailed technical requirements of the product. This can aid designers in planning development and setting goals.
* Create design solutions and development: Based on product goals and requirements, create an iterative cycle of product testing and refinement.
* Evaluate product: Perform usability testing and collect user feedback at every design stage.
The above procedure is repeated to further refine the product. These phases are general approaches and factors such as design goals, team and their timeline, and environment in which the product is developed, determine the appropriate phases for a project and their order. Practical models include the waterfall model, agile model or any other software engineering practice.

## Analysis tools

There are a number of tools that are used in the analysis of UCD, mainly: personas, scenarios, and essential use cases.

### Persona

During the UCD process, the design team may create a persona, an archetype representing a product user which helps guide decisions about product features, navigation, interactions, and aesthetics. In most cases, personas are synthesized from a series of ethnographic interviews with real people, then captured in one- or two-page descriptions that include behavior patterns, goals, skills, attitudes, and environment, and possibly fictional personal details to give it more character.