Why it matters:
- Only finding the steps customers take for a task is not enough
- Uncovering why steps are taken reveals design requirements
- Both the overall intent and underlying subintents need to be supported
In one of my many “prior lives” I was an instructional designer; over the years I slowly transformed from a training professional into a product manager. Therefore when I was first introduced to Contextual Design, one of the techniques I quickly related to was the Sequence work model. Not only was the Sequence model easy to understand — capture each step the user takes to perform a task—it also felt very similar to task analysis.
But then I learned more about the Sequence model and that led to a big “aha” moment for me: the individual steps people take ultimately don’t matter. It’s their intents — why users take the step or steps — that count. Uncovering the intents — and then specifically calling them out so your design supports them — was what had been missing in my product’s design, and why customers weren’t happy with the functionality even though we were giving them what they had asked for (it was also what was missing in my marketing messages, but that’s a different story).
The Sequence Model
A Sequence model represents the steps by which work is done. That aspect of the model is pretty easy to capture; you merely have to write down everything the user does. Sequence models supply the low-level, step-by-step details on how the work is accomplished. This is what most of us are accustomed to doing in task analysis. For example, here is the start of a sequence of steps that a user takes when she does the task of bill paying:
Get out the checkbook and pen and put them next to her
↓
Take the stack of the bills from the corner of the desk and put next to her
↓
Find the booklet of postage stamps
↓
Look to see how many stamps there are in the booklet
↓
Put the stamps next to her
↓
Pick up the first bill in the stack
↓
Decide if all of the bill must be paid or if it can be partially paid
↓
Put the bill in the stack for must pay the entire amount of bill
↓
Pick up the second bill
↓
Decide if all of the bill must be paid or if it can be partially paid
↓
Put the bill in a stack for partially pay the bill
↓
Continue by looking at each bill, deciding how much must be paid, and putting in either the must pay entire amount stack or partially pay stack
↓
Pick up the first bill in the must pay entire amount stack
Intents are Core and Stable
If you are building a bill paying application, then obviously the steps people perform to pay bills are important. However, if you only capture the steps you are missing a core component of the task, a component that arguably is even more important to the work than the actual steps. Why did the user even carry out this overall task? To do the task, why did she take a certain step or series of steps?
The “whys” are the intents. If we can find the intents, and then design to the intent, it doesn’t matter that different people take different steps. As long as our product satisfies their intent, their work will be supported. We can re-design, modify, and remove steps as long as they users can still achieve their underlying intent.
Moreover, intents are stable over time; it’s the steps that change. For example, for centuries people have had the intent of communicating over a distance. It’s the steps that have changed-from smoke signals to handwritten notes via a messenger to the telegraph, telephone, videoconferencing, email, and instant messaging.
Identifying the Overall Intent
The users’ overall intent needs to be met, but there’s more to it than that. Our system has to support all of the intents concealed in the work, not just the overall intent. For example, if our user has a subintent of planning how to pay the bills before she starts writing checks and our system doesn’t support planning, she’s not going to use the product.
Here’s the bill paying sequence again, now with the user’s overall intent and her subintents. We’ve also added two other elements of a sequence work model: the trigger (what caused this sequence of steps to be initiated) and breakdowns (problems in doing the steps).
Overall Intent: Balance paying the amount due on bills against the amount of available money so there is enough for out-of-pocket living expenses and savings contributions
↓
Trigger: The rent is due next week
↓
Get out the checkbook and pen put them next to her
↓
Take the stack of the bills from the corner of the desk corner and put next to her
↓
Intent: Organize everything in one place before starting
↓
Find the booklet of postage stamps
↓
Breakdown: Can’t find the stamps for several minutes, forgot that they were in her wallet
↓
Look to see how many stamps there are in the booklet
↓
Intent: Use the number of stamps as a criterion for how many bills can be paid right away
↓
Put the stamps next to her
↓
Intent: Have everything close at before starting
↓
Pick up the first bill in the stack
↓
Decide if the entire amount of the bill must be paid or if it can be partially paid
↓
Put the bill in the stack for must pay the entire bill
↓
Pick up the second bill
↓
Decide if all of the bill must be paid or if it can be partially paid
↓
Put the bill in a stack for partially pay the bill
↓
Continue by looking at each bill, deciding how much must be paid, and putting in either the must pay entire amount stack or partially pay stack
↓
Intent: Separate bills into two primary categories for payment
↓
Pick up the first bill in the must pay entire amount stack
↓
Intent: Give first priority to paying bills where the entire amount must be paid
With these subintents clearly called out, now we know what we need to support for this user. Of course we need to interview multiple users, and then look across all of them to find the commonalities as well as the variations that matter.
Look Beneath the Surface
The Sequence model is one of Contextual Design’s five work models. Each model gives us a unique face into the work. Not every project calls for every model, but nearly every project calls for the Sequence model. Just be sure you go beyond the surface of the task and its steps and get to your users’ overall intent and underlying subintents. Supporting the current steps just automates — or automates in a different way — what people are currently doing. The goal is to change the steps to make the work more efficient by helping the users achieve their intents.