nw-jtbd-opportunity-scoring

JTBD opportunity scoring and prioritization - outcome statement format, opportunity algorithm, scoring interpretation, feature prioritization, and opportunity matrix template

319 stars

Best use case

nw-jtbd-opportunity-scoring is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

JTBD opportunity scoring and prioritization - outcome statement format, opportunity algorithm, scoring interpretation, feature prioritization, and opportunity matrix template

Teams using nw-jtbd-opportunity-scoring should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/nw-jtbd-opportunity-scoring/SKILL.md --create-dirs "https://raw.githubusercontent.com/nWave-ai/nWave/main/nWave/skills/nw-jtbd-opportunity-scoring/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/nw-jtbd-opportunity-scoring/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How nw-jtbd-opportunity-scoring Compares

Feature / Agentnw-jtbd-opportunity-scoringStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

JTBD opportunity scoring and prioritization - outcome statement format, opportunity algorithm, scoring interpretation, feature prioritization, and opportunity matrix template

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# JTBD Opportunity Scoring

Use when prioritizing features, stories, or backlog items based on customer-defined outcomes. Opportunity scoring (Ulwick's ODI) replaces gut-feel prioritization with evidence-based ranking.

## Outcome Statements

Every customer need expressed as a desired outcome following strict format:

```
[Direction] + the [metric] + [object of control] + [contextual clarifier]
```

- **Direction**: "Minimize" or "Maximize"
- **Metric**: time, likelihood, number, or frequency

### Examples

- "Minimize the time it takes to identify the root cause of a production issue"
- "Minimize the likelihood of deploying untested code to production"
- "Maximize the likelihood that acceptance criteria cover all relevant scenarios"
- "Minimize the number of iterations needed to reach shared understanding"
- "Minimize the frequency of false positive alerts during monitoring"

### Quality Checks

Outcome statement must be: **Solution-free** (no specific technology) | **Measurable** (ratable on importance/satisfaction 1-5) | **Controllable** (customer can assess improvement) | **Unambiguous** (same interpretation by all stakeholders)

### Deriving Outcome Statements

Walk the 8-step job map (see `jtbd-core` skill) and generate 2-3 per step. Produces 16-24 outcome statements per job -- comprehensive view of customer needs.

| Job Map Step | Outcome Statement Pattern |
|-------------|--------------------------|
| Define | "Minimize the time to determine [what is needed]" |
| Locate | "Minimize the likelihood of missing [required input]" |
| Prepare | "Minimize the time to set up [environment/context]" |
| Confirm | "Minimize the likelihood of proceeding with [invalid state]" |
| Execute | "Minimize the time to complete [core action]" |
| Monitor | "Minimize the likelihood of [undetected failure]" |
| Modify | "Minimize the time to recover from [exception]" |
| Conclude | "Minimize the likelihood of [incomplete cleanup]" |

## The Opportunity Algorithm

```
Opportunity Score = Importance + max(0, Importance - Satisfaction)
```

Where:
- **Importance** = % of respondents rating outcome 4 or 5 on 1-5 scale
- **Satisfaction** = % of respondents rating current satisfaction 4 or 5 on 1-5 scale
- **Score range**: 0-20 (higher = greater opportunity)

### How It Works

Rewards outcomes both important and unsatisfied. If satisfaction >= importance, second term is zero (appropriately served). If satisfaction < importance, gap amplifies score (underserved).

### Score Interpretation

| Score Range | Category | Action |
|-------------|----------|--------|
| 15-20 | Extremely underserved | High-priority; invest heavily |
| 12-15 | Underserved | Strong opportunity; plan for next iteration |
| 10-12 | Appropriately served | Maintain; incremental improvement |
| < 10 | Overserved | Simplification candidate; may be over-engineered |

## Applying to Feature Prioritization

### Step 1: Generate Outcome Statements
From job mapping and interview findings, compile 15-30 per major job.

### Step 2: Rate Importance and Satisfaction
Gather ratings from users/stakeholders. For small teams:
- Interview 5-10 users directly
- Use internal team ratings as proxy (mark as "team estimate" vs "user data")
- Leverage support tickets, feature requests, bug reports as signals

### Step 3: Calculate and Rank
Compute scores, sort descending. Top scores = highest-priority features.

### Step 4: Map to Stories
Each high-scoring outcome maps to one or more stories. Score 15+ should produce at least one story in current iteration.

### Step 5: Identify Overserved Areas
Scores below 10 are simplification candidates. Resources on overserved outcomes are better redirected to underserved ones.

## Opportunity Scoring Matrix Template

```markdown
## Opportunity Scoring: [Product/Feature Area]

| # | Outcome Statement | Imp. (%) | Sat. (%) | Score | Priority |
|---|-------------------|----------|----------|-------|----------|
| 1 | Minimize the time to [outcome A] | | | | |
| 2 | Minimize the likelihood of [outcome B] | | | | |
| 3 | Maximize the [quality] when [context C] | | | | |

### Scoring Method
- Importance: % of respondents rating 4+ on 5-point scale
- Satisfaction: % of respondents rating 4+ on 5-point scale
- Score: Importance + max(0, Importance - Satisfaction)
- Priority: Extremely Underserved (15+), Underserved (12-15),
  Appropriately Served (10-12), Overserved (<10)

### Top Opportunities (Score >= 12)
1. [Outcome] -- Score: [X] -- Story: [link or title]
2. [Outcome] -- Score: [X] -- Story: [link or title]

### Overserved Areas (Score < 10)
1. [Outcome] -- Score: [X] -- Simplification opportunity: [description]

### Data Quality Notes
- Source: [user interviews / team estimates / support ticket analysis]
- Sample size: [N respondents]
- Confidence: [High if N >= 10 with user data, Medium if team estimates]
```

## Worked Example

Context: CLI tool for deploying applications. 8 users surveyed.

| # | Outcome Statement | Imp. | Sat. | Score | Priority |
|---|-------------------|------|------|-------|----------|
| 1 | Minimize time to identify root cause of failed deployment | 92% | 35% | 14.9 | Extremely Underserved |
| 2 | Minimize likelihood of deploying untested code | 88% | 72% | 10.4 | Appropriately Served |
| 3 | Minimize time to roll back a bad deployment | 85% | 30% | 14.0 | Underserved |
| 4 | Minimize time to onboard a new team member to deploy | 65% | 40% | 9.0 | Overserved |
| 5 | Minimize likelihood of misconfiguring environment variables | 80% | 45% | 11.5 | Appropriately Served |

**Prioritization result**:
1. Root cause identification (14.9) -- build better deployment diagnostics
2. Rollback speed (14.0) -- invest in one-command rollback
3. Environment misconfiguration (11.5) -- incremental improvements to validation
4. Untested code prevention (10.4) -- maintain current pre-deploy checks
5. Onboarding time (9.0) -- consider simplifying; current docs may be over-engineered

## Small-Team Adaptations

Ulwick's methodology assumes large-scale surveys (100+ respondents). For small agile teams:

- **5-10 interviews sufficient** for directional signals. Treat scores as relative rankings, not absolute.
- **Support tickets as proxy data**: High-frequency complaints = high importance + low satisfaction.
- **Team consensus estimation**: When user access limited, rate collectively. Document as "team estimate."
- **Iterate**: Re-score after each release as satisfaction shifts.

## Integration with Other Prioritization Methods

| Method | Best For | Combine With Opportunity Scoring |
|--------|----------|--------------------------------|
| MoSCoW | Sprint-level scope decisions | Use opportunity scores to inform Must/Should/Could |
| Value/Effort matrix | Quick relative ranking | Use opportunity scores as "value" axis |
| RICE | Feature-level prioritization | Use opportunity score as "Impact" component |
| Story mapping | Release planning | Use opportunity scores to prioritize rows (MVP vs later) |

## Cross-References

- For core JTBD theory and job map steps: load `jtbd-core` skill
- For interview techniques to gather importance/satisfaction data: load `jtbd-interviews` skill
- For translating high-priority outcomes to BDD scenarios: load `jtbd-bdd-integration` skill
- For story-level prioritization (MoSCoW, Value/Effort): load `leanux-methodology` skill

Related Skills

nw-opportunity-mapping

322
from nWave-ai/nWave

Opportunity Solution Trees, opportunity scoring, Lean Canvas, JTBD job mapping, and technique selection guide

nw-jtbd-bdd-integration

322
from nWave-ai/nWave

Translating JTBD analysis to BDD scenarios - job story to Given-When-Then patterns, forces-based test discovery, job-map-based test discovery, and property-shaped criteria

nw-jtbd-analysis

322
from nWave-ai/nWave

JTBD methodology for extracting real jobs behind feature requests — job statements, abstraction layers, first-principles extraction, ODI outcome statements, and opportunity scoring

nw-persona-jtbd-analysis

319
from nWave-ai/nWave

Structured persona creation and JTBD analysis methodology - persona templates, ODI job step tables, pain point mapping, success metric quantification, and multi-persona segmentation

nw-jtbd-workflow-selection

319
from nWave-ai/nWave

JTBD workflow classification and routing - ODI two-phase framework, five job types with workflow sequences, baseline type selection, workflow anti-patterns, and common recipes

nw-jtbd-interviews

319
from nWave-ai/nWave

JTBD discovery techniques adapted for AI product owner context. Four Forces extraction, job dimension probing, question banks, and anti-patterns for interactive feature discovery conversations.

nw-jtbd-core

319
from nWave-ai/nWave

Core JTBD theory and job story format - job dimensions, job story template, job stories vs user stories, 8-step universal job map, outcome statements, and forces of progress

nw-ux-web-patterns

322
from nWave-ai/nWave

Web UI design patterns for product owners. Load when designing web application interfaces, writing web-specific acceptance criteria, or evaluating responsive designs.

nw-ux-tui-patterns

322
from nWave-ai/nWave

Terminal UI and CLI design patterns for product owners. Load when designing command-line tools, interactive terminal applications, or writing CLI-specific acceptance criteria.

nw-ux-principles

322
from nWave-ai/nWave

Core UX principles for product owners. Load when evaluating interface designs, writing acceptance criteria with UX requirements, or reviewing wireframes and mockups.

nw-ux-emotional-design

322
from nWave-ai/nWave

Emotional design and delight patterns for product owners. Load when designing onboarding flows, empty states, first-run experiences, or evaluating the emotional quality of an interface.

nw-ux-desktop-patterns

322
from nWave-ai/nWave

Desktop application UI patterns for product owners. Load when designing native or cross-platform desktop applications, writing desktop-specific acceptance criteria, or evaluating panel layouts and keyboard workflows.