Reaching the end of a development sprint and seeing that your team completed all of the goals you set out to achieve is a pretty amazing feeling, right?

What if you could have that feeling more often? Feel more productive at work? Make real progress with your projects?

You can. And there's an easy way to make it happen. It's called the OKR strategy.

Here’s what OKRs are and how you can implement them in order to both improve your software team’s results and make everyone feel better about their work...

What does OKR stand for?

OKR stands for Objectives and Key Results. It is a management strategy used most often by software companies.

The OKR strategy was first developed by Andy Grove, Intel founder. He based it on a previous model called Management by Objectives (MBO).

The strategy was then picked up by John Doerr (an early investor and adviser to Google) when he joined Intel as an engineer, and he has since gone on to teach and advocate for OKRs for software teams and companies.

John Doerr’s TED Talk 2018‌‌

Each OKR that your team establishes has one objective, which is the primary goal that needs to be achieved. Under each objective is up to 5 key results.

The key results are the milestones that show whether you’re making progress toward that objective.

There are 3 things that drive the successful adoption of OKRs:

  1. Focus
  2. Collaboration
  3. Progress tracking

That’s what we’ll talk about in the rest of this article, but first let’s take a look at why you should care about OKRs at all...

What happens when teams follow through with OKRs

When OKRs are implemented across a department, or even across an entire company, amazing things start happening. You’ll see progress like never before.

And that’s because OKRs put everyone on the same page. Instead of different teams working on different tasks and goals in a haphazard way, everyone works on tasks that work towards a primary goal (aka, objective).

Why does that matter?

Well, at its most basic, it matters because that’s how companies make real progress and actually succeed in their fields.

But an added benefit of this progress is that team members feel like what they’re doing at their job actually matters and makes a difference. They can see the point of what they’re doing. And because there are measurable results and objectives, they can see the progress they make.

It turns out that being able to measure progress is one of the biggest human motivators --  even more than money or praise.

Don’t believe it? Research actually shows that intrinsic motivation (feeling pride and engagement in your work) is more gratifying than extrinsic motivation (like money).

That being said, we all know that money is important, even if it’s not the MOST important thing. And OKRs are a sound way to get your company to pay your software engineers more.

Basically, it works like this:

If your team meets the goals set by management, the company increases its revenue. If the company has higher revenue, it can afford to pay the development team higher salaries. Yes, what you do matters to the company. A lot.

Now let’s get to those things that drive successful OKR implementation.

Build focus by committing to priorities

The first step of a successfully implemented OKR strategy is to establish focus. No company can do everything. And that means you and your team are going to have to pick the priorities that matter most to your results.

Now, before you panic and think, “But we have 50 different goals we need to meet!” you should understand that OKRs are intended to be functional goals. You don’t set an OKR and think, “Okay, we have to stick with this for the next 5 years.”

No way.

When you set objectives and key results for software teams, you should ask yourself what the priorities are for about the next 1 to 3 months. What things need to get done first in your timeline? And then set metrics for success that align with your next few sprints, if that’s the model you follow.

The main idea is to pick some goals and metrics for software teams and start taking decisive action towards meeting them.

If you made the wrong decisions, you’ll find out soon enough and can make changes -- most likely to the key results. Key results should be “succinct, specific, and measurable,” according to John Doerr in his book Measure What Matters.

By definition of the process, if you complete every key result, then you should obtain the objective.

Strengthen team collaboration with aligned objectives

Regata de las 3 Millas, celebrada en las Playas de El Palo de Málaga el 09-09-2017.  Se levantó un  fuerte temporal de levante y algunas pruebas se suspendieron. Esta tripulación y su patrón supieron “capear el temporal” de manera envidiable.
Photo by Quino Al / Unsplash

In addition to focused objectives, you have to get your team aligned with those objectives. Again, everyone has to be on the same page.

OKRs absolutely will not work if it’s not 100 percent transparent to the entire team what the objectives are. If you have 15 developers and 5 of them are working on projects unrelated to the current objectives, then you are not working at full efficiency.

So make sure that everyone knows what goals are being prioritized -- not just the people at the top. You cannot manage a team correctly by giving them tasks without letting them understand what goal those tasks are progressing towards.

Even if different team members are focusing on different areas of key results, they should all understand how each person’s role adds to the objective. And that makes it much easier for your dev team to provide valuable suggestions and input to one another.

A note about individual accountability

In addition to knowing what the goals are, team members also need a way to collaborate and see each other’s progress.

It is true that being held publicly accountable makes people work harder toward goals.

If every team member has to post their results, no one wants to be the developer who got the least done.

Course-correct by tracking progress

golf
Photo by Michael Jasmund / Unsplash

We already talked about key results needing to be measurable. In fact, OKRs are adaptable precisely because they include measurable components.

If you are working through a set of milestones and see that the metrics aren’t supporting the results you planned for, then you can and should change the key results and the tasks assigned in order to course-correct.

Examples of OKRs

Okay, maybe all of this still sounds a little vague, so here are some examples of OKRs.

Let’s say you have an objective to create the most user-focused app in your software segment.

The key results might include these:

  • Add 3 new features to the app
  • Have no more than 5 bugs per feature in quality assurance testing

By establishing these key results, your developers should understand that part of their goal is to write cleaner code, not just push things out quickly. By giving a defined number of how many bugs are acceptable, you can track progress and create ratings on how everyone is doing.

And if they don’t make the goal, they have something to shoot for in the next set of OKRs.

It’s all about company alignment

The thing to remember about key results is that they are not tasks. They are end results that must be met to achieve the big goal.

So while each team or department will certainly have different tasks, it is essential that everyone is working together to achieve the same key results and complete the primary objective of the company.

In order to successfully implement the OKR strategy, you've got to get more than just the software team on board. You've also got to get management and the executive team to buy in. Because ultimately, the objectives will come from the executive team, and management will work with both them and the responsible departments to figure out which key results are attainable and will get the company there.

According to CEO Angus Davis at Swipely, when OKRs are implemented correctly, they are a tool for communication. That’s because once a company grows to a certain size, no one person or team knows everything that’s going on.

But OKRs give everyone the confidence that each other team and individual is working towards the same goals.

Software companies that have succeeded with OKRs

Assigning objectives and key results really does work. Among companies that openly use OKRs are:

  • Google
  • Intuit
  • MyFitnessPal

In fact, Cofounder and CEO of MyFitnessPal, Mike Lee, says that when he worked at other companies, they had financial plans and revenue goals, but “a glaring lack of alignment” that left him clueless as to what the other teams were doing.

It also meant more time wasted in meetings as people tried chaotically to reach some kind of common objective.

When he created his own app, he was determined not to make that mistake. So no matter how many goals he had, he made sure that they focused on completing one thing at a time. MyFitnessPal now has millions of users.

So yes. OKRs can make a difference for your software team.

If you're in need of a software development metrics platform to help guide progress towards your OKRs, you should check out Gitalytics. Gitalytics transforms raw data from your repositories, code reviews and tickets into in-depth, actionable takeaways, enabling you to bring out the best in your software engineers and teams. Join for free today, at https://gitalytics.com.