Needfinding

Techniques for Understanding Users & Tasks

  • Interviews & observation
  • Contextual inquiry
  • Interviews & observation conducted “in context”, i.e., with real people dealing with the real problem in the real environment
  • Establish a master-apprentice relationship
  • User shows how and talks about it
  • Interviewer watches and asks questions
  • Participatory design
  • Including a user directly on the design team

The best sources of information for needfinding are user interviews and direct observation. Usually, you’ll have to observe how users currently solve the problem. If you want to redesign a campus tour experience, you would want to observe tourists on campus. You would also want to interview them, in order to better understand their goals and challenges.

Contextual inquiry is a technique that combines interviewing and observation, in the user’s actual work environment, discussing actual work products. Contextual inquiry fosters strong collaboration between the designers and the users.

Participatory design includes users directly on the design team - participating in needfinding, proposing design ideas, helping with evaluation. This is particularly vital when the target users have much deeper domain knowledge than the design team. It would be unwise to build an interface for stock trading without an expert in stock trading on the team, for example.

A good collection of information-collection techniques is summarized by Need Finding Tools.

http://hci.stanford.edu/courses/cs447/docs/NeedFindingCribSheet.pdf

Related Chapter: Holtzblatt & Beyer, Contextual Design, Ch. 3

If you’d like to have in-depth and recent knowledge about contextual design, you can refer to Holtzblatt & Beyer’s recent book, which you can access through the link below:  

Contextual Design: Evolved, 2014

https://www.morganclaypool.com/doi/abs/10.2200/S00597ED1V01Y201409HCI024 

Know Your User

  • Things to learn
  • Age, gender, culture, language
  • Education (literacy? numeracy?)
  • Physical limitations
  • Computer experience (typing? mouse?)
  • Motivation, attitude
  • Domain experience
  • Application experience
  • Work environment and other social context
  • Relationships and communication patterns with other people
  • Pitfall
  • Describing what you want your users to be, rather than what they actually are
  • “Users should be literate in English, fluent in spoken Swahili, right-handed, and color-blind”

The reason for user analysis is straightforward: since you're not the user, you need to find out who the user actually is.

User analysis seems so obvious that it's often skipped. But failing to do it explicitly makes it easier to fall into the trap of assuming every user is like you. It's better to do some thinking and collect some information first.

Knowing about the user means not just their individual characteristics, but also their situation. In what environment will they use your software? What else might be distracting their attention? What is the social context? A movie theater, a quiet library, inside a car, on the deck of an aircraft carrier; the environment can place widely varying constraints on your user interface.

Other aspects of the user's situation include their relationship to other users in their organization, and typical communication patterns. Can users ask each other for help, or are they isolated? How do students relate differently to lab assistants, teaching assistants, and professors?

Many problems in needfinding are caused by jumping too quickly into a system design. This sometimes results in wishful thinking, rather than looking at reality. Saying "All users should have our app installed on their phone" is stating a requirement on the system, not a characteristic of the existing users. One reason we do needfinding is to see whether these requirements can actually be satisfied, or whether we'd have to add something to the system to make sure it's satisfied.

Multiple Classes of Users

  • Many applications have several kinds of users
  • By role (student, teacher)
  • By characteristics (age, motivation)
  • Beyond users: stakeholders (=one who has a share or an interest)
  • First degree: people who use the product
  • Second degree: people who work with results from those who use the product
  • Third degree: people who install, deploy, or support the system

Many, if not most, applications have to worry about multiple classes of users. Some user groups are defined by the roles that the user plays in the system: student, teacher, reader, editor.

Other groups are defined by characteristics: age (teenagers, middle-aged, elderly); motivation (early adopters, frequent users, casual users). You have to decide which user groups are important for your problem, and do a user analysis for every class. If you're designing an interface like Piazza, you'll need to identify several user classes by role: students, TAs, and instructors.

When developing an application, you need to think beyond users. We need to think of “stakeholders.” Stakeholders are those who have a share or an interest in the application. There are many ways of defining stakeholders, but we can simply divide stakeholders into three layers.

Let’s think about school information systems for a sports complex (or gym). The first degree users are actual “users”: students/faculty/staff (who do the workout!), and supporting staff (cashers, ID checking). The second degree users could be school management officials/committee, exercise equipment manufacturers/suppliers, and security services. It may include friends/families of the “users.” The third degree stakeholders are those who actually install, deploy, or support this kind of system.

