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.