Hierarchical Task Analysis

Innovating UX Practice

Inspirations from software engineering

A column by Peter Hornsby
February 8, 2010

As UX professionals, we have a great many analytical and descriptive tools available to us. In fact, there are so many that it can sometimes be difficult to decide which tool is most appropriate for a given task! Hierarchical task analysis (HTA) is an underused approach in user experience, but one you can easily apply when either modifying an existing design or creating a new design.

This technique has applications across a range of different problem domains, including time-and-motion studies, personnel selection, or training, and provides a broad and deep understanding of task performance. While there are core principles that guide a hierarchical task analysis, it’s possible to adapt the basic approach in a huge number of ways to support the needs of any domain under consideration. In this column, I’ll examine one approach to hierarchical task analysis that enables UX designers to quickly understand both what a system does and how its capabilities translate into the system’s user experience. You can also use this approach to support the UX development process.

Champion Advertisement
Continue Reading…

What Is Hierarchical Task Analysis?

A structured, objective approach to describing users’ performance of tasks, hierarchical task analysis originated in human factors. In its most basic form, a hierarchical task analysis provides an understanding of the tasks users need to perform to achieve certain goals. You can break down these tasks into multiple levels of subtasks. In user experience, you can use hierarchical task analysis to describe the interactions between a user and a software system. When designing a new system, hierarchical task analysis lets you explore various possible approaches to completing the same task. When analyzing an existing system, it can help you to optimize particular interactions.

Once you’ve created a hierarchical task analysis, it can serve as an effective form of system documentation, enabling developers to rapidly understand how users interact with a system. As software engineers are all too aware, the intimate familiarity you may have gained with why users do something in a certain way can quickly fade in just a few days or weeks. A hierarchical task analysis is an effective means of capturing this information.

Applying Hierarchical Task Analysis to User Experience

Hierarchical task analysis requires a detailed understanding of users’ tasks. You can achieve this understanding by

  • identifying users’ primary goals
  • detailing the steps users must perform to accomplish their goals
  • optimizing these procedures

Let’s look at an example of a hierarchical task analysis. Our example is from a hierarchical task analysis I performed to better understand an existing system. We’ll consider a common task: ordering a book. Figure 1 shows a high-level hierarchical task analysis for this task.

Figure 1—Hierarchical task analysis for ordering a book
HTA for ordering a book

In this hierarchical task analysis, I’ve broken this task down into subtasks, expressing the relationships between the parent task and its subtasks through a numbering scheme. This hierarchical task analysis is very coarse from a user experience standpoint. It does not communicate anything about what is happening at the level of a user’s interaction with the system. However, it does give a clear understanding of the task’s high-level steps. A more complete task analysis would ultimately get down to the level of user interactions. To illustrate, Subtask 1.4, “Complete address,” would break down as follows:

  1. Locate the Full Name field.
  2. Move the insertion point to the field.
  3. Type the full name.
  4. Locate the Address Line 1 field.
  5. Move the insertion point to the field.
  6. Type the address.
  7. Optional: Locate the Address Line 2 field.
  8. Move the insertion point to the field.
  9. Type the address.
  10. Locate the Town/City field.
  11. Move the insertion point to the field.
  12. Type the town or city.
  13. Locate the County field.
  14. Move the insertion point to the field.
  15. Type the county.
  16. Locate the Postcode field.
  17. Move the insertion point to the field.
  18. Type the postal code.
  19. Locate the Country field.
  20. Move the insertion point to the field.
  21. Select the country from the drop-down list.
  22. Locate the Phone Number field.
  23. Move the insertion point to the field.
  24. Type the phone number.

Optionally, you can provide an illustration of the screen on which a user performs this task, helping to put this interaction in context. Figure 2 shows the screen for the “Complete address” task.

Figure 2—“Complete address” task
Complete address on Amazon

Combining different approaches to describing user interactions provides an understanding of tasks that is both broad and deep. The diagram shows how the high?level steps of a task relate to one another. The structured breakdown of the task into its subtasks describes each interaction in detail. The screenshot puts the interaction in context.

