OKRs, short for Objectives and Key Results is a widely used framework by teams to communicate what is the big picture in a quantifiable way and track how is everyone contributing towards it. Google has been using OKRs since their startup days in 1999, this post by Rick Klau at Google Ventures sums up "How Google sets goals" pretty well. Here's another post by a former Zynga employee on how OKRs helped Zynga top the mobile apps chart in a very short timeframe.
"It's not a key result unless it has a number." - Marissa Mayer, Yahoo!
At Appbase, we started using the OKR framework since August, 2014. Our first iteration used Google spreadsheets for organizing OKRs and looked something like this:
This helped us achieve an operations blueprint for the next quarter and we could measure ourselves against it. However, we quickly found ourselves in a hell of personal to-do lists, Trello tasks and OKRs.
When it got too cumbersome to create synergy between our daily / weekly tasks and the monthly / quarterly OKRs, we found ourselves asking this:
Can we use Trello for our to-do lists, weekly tasks and for OKRs as well?
We are huge fans of Trello and use it for organizing everything from our product development to tracking marketing and sales leads. Trello's flexibility has been the key for allowing these diverse use-cases.
In this post, I would like to cover our current configuration that balances high level timeframe based objectives with very granular daily tasks, and yet can act as a personal to-do list.
How Trello Works
A Trello board comes with two constructs: a card and a list. A card comes with some fancy accessories like checklists, comments and labels create additional details on a task.
The typical Trello use-case is using a card for tasks and lists as swimlanes for tracking progress. Brackets — on online editor uses Trello in this fashion for managing their development roadmap. Perhaps, you should checkout this amazing post from lifehacker on using Trello to organize your life.
How do we organize Trello by Objectives?
For integrating the OKR workflow, we need an additional construct for organizing tasks by month and weekly timeframes; for each individual.
Here’s how we arrange our Trello board:
1) Stateful cards with labels —
Instead of using lists as swimlanes for tracking progress - like “To-do”, “Doing” and “Done”, we use labels for tracking progress of each task (card). The advantage is that now we can use any number of labels, and come up with some creative names!
We will think of each card as a Key Result for a stated objective, which can be assigned to relevant team members. (Card/Task = Key Result)
2) Lists for tracking timeframes —
We can now organize our lists by week based timeframes as “Week 1”, … “Week 5”. Trello itself uses this style for announcing new monthly features in it’s development board.
This gives us flexibility in terms of moving Key Results (cards) between weeks, we can measure the weekly task velocity.
3) The Objectives List -
Finally, we keep a meta list for tracking the Objectives. Each team member creates a card for themselves in this list.
The card links the Objectives (Trello checklists) with the Key Results (Trello cards in the “Week #” lists). Linking OKRs in this fashion makes it very easy to get a bird eye’s view on how everyone on the team is performing on the goals.
This is how the entire board looks like:
If you haven’t yet used filters in Trello, you are missing out a lot. Filters work on labels, team members, due dates. They are nifty tools to sort through the noise and only see the cards relevant to you. Here’s a good post on using filters by Trello.
Tl;dr and DIY Trello Template
We integrate OKRs with Trello by doing three things:
Tracking progress of Key Results (card == KR) using labels.
Arrange KRs by weekly lists.
A meta list for Objectives where members can create a card and link their OKRs via checklists.
Here’s a basic template that implements the OKR flow on a Trello board. Feel free to share and experiment with it — https://trello.com/b/Bpgf0UV1/okrs-board.