Foundation
What are OKRs?
OKRs (Objectives and Key Results) are a goal-setting framework invented at Intel by Andy Grove and popularised by John Doerr at Google. They connect ambitious qualitative goals (Objectives) to measurable outcomes (Key Results) at every level of an organisation.
For agile teams, OKRs provide the "why" that Sprint Goals and backlog items deliver against. Without OKRs, teams can execute perfectly and still work on the wrong things.
OKRs are not performance reviews. They are a thinking and alignment tool. Attaching compensation to OKR scores destroys the honesty and ambition that makes them useful.
Foundation
Anatomy of an OKR
Objective — What do we want to achieve? → Qualitative, inspirational, memorable → Written in plain language; no jargon → Achievable within one quarter (team OKRs) → Answers: "What matters most this quarter?" Key Result — How will we know we achieved it? → Quantitative and measurable (number, %, date) → Outcome-focused, not activity-focused → 3–5 per Objective → Answers: "How much? By when? Measured how?" Initiative — What will we do to move the KRs? → Projects, features, experiments — the backlog items → NOT part of the OKR itself; they sit below it → Multiple initiatives can contribute to one KR
Key Results measure outcomes, not outputs. "Ship feature X" is an output. "Increase checkout completion rate from 62% to 75%" is an outcome.
Foundation
Committed vs Aspirational OKRs
| Type | Committed | Aspirational (Moonshot) |
|---|---|---|
| Definition | Must achieve; 1.0 is expected | Reach for; 0.7 is great |
| Score target | 1.0 — under-delivery is a problem | 0.6–0.7 — 1.0 means it wasn't ambitious enough |
| Example | "99.9% uptime SLA for payment service" | "Reduce customer onboarding from 7 days to 1 day" |
| Risk of failure | High — failure has real consequences | Acceptable — stretch goals are meant to be hard |
| Scrum link | Sprint Goals that are hard commitments | Quarterly OKRs that push beyond comfort |
Google rule of thumb: 30% Committed OKRs (must deliver), 70% Aspirational (reach goals). Never mix them in a single OKR — label each clearly.
Writing
Writing Objectives
Good Objectives are: → Inspiring and clear without being fluffy → Achievable in one quarter by the team → Written from the customer or business perspective → Memorable enough to recall without looking at a doc Formula: "We will [verb] [outcome] [so that / for whom]" Good examples: ✓ "Make our onboarding experience delightful for new users" ✓ "Become the most reliable payment processor in our market" ✓ "Eliminate the top 3 reasons customers churn in month 1" Bad examples: ✗ "Improve the platform" — too vague ✗ "Implement SSO and OAuth" — output, not outcome ✗ "Continue to support existing customers" — not aspirational
Writing
Writing Key Results
Good Key Results are: → Quantitative: a number, %, ratio, or date → Outcome-focused: measure the effect, not the activity → Independently verifiable: no subjectivity in scoring → Meaningful if achieved: moving the number matters to the business Formula: "[Verb] [metric] from [baseline] to [target]" Good examples: ✓ "Increase day-30 retention from 42% to 60%" ✓ "Reduce mean time to first value from 14 days to 3 days" ✓ "Achieve NPS >50 for the onboarding flow (currently 28)" ✓ "Zero P1 incidents caused by our service for 8 consecutive weeks" Bad examples: ✗ "Launch the new dashboard" — output, not outcome ✗ "Improve performance" — no baseline, no target ✗ "Run 3 user interviews" — activity, not result ✗ "100% of planned features shipped" — velocity theatre
Writing
Full OKR Examples
Product team — customer growth
O: Make activation effortless so new users reach value in minutes, not days KR1: Reduce time-to-first-key-action from 8 minutes to 3 minutes KR2: Increase day-7 retention from 38% to 55% KR3: Achieve CSAT ≥4.2/5 on the onboarding survey (currently 3.6) KR4: 80% of new users complete setup without contacting support
Engineering team — reliability
O: Build a platform our customers trust completely KR1: Achieve 99.95% monthly uptime for all customer-facing services KR2: Reduce MTTR from 47 minutes to under 15 minutes KR3: Zero P1 incidents for 10 consecutive weeks KR4: Deploy frequency reaches daily (currently weekly)
Platform team — developer experience
O: Make shipping software the easiest part of every engineer's day KR1: Reduce CI pipeline time from 22 min to under 8 min KR2: Developer eNPS for internal tooling rises from 12 to 40 KR3: 90% of teams can deploy independently without platform team support KR4: Zero security vulnerabilities in production older than 5 business days
Alignment
Company → Team Alignment
OKR cascade (top-down alignment):
Company OKR → "Become the market leader in SMB payroll"
Division O → "Make payroll setup the fastest in the market"
Team O → "Eliminate friction from the first payroll run"
Sprint Goal → "Enable direct bank connection without manual CSV"
OKR contribution (bottom-up):
Teams contribute to division OKRs; division to company OKRs.
Not every team OKR must trace to a company OKR — some are internal
(reliability, tech debt) and are still valid team-level OKRs.
Avoid pure top-down cascade. The most effective OKR programmes allow 40–60% of team OKRs to be team-generated, not handed down. Teams know their constraints best.
Alignment
Sprint Goal → OKR Link
Each Sprint Goal should reference the OKR it serves: Sprint Goal format with OKR link: "Enable bank connection via Plaid so new users skip the CSV step entirely — contributing to KR1 (reduce setup time from 8 min to 3 min) of Q2 Objective: Make activation effortless." Rules: → A Sprint Goal can serve 1–2 KRs; more = unfocused sprint → Not every sprint must directly move a KR (tech debt sprints are valid) → At Sprint Review: "Did this sprint move our KR? By how much?" → PO tracks KR progress monthly; shares at Sprint Review OKR check-in cadence (within Scrum): → Weekly: PO updates KR scores (0.0–1.0) → Sprint Review: team sees current KR progress → Mid-quarter: formal check-in; adjust initiatives if off-track → End of quarter: final scoring + learnings
Reference
Scoring OKRs
Standard 0.0–1.0 scale: 0.0 → No progress made 0.3 → Made a start; far from target 0.7 → Significant progress; close to target (aspirational sweet spot) 1.0 → Fully achieved Grading aspirational OKRs: 0.7 = "We did great" (stretch goal reached) 1.0 = "Too easy — set a harder goal next quarter" <0.4 = "We have a problem to understand" Grading committed OKRs: 1.0 = Expected <0.7 = Problem requiring explanation and retrospective Mid-quarter adjustment: → KR clearly unachievable (<0.2 mid-quarter) → mark failed, pivot → KR easily achievable (0.9 mid-quarter) → set a stretch extension → Context changed significantly → formally revise with stakeholder notice
Reference
Anti-Patterns
| Anti-Pattern | Problem | Fix |
|---|---|---|
| KRs as task lists | "Launch feature X, run 3 workshops, write 5 docs" — outputs, not outcomes | KRs measure the change in the world, not the activity |
| Too many OKRs | Team can't focus; every sprint is scattered | 1 Objective, 3–5 KRs maximum per team per quarter |
| OKRs as performance review | Teams set easy targets to score 1.0 every quarter | Never link OKR scores to compensation or performance ratings |
| 100% top-down cascade | Teams feel no ownership; OKRs feel imposed | 40–60% of team OKRs should be team-generated |
| No mid-quarter check-in | Quarter ends; team realises they've been off-track for weeks | Weekly KR score updates; formal mid-quarter review |
| Sprint Goals disconnected from OKRs | Teams sprint furiously but don't move any KRs | Every Sprint Goal should explicitly reference the KR it serves |
| Vanity KRs | "10,000 sign-ups" when conversion is 0% — growth without value | Paired KRs: leading metric (sign-ups) + quality metric (activation rate) |
Reference
OKR Cheat Sheet
Structure O → Inspirational qualitative goal (what we want to achieve) KR → Quantitative outcome metric (how we'll know we got there) Initiative → Backlog items that drive the KR (not part of the OKR) Writing rules Objective: "We will [verb] [outcome] [for whom]" Key Result: "[Verb] [metric] from [baseline] to [target]" 3–5 KRs per Objective; 1 Objective per team per quarter Scoring 0.0 = no progress · 0.3 = started · 0.7 = great (aspirational) 0.7 = aspirational target · 1.0 = committed target Cadence Weekly → PO updates KR scores Sprint → Sprint Goal references OKR; Review checks KR progress Monthly → formal OKR check-in; adjust initiatives Quarterly → score + learnings; set next quarter's OKRs Anti-pattern test → Can you score the KR without judgement? (If subjective → rewrite) → Does the KR measure the outcome, not the activity? → Would achieving this KR at 0.7 feel meaningful to the business?