Jobs to be Done at GitLab
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
- 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.
- 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.
- 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.
- 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.
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.
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
- Jobs to be Done Playbook by Jim Kalbach
- Jobs to be Done by Anthony Ulwick
- Competing Against Luck by Clay Christenson
- Intercom on Jobs to be Done by Intercom
How we do JTBD research at GitLab (A Playbook)
JTBD - Beyond the Playbook
JTBD Topics & Definitions
Validated GitLab JTBD Canvases and Opportunity Scores
e30f31b6
)