In a previous post we spoke about how we had implemented OKRs in Pusher, and what we had tried to achieve by doing so. For us, the main goals of OKRs for can be summarised as:

  • Alignment
  • Transparency
  • Purpose

Now we’ve had a quarter using this system, we’re in a better position to talk about some of the consequences.

Getting past process familiarity

Introducing a big process such as OKRs usually meets with a bit of skepticism. Getting past that initial hurdle was a big theme of our last roadmap week.

We don’t appear to be alone in this regard. When chatting recently with a friend who also runs a startup, he reminded me of these challenges. While they’d tried to rollout out OKRs, they lost momentum on it, and had never really achieved buy-in across the company.

Team objectives before individual objectives

In much of the literature about OKRs, setting goals for individuals is often at the forefront of the implementation described. However, we chose to avoid this step in the initial rollout. We move the emphasis onto the objectives that the team needs to work on as the primary point of discussion. As a method of learning about a new process, and discovering the pros and cons, this felt much easier than trying to do it as individuals.

That’s not to say that we won’t bring individual OKRs in future, but it’s much easier to work through a new process as a group than individually.

We certainly found that our first roadmap week was overly focused on getting people to agree on a format, and we definitely found that our second quarter ran at a higher-level. This seems to be key with any change, that you have to get beyond focusing on the process, and more on what the process allows you to achieve.

How we retrospected on our results

The goal of these objectives is to give people a chance to reflect on what commitments they made to each other, and whether or not they were successful. As we pointed out last time, this is not intended as an opportunity to punish people, but more to look at the factors that contributed towards their success or failure. The whole point is to learn more about how we operate, and to make course corrections to become more awesome.

We learned things like:

  • Don’t create objectives that rely on the input of other teams unless you’ve agreed with them that you share priorities
  • Don’t create objectives that will require people we haven’t hired yet!
  • Be realistic about how much time you will have to achieve your goals

In general we all achieve approximately 60% of our objectives, which suggests we are aiming for the right level of ambition.

Improvements we made this time

As with all processes, we constantly re-visit them to question their validity, and whether we could get more out of them. My preparation for the first roadmap week was primarily on how it would work, and how to communicate the process. Since people new the format better this time, it allowed more scope for refining and contributing.

Aligning with a single thematic goal

In our last roadmap week we chose 3 primary company objectives for the teams to align their goals with. This time we ditched that format in favour of a “Thematic goal” for the quarter.

We also went into more detail on how the company is doing from a high level perspective, and made suggestions for how each team might contribute to the thematic goal. Much of this was intended to counter a problem of silo-ization when teams set goals completely independently of each other.

Reducing the number of team objectives

We also reduced the number of objectives each team should come up with (their decision), to allow more comprehensive treatment of those we did choose to focus on. The goal of being ambitious still has to be maintained, but this is pushed down into the key results of the objectives.

Going forward

Hopefully this gives a better idea of how we continue to evolve our OKR process at Pusher, and that we continue to get value from it. We’ll go into a bit more detail about how we conduct our roadmap meetings in another post.

About Max Williams

Max is CEO of Pusher, and is passionate about the ways that technology can be used to make life better and more enjoyable for people. He loves using APIs and developer tools, and is obsessed with finding things that can be better done by a machine. His posts tend to be about life at Pusher, and the ways that we experiment with our culture and processes to create awesome things.