JTBD/ODI at GitLab

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

⚠️ This framework is undergoing evaluation in a pilot program ⚠️

We use Jobs-to-be-Done (JTBD) and Outcome-Driven Innovation (ODI) to achieve a deeper understanding of our customers and the underlying job they’re trying to accomplish. Though JTBD can be applied in various ways, we use our own interpretation that fits our design process. We leverage the framework for “categorizing, defining, capturing, and organizing customers’ needs, and tying customer-defined performance metrics (in the form of desired outcome statements) to the JTBD” (Ulwick).

At it’s core, we focus on asking: What outcome are you trying to influence?

Framework Overview

Here are the key steps to apply the framework:

  1. [Define Job Performers and their Jobs]: Understand who your [Job Performers] are and the [Jobs] they are responsible for in your [Domain].
  2. [Investigation Interviews, Job Mapping and Outcome Survey Preparation:] Draft [Outcomes statements] to baseline the experience, evaluate solutions, and prioritize future efforts.
  3. [Construct Outcome Statements] and [Survey] Conduct a quantitative analysis to understand how well the current experience meets customers needs. Baseline the [Outcomes] for their effectiveness.
  4. Evaluate Solutions: Continually refer to the baselines outcomes when creating and validating solutions to ensure significant impact on meeting customer needs.

For a step-by-step process, follow the [JTBD playbook]

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
⚠️ This framework is undergoing evaluation in a pilot program ⚠️ 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.
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.
The GitLab JTBD Playbook
The JTBD playbook is a comprehensive, step-by-step guide to help teams effectively apply the JTBD framework. It guides you from initial assumptions to prioritized user desired outcomes, providing a solid foundation and collaborative research tools.
Last modified August 14, 2024: Revert JTBD changes for pilot (0c02e459)