Identify the User’s Goals

  • Identify the goals involved in the problem
  • Decompose them into subtasks
  • Abstract them into goals

The best sources of information are user interviews and direct observation. Usually, you'll have to observe how users currently perform the task.

For the Piazza example, we would want to observe students asking questions about homework assignments, and interacting with teammates. We would also want to interview instructors to understand their goals in running a Q&A forum for their course.

Common Errors in Needfinding

  • Thinking from the system’s point of view, rather than the user’s
  • “Notify user about appointment”
  • vs. “Get a notification about appointment”
  • Fixating too early on a UI design vision
  • “The system bell will ring to notify the user about an appointment…”
  • Bogging down in what users do now (concrete tasks), rather than why they do it (essential tasks or goals)
  • “Save file to disk”
  • vs. “Make sure my work is kept”
  • Duplicating a bad existing procedure in software
  • Failing to capture good aspects of existing procedure

The premature-system-design mindset can affect this part too. If you're writing down tasks from the system's point of view, like "Notify user about appointment", then you're writing requirements (what the system should do), not user goals. Sometimes this is merely semantics, and you can just write it the other way; but it may also mean you're focusing too much on what the system can do, rather than what the user wants. Tradeoffs between user goals and implementation feasibility are inevitable, but you don't want them to dominate your thinking at this early stage of the game.

Needfinding derived from observation may give too much weight to the way things are currently done. The steps of a current system are concrete tasks, like "save file to disk." But if we instead generalize that to a user goal, like "make sure I can come back to my work later", then we have an essential task, which admits much richer design possibilities when it's time to translate this task into a user interface.

A danger of concrete analysis is that it might preserve tasks that are inefficient or could be done a completely different way in software. Suppose we observed users interacting with paper manuals. We'd see a lot of page flipping: "Find page N" might be an important subtask. We might naively conclude from this that an online manual should provide really good mechanisms for paging & scrolling, and that we should pour development effort into making those mechanisms as fast as possible. But page flipping is an artifact of physical books!  In fact, you don’t need to duplicate this (bad or less efficient) existing procedure in your new software. It might pay off much more to have fast and effective searching and hyperlinking in an online manual. That's why it's important to focus on why users do what they do (the essential tasks), not just what they do (the concrete tasks). If you focus too much on very concrete tasks and aim to fix very specific errors within such tasks, it’s likely that you may end up making minor improvements against existing procedures---remember the local maximum problems in the design process.

Conversely, an incomplete analysis may fail to capture important aspects of the existing procedure. In one case, a dentist's office converted from manual billing to an automated system. But the office assistants didn't like the new system, because they were accustomed to keeping important notes on paper forms, like "this patient's insurance takes longer than normal." The automated system provided no way to capture those kinds of annotations. That's why interviewing and observing real users is still important, even though you're observing a concrete task process.

Contextual Inquiry

Contextual inquiry interview

  • Key: understand user needs in the context of their work by collecting data from users doing real tasks at the site of real work
  • Be prepared: note/pen, voice recorder (requires user consent)
  • Observe & discuss (be nosy and take notes)
  • Capture
  • Roles, responsibilities, types of communications, cultures
  • Physical space
  • Any artifacts the user uses or refers to (take some photos!)
  • Key tasks, work strategies, and intents

The key idea of contextual inquiry is to actually understand user needs in the context of their work by collecting real data from users who are doing real work at the site of a real workplace. As Steve Blank said, we “get out of the building” and go to users’ real workplace to get better understanding. There are always huge gaps between what we think and what we observe. What we already know is often the case, “biased.” You may argue that you know something fairly well, and you’re not biased in your judgment. However, it is often the case that “reality” is very different from what you assume. You need to change your “hat”: i.e., from the secondary user’s hat to the primary user’s hat. You need to immerse yourself in the context; you need to put yourself into the user’s shoes!

