The Jobs-to-be-done (JTBD) framework is used to understand better what a user wants to achieve while using your product. When done right, you can better prioritize how and when to design specific features.

Updated on December 5th, 2022


Jobs are fundamental tasks that users hope to accomplish when using a product. Let's look at a JTBD example:

"I want to be able to find the best holiday deals, so I can make an informed decision about where to go next."

In general, there are two job types:

  • Main jobs. These are the primary tasks that users want to accomplish, like purchasing a holiday gift or booking a flight.

  • Related jobs are tasks users want to achieve in conjunction with main jobs, like creating an account or updating a user profile.

Why is it important?

One of the main advantages of the jobs-to-be-done framework is that users and their needs are put in the first place. However, it only works when users know for sure what they want.

It requires searching for desired and non-desired outcomes for users. JTBD will prevent you from the risk of producing something that people do not want.

How to create a JTBD statement

Now that we know what a jobs-to-be-done statement is, the next step is to create one. Here's how to do that.

Step 1 - Job definitions

To write a good jobs-to-be-done statement, you first have to understand the business goals of your stakeholders and who your users are. Then, you can narrow down all the job statements and potential solutions.

Use other UX research methods such as user interviews, stakeholder interviews, surveys, and workshops to get your initial understanding of the project and what needs to be done.

Step 2 - Write the job statement

Now that you know the requirements and job definitions, it is time to write the actual job statements. Here's how to structure a jobs-to-be-done statement.

I want to [Motivation] when I [Situation/Context - optional], so I [Outcome/Result].

The number of job-to-be-done statements you can write for a project depends on the project scope. For example, large or complex projects generally have more statements.

Step 3 - Add the conditions for each job

The final thing to do for each job statement you create is to add the conditions. You can divide the conditions into the following categories.

  • Functional conditions for the actual job, like a maximum price, number of clicks, or a way of registering an account.

  • Emotional conditions for the user experience of completing a specific job. For a UX designer, these are super important to consider.

Useful resources

8 things to use in “Jobs-To-Be-Done” framework - Medium

Personas vs. Jobs-to-Be-Done - NN Group

An Overview of the Jobs to Be Done Framework - Toptal



Page link

Want to learn more about Jobs-to-be-done?

Learn together with other UX designers in our community. Join by picking one of the options below.


  • Same as annual, but billed monthly.


Choose plan


Save 18% compared to monthly

  • 1️⃣ Join our Discord community

  • 2️⃣ Monthly UX Master Classes

  • 3️⃣ Office hours in the community


Choose plan


One purchase. Join forever.

  • Support the development and upkeep of UX Dictionary


Choose plan

Once you choose your plan, you'll be redirected to our Stripe page. After that, you'll be redirected to our dashboard. You can cancel, pause, or upgrade at any time.