Jobs to be Done at GitLab

JTBD is a practical framework for understanding customers’ desired outcomes.

Customers purchase products and services to get a Job done. This principle is at the core of Jobs-to-be-Done (JTBD) Theory. JTBD is a practical framework for understanding customers’ desired outcomes. It shifts the focus from the solution to the problem the user is attempting to solve and the outcome they aim to achieve. This clarity enables you to ask the right question: What outcome are you trying to influence?

The Jobs-to-be-done (JTBD) Theory provides a framework for categorizing, defining, capturing, and organizing all your customers’ needs and tying customer-defined performance metrics (in the form of desired outcome statements) to the job-to-be-done. - Anthony Ulwick, Jobs-to-be-done, Theory to Practice, 2023.

🔗 Reference guide: JTBD topics and definitions

Framework Overview

  1. Define the Job: The first step of the JTBD framework is to understand who your Job Performers are and the Jobs they are responsible for in your Domain. This step lays the groundwork for the rest of the framework upon which all activities rely.
  2. Uncover Needs: After defining the Jobs in your Domain, the next step is to draft Outcomes statements. These will be used to benchmark the experience, evaluate solutions, and prioritize future efforts.
  3. Quantify Outcomes: The next step in the process is to understand how well your customers’ needs are met with the current experience. This is akin to benchmarking and will result in a quantitative analysis of all your Outcomes and the degree to which they are being met.
  4. Evaluate Solutions: Once you establish a benchmark for your Outcomes, you will continually refer to them as you create and validate solutions, checking to see if you have made a significant impact.

Core Concepts

Job Performers vs. Personas

Understanding the roles and contributions of Job Performers (someone executing a Job) and Personas is crucial and highly valuable in the JTBD framework. Each Persona, like a Software Developer, may undertake various Jobs as part of their role (writing code, reviewing code, maintaining infrastructure, and so on). Similarly, other job titles or Personas may also undertake the Main Job in JTBD; for example, an engineering manager may review code or plan projects. Both Personas and Job Performers are valuable constructs that help understand and improve your product, but it is essential to keep them separate.

Job Types

Understanding the different Job types and how they relate to each other is crucial for mapping out the entire customer experience and identifying opportunities to create value. There are several key Job types to consider in the JTBD framework:

  • Main Jobs: The overarching goal or objective that the Job Performer is trying to achieve is the Main Job. This is the highest-level job for a given Domain. Main Jobs are mapped using a Job Map and are always solution-agnostic.
  • Consumption Jobs: The specific tasks a Job Performer undertakes when interacting with a product or service are the Consumption Jobs. These include every step from identifying a need, finding and selecting a solution, purchasing, configuring, using, maintaining, and eventually discontinuing its use. Consumption Jobs do not have a Job Map and are often solution-dependent.
  • Related Jobs: Other jobs that the Job Performer may be trying to get done, either before, during, or after the Main Jobs (this may include Consumption Jobs). Understanding the Related Jobs is vital to providing the best platform experience for the customer.

Job Maps

The Job Map is a visual representation of the sequence of Stages a Job Performer goes through to complete the Main Job. It reveals the underlying patterns of intent and the subgoals that comprise the overall Job.

Job Map

Common Stages of a Job Map include, but are not limited to:

  • Define: Determine objectives and plan how to get the job done
  • Locate: Gather materials and information needed to do the job
  • Prepare: Organize materials and create the right setup
  • Confirm: Ensure that everything is ready to perform the job
  • Execute: Perform the job as planned
  • Monitor: Evaluate success as the job is executed
  • Modify: Modify and iterate as necessary
  • Conclude: End the job and follow-up

These Stages are arranged in a logical flow, with related Job Steps clustered together with their relevant Job Stage. When complete and validated with users, the Job Map will serve as a foundation for creating Outcomes and uncovering Underserved Needs.

Outcomes

Outcomes are the specific, measurable, and actionable results that customers want to achieve when getting a Job done. They represent the desired end-state or performance metrics that customers use to evaluate the success of a solution.

Outcomes are the most crucial part of the JTBD framework, as they help you understand what customers truly value and how to design solutions that better meet their needs. By focusing on Outcomes rather than features or functionality, you can uncover unmet or Underserved Needs and identify opportunities to create differentiated value. By understanding the Outcomes that customers care about, you can design more effective solutions, make better prioritization decisions, and measure the true impact of your work.

Job Map

Continuous Evaluation

Using Outcomes to prioritize, design, and measure, allows for predictable, repeatable, and consistent evaluation methods, creating feedback loops that relate directly to the outcomes you are trying to influence.

  • Benchmarking: Evaluate the Main Job and Consumption Job Outcomes to establish a benchmark and assist with prioritization by identifying underserved needs.
  • Solution Evaluation Evaluate how your solution improves the targeted Outcome(s), using the established benchmark as reference.

Jobs GitLab helps get done

Main jobs

placeholder for jtbd-yml file

Reference Material


Evaluation Methods
If Jobs-to-be-Done is the theory, then Outcome-Driven Innovation is the practice. Continous Evaluation Continuous evaluation involves establishing predictable, repeatable, low-effort, and high-efficacy methods complemented by consistent feedback loops. This process includes generating regular benchmark scores and assessing solutions against these benchmarks. Implementing continuous evaluation ensures ongoing improvement and alignment with customer needs, leading to higher customer satisfaction and better product performance. Evaluation Methods Benchmarking the Domain Benchmarking helps identify improvement areas, evaluate whether we’re innovating effectively, reach customer expectations, measure progress, set performance standards, and understand the competitive landscape.
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 Topics & Definitions
Domain In the context of Jobs To Be Done, a “Domain” refers to a distinct area of expertise or focus where specific Job Performers carry out their Main and Consumption Jobs. Each domain encompasses a set of related activities and responsibilities that are critical to the overall workflow and objectives of the customer. Domains rarely have a 1:1 relationship with an Organization’s Product Team structure. To account for this, teams will have to collaborate when working within the same Domain.
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.
Last modified July 9, 2024: Fix links and spelling (e30f31b6)