The Fixit OKR
Put a hard number on fixing known-broken issues and fund it alongside growth, so quality work never gets zero resources.
- Difficulty
- Easy
- Time to result
- ~months to results
- Steps
- 4
- Confidence
- 94%
An operational mechanism for protecting unglamorous quality work from being crowded out by metric-driving projects. Each team signs up for a numeric target of 'fixit' issues to resolve every six months (e.g., 300), sitting as a peer alongside growth, retention, and cost-savings OKRs. The specific number is arbitrary; having a number is the point, because it forces resource allocation and makes the quality culture real and rewarded.
Origin
Sachin Kansal's system at Uber for operationalizing the dog-fooding culture into committed, funded work with 'executional rigor.'
Core principles
- 01The number itself doesn't matter — the existence of a number is what forces commitment
- 02Fixit is a first-class OKR peer to growth, retention, and cost savings
- 03Stretch OKRs are meant to hit ~75-80%, not 100%
- 04Fixits don't get all the resources, but crucially they don't get zero
- 05Behavior that is measured, funded, and rewarded becomes culture
How to run it
- 1
Aggregate the known issues
Collect the dog-fooding documents and issues into your tracker (Jira or equivalent) — this is the 'boring part' where felt problems become a managed backlog.
- 2
Commit each team to a fixit number
Have every team sign up for a concrete count of issues to fix over the half (Uber uses 300 for the driver, rider, and Eats teams). Don't agonize over the exact figure.
Pro tip Pick a number that's a real stretch; the goal is to force prioritization, not to be precise.
Watch out Without a committed number, fixit work loses to whatever project has a metric attached.
- 3
Set it as a peer to growth OKRs
Place the fixit OKR alongside growth, retention, and cost-savings OKRs — each with projects behind it and the same executional rigor — so it competes for resources on equal footing.
- 4
Allocate real (not total, not zero) resources every planning cycle
At each half's planning, deliberately allocate resources across all OKRs so fixits get a meaningful share. Treat OKRs as stretch targets and celebrate hitting ~75-80%.
Pro tip Uber has hit its fixit targets every half for 2-3 years by making the allocation explicit rather than leaving quality work to spare time.
Watch out Left implicit, fixit work would get zero resources because pure metric-chasing always looks more urgent.
In the wild
Each Uber product team (driver, rider, Eats) sets a six-month OKR to fix 300 dog-fooded issues, sitting beside growth, retention, and cost-savings OKRs, each with projects and executional rigor behind them.
→ Uber has hit these fixit targets every single half for two to three years, embedding a 'we don't just accept problems, we fix them' culture.
Common mistakes
Leaving quality work to spare capacity
Without a committed number and allocated resources, fixit work gets zero resources because projects that clearly drive a metric always appear more urgent — the number is what guarantees it isn't starved.
Obsessing over the exact target figure
Kansal explicitly doesn't care whether it's 200, 300, or 500; treating the specific number as the important thing misses that the mechanism's value is simply having a number to force commitment.
Is it for you?
Best for
Product leaders who see valuable but hard-to-quantify quality/bug work consistently deprioritized against growth projects
Not ideal for
Early-stage teams still searching for product-market fit, where fixing existing-product friction isn't yet the constraint
From the transcript
“So we have set an OKR that we're going to fix 300 of these issues.”
“I don't really care whether it's 300 or 200 or 500. The number actually doesn't matter. But the fact that there's a number is what…”
“fixits for example don't get all the resources but they also don't get zero resources”
“I think we celebrate if we hit about 75 to 80% because you do want to set stretch targets”
From the episode
Why Uber’s CPO delivers food on weekends
Sachin Kansal