You just bought a used car and need to change the spark plugs in the car’s engine. Your developer buddy invites you to use his garage full of tools while he is away this weekend. To your surprise he has a whole stack of professional tool chests with labels identifying each drawer's tools. Perfect! Then you realize that, having never changed spark plugs, before, you have no idea what tools you actually need. You are even further confused as you start opening all the drawers and find more tools than you have ever seen before. You have no idea what some of these tools even do. Undaunted, you grab a handle and socket, but the spark plug socket doesn’t fit the handle. Unbeknownst to you, you grabbed a 1/2” drive handle and the socket uses a 3/8” drive. Who knew? Though it contains all the tools you could ever need, this garage is highly dependent on the user knowing exactly which tools they need for each job.
Your UX designer friend left you at text inviting you to use her garage this weekend, as well. You open her garage and find a garage full of tool chests, too, but those drawers are labeled by the tasks you need to perform, such as change tire, change oil, etc. You quickly spot a drawer labeled change spark plugs. You open it to find just the tools you need for that job - socket handle, spark plug socket, socket extension (for those plugs way in the back), torque wrench (preset to 15 lb/ft), and gap tool (you didn’t even know you have to gap the plugs).
This task-oriented tool box design only requires each user to know what job they want to perform. By using her knowledge of which tools are appropriate for each task, the UX designer provided a design based on her expert knowledge that overcomes the highly variable skill and knowledge levels of each user. Instead of opening all of the drawers to find the tools they need, the user only has to open one. By virtue of her “design,” the designer dramatically increases the success rate for every user, even the most novice mechanic.
Feature-oriented vs. Task-oriented Design
A feature-oriented design typically organizes the various features and functions by their relationship or similarity to each other (such as File, Edit, and View features). Moreover, a feature-oriented design includes only one instance of each feature in the interface. Users must know where each feature is and when to use them during their task. Success is dependent on the highly variable skills and knowledge of each user. It stands to reason that any design that relies on that variable level of user skill and knowledge can only achieve equally variable success (or failure).
A task-oriented design organizes features within the various task flows. Each feature is provided on just the right screen at just the right time. Given that a feature might be used in several different tasks, a basic tenet of task-oriented design is that a feature will be replicated in each task flow that requires it. This eliminates the reliance on users knowing where each feature is or when exactly to use it.
A key attribute specific only to task-oriented design is that you can build best practice knowledge into such as design whereas you cannot do that in a feature-oriented design. When a typical designer looks at a problem domain and sees100 users performing the same task 100 different ways, they think the design solution should be flexible enough to allow anyone to perform the task any way they want. The trouble with that approach is that it is highly dependent on the highly variable skill levels of the individual users.
The UX/Knowledge designer realizes that if 100 people perform the same task100 different ways, its because no one knows how to do it the right way. Each user only knows how to do it their way because their horizon of observation is limited to the 4 walls of their office. Your company, on the other hand, sees beyond everyone’s 4 walls, giving you visibility into best and worst practices. The more successful design approach builds these best practices into the product by optimizing the task flows to guide each user to a average level of success greater than their highly variable skill levels would otherwise suggest. Users succeed, not on their knowledge and skill, but because of the knowledge you build into the design. This cannot be achieved with any feature-oriented design approach.
Task Analysis and Optimization
To create task-oriented designs, you must perform a task analysis and then optimize the task flow for a best practices task approach. There are several books on task analysis, but one I’ve recommended over the years is User and Task Analysis for Interface Design by Reddish and Hackos. However, I have not found a book that I believe adequately describes how to embed best practice knowledge into the design through task optimization. You’ll just have to work that out for yourselves.