Step 2: Model the user tasks
Once you have a clear understanding of the system, the next step is to model the user tasks and workflows. This involves defining user types, building task progressions, and identifying the key entities and objects in the system.
Key considerations
Who are the different types of users that will interact with the system?
What roles and permissions should each user type have?
Example: For a project management app, user types might include project managers, team members, and clients. Project managers would have full permissions to create, assign and manage tasks. Team members could update task status and add comments. Clients may have view-only access to project progress.
What are the primary tasks users need to accomplish?
What are the jobs-to-be-done?
Which primary tasks support these JTBD?
How can these tasks be broken down into step-by-step workflows?
What are the key entry points, decision points, and endpoints for each task?
Example: If a JTBD is “manage client projects”, a primary task could be "Create a new project". The workflow might be: Select "New Project" > Enter project details > Assign team members > Set project timeline > Confirm and create project. The entry point is selecting "New Project", decision points include assigning team members and setting the timeline.
How will users create, read, update and delete data?
What is the necessary sequencing and granularity of these actions within user flows?
Example: When creating a new task, the user flow might involve: Select "New Task" > Enter task details > Assign task to team member > Set due date > Attach relevant files > Save task. Updating a task may allow editing details, reassigning, adjusting the due date or marking it complete.
What are the key data entities and objects users will interact with?
How are these entities related and structured?
Example: Key entities could include Projects, Tasks, Team Members and Clients. Projects contain many Tasks. Tasks are assigned to Team Members. Projects are associated with Clients. Understanding these relationships helps define the information architecture.
Best practices
Focus on the most frequent and important user tasks first.
Example
In an e-commerce app, prioritize tasks like browsing products, adding to cart, and checking out over less frequent tasks like updating account settings.
Use simple, clear language to describe user tasks and entities.
Example
Label a button "Add to Cart" instead of "Initiate item purchase process".
Validate task models with user research or feedback.
Example
Conduct usability tests with prototypes to ensure task flows match user expectations and identify potential friction points.