In this course, we will learn a user-centered design (UCD) process (Preece et al. 2001) that guides us in designing and prototyping software systems that are useful, usable, and pleasure to use. UCD, also referred as design thinking, is a design process that embraces the designer’s methods to match people’s needs with what is technologically feasible. The process emphasizes involvement of the target audience (i.e., users) of a software system in a design and development cycle. It encourages you to understand users' characteristics, goals, and pains using qualitative and quantitative data gathering methods, and design and develop solutions to address the users' needs.

You may ask, "But why do we need to learn a process like UCD? Can't we just code to create digital products that support people who use them?" It turns out, no, you cannot "just code". Many software development projects end up producing systems that have poor usability and end up not being used by the users. And that is precisely because developers "just code" without understanding real users and without following a design process (Cooper et al. 2014).

User-Centered Design

Figure 1. In this course, we will learn a process to design and prototype interactive systems that are useful, usable, and pleasure to use. (Figure credit to Joanna Loo.)

Figure 1. In this course, we will learn a process to design and prototype interactive systems that are useful, usable, and pleasure to use. (Figure credit to Joanna Loo.)

What is UCD, then? There are different schools of thought on what constitutes UCD (Cooper et al. 2014; Dix et al. 2003; d.school 2010; Preece et al. 2001). But they all emphasize the following steps: empathizing with users, defining users and their goals, ideating solutions, quick prototyping, evaluating prototypes' usability, and iterations of these steps.

Designers quickly iterate over empathize, define, ideate, prototype, and test steps to design and develop products. For example, in the following video, teams of designers iteratively create various products.

https://www.youtube.com/watch?v=_9TIspgTbLM

Designing with a Team

Making teams productive and successful is hard. Working as a team requires time for meeting and effort for communication. You have to assume considerable responsibility for orchestrating and coordinating the effort of multiple people to deliver a digital product that meets people's needs.

Yet, we still work in teams because, despite all these hassles, working together can produce outcomes that would be very hard, if not impossible, for a single individual. In a design process, a productive team ensure that the appropriate tasks are executed, ideas flow, prototypes are built, and solutions are effectively evaluated. You will practice team work for a design process in this course.

One of the opportunities where working in a team could benefit is ideation. Working in a team could let you come up with many, diverse design ideas that no single person can come up with. This is especially true when you are working with a team of people with different backgrounds. When many ideas flow, the chance of creating a software system that successfully satisfy user's needs increases.

Review Questions

1. User-Centered Design

References