Task Analysis
An interactive system like a website or app often contains functionalities that involve the completion of a task. Task analysis involves the unraveling of a system in possible stakeholders, tasks, subtasks and actions.
What
In this course you will learn to use different elements to perform task analysis: actors, use cases and hierarchical task diagrams:
- Actors are all users that use, influence and/or work together within a system. Actors are not always only people, actors can also be other systems.
- There are several definitions for use cases. In this course, we define a use case as a task a user performs within a certain system.
- Hierarchical task diagrams are graphical (schematic and detailed) descriptions of single tasks that are performed by a single person within a system. Such a diagram shows a sequence of tasks, subtasks and actions.
Use when
Task analysis is done early in the design process to understand in detail how users perform tasks and achieve their intended goals when using an existing product or system.
Why
Task analysis is done to understand and define what tasks users perform in an existing situation. Task analysis results in an in depth understanding of:
- the actions different users have to execute and information users need in order to perform certain tasks
- the aim of certain tasks
- the context in which task performance takes place
- the relations between the different tasks, information flows and users
This in depth understanding helps by identifying chances for improvement of an existing system as well as designing tasks in the right place in a new system.
How
Task analysis starts with making a list of all actors that are part of a system. After that, make a list of all use cases (tasks) that these actors perform within the system. When writing down use cases (tasks), describe them in general terms: don’t use too much detail. You will describe the tasks in detail in the next step: drawing up hierarchical task diagrams. In this step you will determine how the tasks have to or will be realised. In a hierarchical task diagram, a single task that is performed by a single user is divided in subtasks and actions in a structured way, untill the task is plotted to the ‘lowest’ level.
There are several techniques you can use to attain the information you need to make the lists of actors and use cases and hierarchical task diagrams. Like observing, giving out surveys, performing interviews, brainstorming, reviewing existing documentation and participating in the situation being investigated.
Step 1: Identifying actors
This step is all about identifying potential actors. Here, this rule applies: the more the merrier. You can work with these actors in later steps; or they can be reduced in number or combined. Potential actors can be found by answering the following questions:
- Which customers are customers of the system, and which are customers of the processes around the system?
- Who are the external partners of the system? Which goods and services do these external partners use?
- Which in-house positions and organization units are partners of the system and use its goods and services?
- With what external systems does the system interact?
(source: https://sourcemaking.com/uml/modeling-business-systems/external-view/constructing-use-case-diagrams)
Step 2: Identifying use cases
This step is about finding potential use cases. The rule—the more the merrier—applies here as well (in reasonable moderation). Potential use cases can be found by answering the following questions:
- Which goods or services are provided to and used by the customer?
- Which goods or services are provided to and used by external partners?
- Which goods and services that are provided by the system involve suppliers (suppliers of goods and suppliers of services)?
- What are the individual actors doing?
- How and on what occasions does communication take place with other business systems or business partners?
- Which events trigger what activities?
(source: https://sourcemaking.com/uml/modeling-business-systems/external-view/constructing-use-case-diagrams)
Step 3: Drawing up hierarchical task diagrams
The following notes are important to take into consideration when drawing up hierarchical task diagrams:
- Create a task diagram for each task.
- A task must always have multiple sub-tasks.
- If there is a line under a task state then there is no more deeper level below that task.
- If the task diagram does not fit on one page, you can draw a triangle under a subtask and eleborate on that subtask on another page.
- When finished, present the task diagram to someone else who has not been involved in the decomposition but who knows the tasks well enough to check for consistency.
- Add the order in which the task can be performed at any level (subtasks and actions).
- If relevant, add goal, frequency, time and errors as a description of each task.
More information about setting up hierarchical task diagrams can be found in Designing Interactive Systems, A comprehensive guide to HCI and interaction design, David Benyon, Third edition in Chapter 11 – Task analysis (page 238 – 244).
Examples
Example actors and use cases
Let’s assume you as a designer want to improve the check-in and boarding process for airline passengers. In particular, you are interested in coming up with good ideas for the following user story:
As an airline passenger\ I want to be able to check-in online\ so that I can save time.
The first step in coming up with good ideas for solving this user story, is understanding the current system for checking in and boarding starting with describing actors and use cases for this system. We might find the following actors and use cases:
Actors
- Airline passenger
- Check-in clerk
- Check-in machine for automated check-in
- Airport customs
- Bagage handlers
- Etc.
Use cases
- Regular check-in: submitting the ticket, baggage check-in, seat reservation, and issuing and handing over the boarding pass.
- Express check-in: the same as regular check-in but without baggage check-in.
- Automated check-in: check-in without the help of a check-in clerk, directly at a machine (screen). Baggage cannot be checked in.
- Boarding: verifying the passenger’s boarding pass at the gate.
- Requesting passenger list: a passenger list is used by bagage handlers so they know which bagage should go in which plane.
- Etc.
(Based on source https://sourcemaking.com/uml/basic-principles-and-background/introduction-to-the-case-study)
Example hierarchical task diagram
An example of a hierarchical task diagram about “making a cup of tea”:
Assignment
The assignment for this topic consists of 4 steps:
- Make a list of actors and use cases for your design case ‘the cinema experience’.
- Visualize the relations between the actors and use cases: how are they related.
- Based on your visualisation, select three tasks of which you think there is added value for the user if the tasks would be done (partially) by a digital system.
- Make a hierarchical task diagram for the three selected tasks.
After these steps, check the user story list. Add and/or adjust stories if necessary.
Tutorials and Talks
Further Reading
Must read before class:
http://www.uxmatters.com/mt/archives/2010/02/hierarchical-task-analysis.php