Now you have to think about what to capture. As the name “contextual inquiry” tells, you need to capture the entire context of a user. First, you need to capture their roles, responsibilities, and types of communications.  For example, in a research lab, a research staff member could do research, but also have a manager’s role as a project leader. Also, it is important to understand social environments and how people are communicating for what. Second, you may want to understand their work environments (e.g., how a research lab is organized? How users are moving around within a lab?) Third, you then need to find out what are the artifacts (e.g., computers, lab devices, or any other things related to tasks) that users use or refer to. You can take photos of these artifacts if you wish. Fourth, you need to understand the key tasks that you’re interested in understanding. As shown in the following, you need to study how the work is organized in a systematic way. You can draw a flowchart to visualize how the work is done; that’s why it’s also called “(work) sequence modeling.” For each task, you can also note what triggers that task and what’s the user’s intention behind. While you’re doing contextual inquiry, you need to be keen on finding “breakdowns” (= problems). Breakdowns may be due to physical environments, artifacts, or task sequences.

Let’s consider how a class lecture happens. An instructor arrives at the classroom. The instructor turns on the projector and tries to connect the laptop. He has a problem of connecting a laptop to the projector. After adjusting resolution, he was able to finally project the laptop screen on the projector screen.  Then, he launches PowerPoint and searches for the lecture slide deck.

Work modeling

  • Sequence model: a step-by-step recording of the tasks
  • Identify tasks and for each task, document detailed steps and breakdowns, and identify intent and triggers
  • Physical model (a user’s physical environment)
  • Physical structures/layouts, tools/objects (artifacts), a user’s movement, breakdowns
  • Artifact model: copies or representations of physical or electronic “things” the user creates, passes, or references to do a task.
  • Physical characteristics, information presented by the object, usage of the object, intention, breakdowns

Sequence modeling is simply a step-by-step recording of the tasks. You can think of it as “task analysis.” During the contextual inquiry, you can easily identify a set of tasks that a user is performing. For each task, you then need to be keen on observing (1) what’s the intent of performing that task (why users perform that task?), and (2) what triggers the user to perform that task. Also, you need to follow the user so that you can detail each step of the task. In the end, you can draw a flowchart of each task. Interestingly, you can also notice “breakdowns” ( or problems) that users encounter while performing a given task. In the below example, the instructor wants to make HCI course assignments to the students by referring to the last year’s course materials. However, the instructor encountered two problems: (1) not able to quickly find the assignments; and (2) failed to download the files due to permission errors.  

Title: making HCI course assignment to students

Seq #1

Intent: reuse HCI assignments from last year

Trigger: time to get out the first assignment

1. Log on to last year's course web

Intent: use the lecture materials used last year

Breakdown: Can’t quickly find the last year's assignments

2. Start looking for assignment and eventually find it

3. Download the files

Breakdown: permission errors

4. Contact the course web admin and get the permission

5. Retry downloading

6. Modify the assignment files

7. Upload the assignment to this year's course web

Physical and artifact models are quite straight-forward. If users are okay, you can take photos to capture a user’s physical work environment. You may want to detail physical structures/layouts of the office; and how tools/objects (what we call “artifacts”) are like. If there is any information displayed on the tools/objects, you may want to capture that as well. Observe how a user performs a task within the physical space and how the user uses the artifacts to accomplish the task. As in sequence modeling, you can easily find breakdowns/problems and identify some design ideas as well. Below example is from Rapid Contextual Design:

Physical Model Example (from “Rapid Contextual Design”)

 

Some students like to take photos like this. In this project, students wanted to understand how they study at the coffee shops or cafeteria during the exam periods. It’s likely that during that period of time, coffee shops are full of students and it’s difficult to find seats.

