Skip to content

Instantly share code, notes, and snippets.

@acidtone
Last active January 17, 2022 18:09
Show Gist options
  • Save acidtone/aa85df7a330fd678d84167f0e59d889d to your computer and use it in GitHub Desktop.
Save acidtone/aa85df7a330fd678d84167f0e59d889d to your computer and use it in GitHub Desktop.
Agile User Flows

Agile User Flows

What is a User Flow?

A User Flow is a series of actions a user takes to achieve a goal.

3 Key Components

  1. Who is the user?
  2. What is their goal?
  3. What are the steps the user needs to take to achieve that goal?

Why do we use User Flows?

It's a method used to communicate designs, from the user's perspective, to the other stakeholders in a project such as:

  • Product/Project Managers
  • Software developers/engineers
  • Clients/Product Owners
  • UI/Graphic Designers

User Flow Fundamentals

  1. User flows are named to show their purpose.
  2. User Flows go in one direction.
    • Decision branches are very limited.
  3. User flows represent a complete task.
    • If your user flow is only a fragment then it loses the power to tell the story of your users. If they go on for too long they lose their meaning.
  4. Non-user tasks (like a server process) should not be included as a task item.
    • For example: page redirects should be included at the end of a user action, not as its own task.
  5. User flows have the same starting point for all users.
    • If the starting point diverges, create a separate user flow that (perhaps) references a distinct user.
  6. User flows end in success.
    • Together, all user flows should represent the ideal, unambiguous model of your website or application.

Examples

Note: Many user flows are graphical but they can also be represented by a numbered list of actions.

Example 1: Buy a Desk on Amazon

User Story: As a registered user I want to order a desk online so that I don't have to move it home myself.

  1. User navigates to website by typing "Amazon" in their browser address bar.
  2. User searches for "desk" in search bar.
  3. User scrolls down to find a desk and taps on one he/she likes.
  4. User taps "add to cart". Redirect: sign in page.
  5. User logs in. Redirect: Back to cart.
  6. User taps "proceed to checkout".
  7. User taps "place your order".
  8. User is redirected to a page that tells the user that the order is a success.

Attributions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment