We've been rolling out OKRs across engineering and ops using Atlassian Goals, and we keep hitting the same structural wall.
The setup we're trying to model:
- Company Key Result (e.g., 'Reduce p95 latency to <200ms')
- Team Objective that maps directly to that KR
- Team Key Results owned by individual squads
This is pretty standard cascade logic. A company's KR becomes the team's Objective. But in Atlassian Goals, the hierarchy doesn't seem to support this cleanly. You can nest goals, but the parent-child relationship treats everything as the same node type. There's no way to say 'this KR is also an Objective one level down' without duplicating the goal or losing the rollup integrity.
What we've tried so far:
None of these feels right at scale. When you have 6+ teams, each with their own objectives rolling into 4-5 company KRs, the manual overhead compounds fast.
Curious whether others have found a workable pattern here:
Would especially love to hear from folks running OKRs across more than 3 teams. What does your hierarchy actually look like in practice?
You wrote: "There's no way to say 'this KR is also an Objective one level down'".
This is the main issue in how you are modeling OKRs. An KR should never be an Objective of a next layer in a cascade. It's intentionally agains what an objective should be. It's sounds like you would like to plan a classic WBS, not an OKR Cascade.
An objective ist sth like "find a new way to sail to India"
KR 1: get a crew
KR 2: get a ship
KR 3: sail west as long as possible
KR <> Objective. ever.
If you want to model an OKR cascade like OKRs are intentionally made for, Atlassian Golas work pretty fine.