Affinity diagramming

  • Contextual inquiry captures a lot of notes!
  • Breakdowns—what didn’t work for the user (e.g., task, space, tools)
  • Intents and usage —why they were doing what they were doing at a particular step
  • Observed strategies for working
  • Triggers that are particularly important to support in the design
  • Design ideas and implications
  • Designers can group similar notes and label groups! (that's called "affinity diagramming")
  • Also, similar groups can be merged into higher level groups!
  • Goal is to find common issues/problems/needs

After interviewing, you’ll have many notes!  You can meet the key informants (stakeholders) and have collected many notes. During the contextual inquiry, you have probably collected information about breakdowns/problems (that the user encountered during the work), intents of some work that the user is performing, some of the strategies for working, and triggers of tasks that the user is performing. Also, you can make notes about design ideas and implications that can better improve the current workflow. You don’t need to simply capture individual steps of work. Affinity notes do not have order, and the structure of the task cannot be captured.

You can go over the notes to identify “what are the major issues.” Just skimming through your notes, you can immediately identify the common issues.  To be precise, you may want to print each note (say in the sticky note) and physically cluster similar notes together. You can use computer software tools (like mindmap) as well. There are no strict rules about how you do affinity diagramming.

A typical way is to use sticky notes as shown below:

Examples of affinity diagrams can be found in this slideshow: https://www.slideshare.net/dsaadeddin/affinity-47692207

Example from NN

https://www.nngroup.com/articles/affinity-diagram/

Persona

  • A persona is a one-page textual description of a typical user. This typical user is an amalgam of elements drawn from several users who share common job roles, demographics, and user need characteristics
  • Personas can help bring users alive and focus the stakeholders on the relevant issues when they are built from rich contextual data
  • What’s included in a persona:
  • User scenario. A brief description of a particular task performed by a persona, told in a story as though it were actual observed behavior
  • Goal. High-level achievement a persona is working toward or strives to maintain.
  • Task. An identifiable piece of work for which the persona is responsible
  • Role. The primary jobs that the persona plays, the hats they wear to get the job done, a collection of a set of responsibilities which taken together achieve an intent

After contextual inquiry, you can make a persona. You can think of a persona as a generic representation of the target users that you’re interested in. After several contextual inquiries, you can easily find out what their goals, roles, and tasks are. You can give a persona a name, say John or Jane. Persona building helps you to better capture the characters of “common users” ; i.e., scenarios, goals, tasks, and roles. How many personas should we build? It really depends on your situation. As long as you can capture the characteristics of major stakeholders (i.e., the first degree stakeholders), it would be fine.

Hard working John, a lab assistant

Scenarios: (typical scenario description what John is doing in the lab)

John is a lab assistant working at a large research lab at UCLA. He’s been working at the research lab for five years.

** Scenario #1) Everyday two or three experiments are performed in the lab. As a data recorder, he prepares a set of tools for data recording and sets up the workbench……

** Scenario #2) After experiments, he starts data preprocessing. There are lots of data dumped on the lab notes as well as computers. What’s particularly challenging is to filter out all the erroneous data by manually examining the log data. After a few years of work, he noticed the common patterns of errors, and he developed a simple tool that does automatic checking. ..

** User needs related to scenarios: The lab wants to streamline some processes… (this is related to the main focus of the project)

Goals: (typical goals that John values)

 - Keep samples running quickly through analysis

 - Keep the bench as clean as possible after experiments

Roles: (typical roles/duties that John have in the lab)

 - Data recorder: OOOO (one line explanation about what this role is about)       

 - Data preprocessor

 - Bench cleaner

Tasks:

 - Keeping data recording notes/tools ready

 - Cleaning up the data so that it can be used by senior analysts

 - Cleaning up the bench after experiments

If you like to know more about persona, please read this article:

Personas: Practice and Theory, John Pruitt and Jonathan Grudin

http://www.jonathangrudin.com/wp-content/uploads/2017/03/DesignChapter.pdf 


Walk through data

  • Data: work models (tasks, space, artifacts), issues (affinity diagramming), persona
  • Walk through this data to identify key issues and generate design ideas
  • Any questions raised during walk-through, you can ask the users later
  • Consider value first when prioritizing issues and ideas
  • You need to critically think about “values
  • What’s important is “not about features,” but about “values”  

This is the final step of needfinding. You have work models, major issues identified through affinity diagramming, and persona. From this dataset, you are now able to “objectively” talk about what are the key issues and how to tackle those issues.  Well, as you do contextual inquiry and summarizing/interpreting the data, you and your team members already have rough ideas about what the key issues are. Data reviewing helps you to “remind” of the issues and to better prioritize issues and ideas.  

This material is a derivative of MIT's 6.813/6.831 reading material, used under CC BY-SA 4.0. Collaboratively authored with contributions from: Elena Glassman, Philip Guo, Daniel Jackson, David Karger, Juho Kim, Uichin Lee, Rob Miller, Stephanie Mueller, Clayton Sims, Haoqi Zhang, and Kenneth Arnold. This work is licensed under CC BY-SA 4.0.