Hierarchical Task Analysis

By Peter Hornsby

Published: February 8, 2010

“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.”

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.

What Is Hierarchical Task Analysis?

“A hierarchical task analysis provides an understanding of the tasks users need to perform to achieve certain goals.”

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
“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.”

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.
“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….”

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.”

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.

5 Comments

This is a great way to show clients the impact of adding or removing steps in a workflow, but visually it doesn’t emphasize the time each step takes. Reducing the number of steps from 10 to 6 looks nice on paper, but if the four missing steps only took 1 second out of a 3-minute task, the user probably won’t feel like the workflow is more efficient.

I use CogTool on occasion for this type of UX research—using the application to document task steps. What is a nice bonus is then seeing a prediction of expert use task time that can be broken out into steps. Seeing the bottlenecks in terms of task time can help narrow the redesign focus to problem areas. When presenting to the client, you can highlight the steps that take more than 10–20% of the total task time and demonstrate how a reduction in those steps could save the user xxxx amount of time.

Very nice post. I’m a little late in reading this, but the information is still applicable.

This is a very effective tool for human error management, but I have difficulty in it because I am not confident in my analysis.

I need someone to please help me out.

Yes, it’s a great tool for task decomposition and analysis. HTA is, however, neutral. But its outcomes can be used as inputs in error identification methods—especially the Systematic Human Error Reduction and Prediction Approach. In the example given, sub-goal 1.3, Enter payment details, can be classified as an Action according to SHERPA taxonomy, and one of the likely errors associated with this task would include that the A8-Operation can be omitted. Ergonomic solutions would include changing the user interface so it becomes mandatory to enter payment details before you can proceed. This implies that HTA cannot be used singly to identify errors.

Admin, your HTA looks great, but it needs a plan—for example, Plan 1, Do 1.1-1.2 in order, then 1.3, if there is no previous purchase made; 1.4-1.5, if a previous purchase was made, proceed to 1.5. This way the HTA will cater to both new and return customers. You have my email if you need more info.

Assistance please!

I intend to analyse tasks in a process plant to identify human failures leading to accidents through the application of a predictive human-error mechanism. Please, can you refer me to an HTA application that I can use in analysis of operator task procedures.

Join the Discussion

Asterisks (*) indicate required information.