An OKR owned by a team
A team OKR is a single team's commitment for a cycle, stated as one ObjectiveObjectiveStrategyA strategic goal (OKR)View reference → (a qualitative direction) and a few Key ResultsKey ResultStrategyA measurable result tied to an objectiveView reference → (the measurable evidenceEvidenceValidationData supporting or refuting a hypothesisView reference → it was reached). It is the level where the goal-setting method does its hardest work, because a team OKR has to point both ways at once: down at what this team will actually do, and up at the company objective it claims to serve. Get that double-binding right and the org moves together; get it wrong and you have a tidy document that nobody acts on.
The method came from Andy Grove at Intel in the 1970s, who took Peter Drucker's Management by Objectives and added measurable Key Results, an approach he called iMBO and documented in High Output Management (1983) (What Matters). John Doerr learned it in Grove's Intel course in 1975, carried it to Google in 1999, and later wrote *Measure What Matters* (2018), which made OKRs standard vocabulary across the industry.
The defining debate at the team level is cascade versus align. The traditional cascade treats a higher Key Result as the next level's Objective, building a strict tree from the top down. The practical complaint is that the tree is brittle: any change at the top forces every team beneath it to rebuild, and teams end up connecting their work to a parent Key Result for the sake of the diagram (Tability). The alignment camp, argued among others by Jeff Gothelf, keeps a few company objectives fixed and lets teams set their own OKRs that respect the intent of those anchors rather than inherit their exact metricsMetricStrategyA unified metric that measures progress, health, or behaviour across the productView reference →. Most organisations blend the two: cascade two or three strategic anchors, align the rest horizontally.
The second long-running tension is output versus outcomeOutcomeStrategyA desired business or user outcomeView reference →. A Key Result like "ship the new onboarding flow" measures activity; "lift activation from 38% to 50%" measures a change in user behaviour. Grove's own framing favoured results over tasksTaskProduct SpecificationA unit of work within a story or epicView reference →, and modern practice treats outcome Key Results as the standard a team OKR should reach for.
The company holds one objective: become the default tool for solo product creators. A growth team sets a team OKR beneath it. Objective: new users reach value in their first session. Key Results: lift week-one activation from 38% to 50%, cut median time-to-first-graph from 14 minutes to 6, and raise the seven-day return rate from 22% to 30%. None of these is inherited verbatim from the company objective; the team chose metrics it can actually move, and aligned them to the intent. Two of the three are outcomes (behaviour changed), one is a leading proxy. At cycle review the team scores 0.6 on activation and 0.9 on time-to-value, and the conversation is about the gap, not about whether the document matched the parent.
In the Unified Product Graph, Team OKRTeam & OrganisationA team-level OKR is a leaf in the Operations & Quality region, team_okrteam_org domain. Three edges encode the double-binding that defines it: a team owns its commitment through TeamtargetsTeam OKRhierarchy, and the OKR aligns upward through team_targets_team_okrTeam OKRaligns withObjectivecross-domain and team_okr_aligns_with_objectiveTeam OKRaligns withKey Resultcross-domain. Modelling alignment as an explicit edge, rather than forcing a strict parent hierarchy, is the graph taking a side in the cascade-versus-align debate: a team OKR can connect to a company objective or to a higher Key Result while remaining the team's own, and you can query whether any team OKR is orphaned, aligned to nothing the company actually committed to.team_okr_aligns_with_key_result
Type-specific fields on BaseNode
periodstringTime period for the OKR (e.g. "Q2 2026")
progressnumberOverall progress toward the objective (0-100%)
objective_statementstringThe team-level objective statement (key results live in child entities)
cascade_fromstringHigher-level objective this OKR cascades from (company or department OKR)
idstringrequiredUnique identifier (UUID)
typeNodeTyperequiredDiscriminator for the entity type
titlestringrequiredDisplay name
descriptionstringOptional detailed description
statusstringLifecycle status
tagsstring[]Freeform tags for filtering
5 phases — initial: drafted
3 edge types connected to this entity.
team_targets_team_okrteam_okr_aligns_with_objectiveteam_okr_aligns_with_key_result1 framework use this entity type.