Jobs to be Done at GitLab

Jobs to be Done (JTBD) is a framework for viewing products and solutions from the user’s perspective, focusing on the problems they want to solve rather than specific solutions. It helps GitLab team members uncover user needs, identify strategic opportunities, validate plans, and drive innovation.

The material in this page and related pages (Playbook, Beyond the Playbook) draws from Jim Kalbach and his book, “The Jobs to be Done Playbook”.

For practical JTBD research guidance, see the playbook.

Note: The previous JTBD source (yml file, internal only) is being replaced. Teams should track JTBD work in FigJam until a new handbook page is created.

Anatomy of a JTBD Canvas

A Job to be Done Canvas organizes the elements of a Job Performer’s Main Job for easy iteration, sharing, and documentation. We use canvases in our JTBD playbook within our FigJam template.

JTBD canvas

The Domain: Where do you want to innovate?

Start by identifying the relevant area within your Stage Group to help determine who you’re innovating for and what they need to accomplish.

Job Performer: Who do you want to innovate for?

A Job Performer is the person executing a specific job, distinct from their job title. After identifying your domain, focus on one Job Performer aligned with the Main Job.

Key characteristics:

  • Describes an individual role, not a job title
  • Avoids compound descriptions (no AND/OR)
  • Remains high-level, not a detailed persona
  • Simple and directly connected to the target job
Good Examples Bad Examples
New home buyer Millionaire real estate investor (describes circumstances, not the job)
Author Steven King (too specific)
Code reviewer Software Engineer (job title)

Identifying other actors who relate for your Domain can provide valuable context and aide in selecting a primary Job Performer. Once a Job Performer is selected, these related Job Performers can be documented and explored with their own canvases later if needed.

Job Performers vs. Personas

While user personas represent job titles (like “Software Developer”), Job Performers focus on specific tasks within roles. One persona may handle multiple Main Jobs (coding, reviewing, maintaining infrastructure), and different personas may share the same Job Performer role. For example, various roles might review code, but we’d use a single “Code Reviewer” Job Performer to understand that specific task.

Main Job: What is the Job Performer trying to get done?

A Main Job is a timeless, functional goal that serves as the focus for innovation, representing what the Job Performer wants to accomplish independent of any specific solution.

Key characteristics:

  • Begins with an action verb
  • Has a clear end state
  • Avoids compound descriptions (no AND/OR)
  • Remains solution and technology agnostic
  • Excludes adjectives (which belong in Outcomes)
  • Stays broad enough to allow innovation

Structure: [verb] + [object] + [optional clarifier]

  • Verb: Action to accomplish
  • Object: Target of the action
  • Clarifier: Additional context or conditions
Good Examples Bad Examples
Buy a new home within 10 minutes of my work Purchase the house at 123 Main Street for less than asking (Too specific)
Write a book Be a best selling author (Aspirational, not a job)
Ensure code changes meet organizational standards Review Merge Requests efficiently (Technology-specific, uses adjective)

Consider 3-6 other goals the Job Performer has within the Domain. They should be distinct objectives and forumlated at a similar level of detail. These Related Jobs can be explored with their own canvases later if needed.

Aspirations: What does the Job Performer aspire to become?

Aspirations are typically 1-3 “be” goals representing the Job Performer’s desired personal growth from completing the Main Job. They sit at the top of the canvas, hierarchically above the Main Job.

Example hierarchy for home ownership:

  • Job Performer: New homeowner
  • Aspirations: Be happy with home life, Be part of a local community
  • Main Job: Acquire a new home
  • Related Jobs: Finance a new home, Move homes, Sell old home

Job Steps: How does the Job Performer get the job done?

Job Steps are the sequential objectives a Job Performer must complete to accomplish their Main Job. They form a Job Map, with each step being high-level rather than individual tasks. Keep steps broad enough to apply to all performers of the job.

Key characteristics:

  • Begins with an action verb in first person
  • Avoids compound descriptions (no AND/OR)
  • Remains solution agnostic
  • Flows left to right through stages
    • Sub-steps stack vertically within each stage
Good Examples Bad Examples
Decide where to look for a new home Ask Richard what neighborhoods are popular (Too specific to one scenario)
Determine selection criteria
Seek new homes
Transfer home ownership

Outcomes: How does the Job Performer measure success?

Outcomes are the subjective criteria Job Performers use to gauge success. A Main Job typically has 50-100 Outcome statements.

Key characteristics:

  • Begins with a directional verb (minimize, increase, etc.)
  • Includes a measurable unit (time, effort, likelihood)
  • Ends with job-specific qualifiers
  • Avoids compound statements (no AND/OR)
  • Remains solution agnostic