It is advisable to create a plan that describes the way in which a hierarchical task analysis assembles the subtasks that let users achieve a particular goal and any conditions the subtasks must fulfill. In many cases, users can simply work through the subtasks in a hierarchical task analysis, so keeping the plan separate from the tasks provides an additional degree of flexibility. For the example hierarchical task analysis, there could be two different plans, as follows:

  1. If a user is new to the system, complete Task 1.
  2. If a user has registered and is signed in, complete Tasks 1.1, 1.2, and 1.5.

The Benefits of Hierarchical Task Analysis

Understanding user interactions at multiple levels of abstraction provides several benefits.

  • It lets you objectively compare different approaches to the supporting same task—in terms of the numbers and types of steps the approaches require. For instance, reducing the number of steps in a task would probably enable a user to complete the task more rapidly, so replacing multiple fields with a single field would speed up the task. However, this would also make the address less easy to verify. The hierarchical task analysis provides a framework in which you can capture such a design rationale and refer to any related documentation.
  • There may be several competing approaches to the same problem, so ensuring your team uses common language and a consistent approach to hierarchical task analysis can help you to compare them fairly.
  • It enables effective UX design, because designers can understand how a system works, at whatever level of abstraction is most appropriate for what they are currently trying to accomplish.
  • It supports UX design reuse. UX design patterns are a useful step toward UX design reuse, but they describe only the high?level principles of interactions. Hierarchical task analysis lets you capture multiple implementations of a design pattern—expressing interactions in a common structured format—and identify new design patterns.

You can use established user research techniques to collect the information for a hierarchical task analysis. Observational methods can inform a hierarchical task analysis for an existing system, while interviews and similar qualitative approaches can help you to understand how users think about tasks when you are designing new systems, ensuring that the proposed approach follows users’ existing mental schemas.

While creating a detailed hierarchical task analysis is time consuming, making each step explicit makes it less likely that you’ll ignore any of the knowledge a user requires. Plus, it may let you identify further opportunities for improving the user experience. For example, knowing that a user is likely to have restricted movement can influence the design and implementation of a form. Because a hierarchical task analysis makes the required steps explicit, it is less likely that a designer would overlook such issues.

Any hierarchical task analysis must have a clear stopping point that you’ve defined in advance: the point at which the analysis stops. For most UX applications, this can be the most atomic level of user interaction—for instance, a mouse movement. A hierarchical task analysis is not restricted to describing a single process. You can associate multiple plans with a single hierarchical task analysis to illustrate how users can accomplish multiple tasks, using reference numbers to illustrate the different flows through the hierarchical task analysis. You can also associate different plans with different personas whose needs you intend a system to support or with different options, depending on the type of system.

A hierarchical task analysis can provide the basis for creating user journeys. While user journeys may include a lot of information about particular users—their perceptions, backgrounds, and levels of understanding—a hierarchical task analysis objectively describes users’ interactions with a system. User journeys are a more specialized application of the information a hierarchical task analysis describes, putting user interactions in the context of specific users. Once you have created a hierarchical task analysis, the development of other design tools such as user journeys becomes much simpler.

In Summary

Hierarchical task analysis is a structured, straightforward technique that is relatively easy to carry out. For someone who is new to user experience, hierarchical task analysis is an ideal way to learn about users’ tasks. Hierarchical task analysis supports analysis, design, and documentation and integrates well with other UX tools, while letting you maintain a strong task focus.

Creating other UX tools such as personas and user journeys relies on your having a good understanding of the fundamental tasks users need to perform to accomplish their goals. Constructing a hierarchical task analysis requires that you have a good understanding of both a system and its users. Thus, hierarchical task analysis provides an integrated view of a design space. Other UX tools can refer to a hierarchical task analysis and, in turn, it can refer to other UX tools. 

Director at Edgerton Riley

Reading, Berkshire, UK

Peter HornsbyPeter has been actively involved in Web design and development since 1993, working in the defense and telecommunications industries; designing a number of interactive, Web-based systems; and advising on usability. He has also worked in education, in both industry and academia, designing and delivering both classroom-based and online training. Peter is a Director at Edgerton Riley, which provides UX consultancy and research to technology firms. Peter has a PhD in software component reuse and a Bachelors degree in human factors, both from Loughborough University, in Leicestershire, UK. He has presented at international conferences and written about reuse, eLearning, and organizational design.  Read More

Other Columns by Peter Hornsby

Other Articles on User-Centered Design

New on UXmatters