Good Examples Bad Examples
Minimize the time it takes to identify a potential new home Find the best home quickly (No direction, “best” isn’t specific)
Reduce the number of compromises made when deciding on a new home Have the most attractive house on the street (No direction, subjective measure)
Minimize the distance to the place of employment

Emotional/Social Aspects: How does the Job Performer feel and want to be perceived?

Emotional and social aspects represent the experiential side of the job, helping shape how solutions should be delivered to meet Job Performers’ personal needs.

Key characteristics of Emotional aspects:

  • Begins with “feel” or “avoid feeling”
  • Indicates a specific emotion
  • Avoids compound statements (no AND/OR)
  • Remains solution agnostic

Key characteristics of Social aspects:

  • Begins with “appear as” or “avoid appearing as”
  • Indicates social perceptions
  • Avoids compound statements (no AND/OR)
  • Remains solution agnostic
Aspect Type Examples
Emotional Feel in control of the home acquisition process
Avoid feeling uncertain about new home selection
Social Appear as a good future neighbor
Avoid appearing unknowledgeable about the new home acquisition process

Understanding these aspects helps design solutions that address both functional and personal needs - like adding time-saving features for programmers concerned about appearing efficient.

Job Differentiators: What factors influence how the job gets done?

Job Differentiators are circumstances that affect how the job is performed, typically involving time, manner, or place.

Key characteristics:

  • Begins with “if”
  • Shows range of options using “versus/vs”
  • Avoids compound statements (no AND/OR)
  • Remains solution agnostic
Good Examples
If the Job Performer is single vs. married
If the Job Performer has young children vs. children out of the house
If the potential new home is local vs. far away

These differentiators can help narrow the Main Job’s scope (e.g., “get energy in the morning” vs. “get energy in the afternoon at work”).

Main Jobs to micro jobs

When talking about Jobs to be Done, we’re often talking about different levels of jobs. It’s important to note the differences in terminology between these levels so that you and your stakeholders can communicate effectively.

JTBD hierarchy diagram

Main Jobs

A Main Job is a means to an end. It’s an act that will be performed and should have a clear end state (the “done” part of JTBD). That is why we write jobs in the pattern Verb + Object + Clarifier when writing job statements.

Example: Buy a new home

Small jobs

Small Jobs are more practical and correspond to a process or workflow. They answer the question, “How does the job get done?” in the context of the Main Job and moves the user closer to accomplishing their goal.

Example: Put in an offer on a house

Micro-jobs

Micro-jobs are the small tasks a user may undergo to accomplish their small job and Main Job. Micro-jobs should be self-explanatory and easy to understand without much context.

Example: Decide how much you’re going to offer in relation to the asking price.

It’s important to be able to identify and correctly place jobs at the right altitude as you work through the Jobs to be Done process. It will help keep you focused on the Main Job and allow you to quickly incorporate (or discard) new information that you hear during interviews into your job steps.

Job Stories

Job Stories synthesize data from your Job Canvas to encapsulate customer pain points without prescribing solutions. They help align development with company vision and strategy. Each domain typically has 3-5 Job Stories.

Key characteristics:

  • Evidence-based from Job Canvas data
  • Specific about the pain point
  • Builds empathy through context
  • Aspirational but achievable
  • Self-evident and well-researched

Pain points must:

  • Express needs, not solutions
  • Be concrete, not abstract
  • Be measurable, not anecdotal

Job Story Format

  1. When I [at this Job Step] + [under the conditions of these Job Differentiators]
  2. I want [this New Ability/customer imperative]
  3. So I can [reach these Outcomes] + [and have these Emotional/Social Aspects]

Ways to use Job Stories

  • Generate How Might We (HMW) statements
  • Define Design Sprint challenges
  • Create testable MVP hypotheses:
    • We believe that [job performers]
    • Will achieve [desired outcome]
    • While performing [job step]
    • Using [proposed solution].
    • Success will be evidenced by [specific measure]
  • Ensure issues are solving validated problems
  • Define usability testing criteria

How we do JTBD research at GitLab (A Playbook)
GitLab follows a series of steps and exercises to discover and develop job canvases from basic assumptions all the way to validated and ranked Outcomes and opportunities.
JTBD - Beyond the Playbook
JTBDs can be used to clarify and refine strategic opportunities in many of the research and design activities GitLab conducts.
JTBD/ODI at GitLab
JTBD/ODI is a practical framework for understanding users' desired outcomes.
Validated GitLab JTBD Canvases and Opportunity Scores
This page contains links to the JTBD canvases that have gone the GitLab JTBD Playbook process and the top outcome statements and opportunity scores from those canvases.