Fast and Ambitious OKRs for Software Engineering Managers and Teams

Share on facebook
Share on twitter
Share on linkedin
Share on reddit

Run-through

How to Make a Difference with 1-to-1 Meetings

How to Make a Difference with 1-on-1 Meetings

One-on-one meetings are as much a leadership tool as they are a management tool. The main leadership requirement with 1-on-1 meetings involves a desire to make a difference. These meetings can make a GIGANTIC difference if approached properly. While we’ll cover some of the essentials for conducting 1-on-1’s, we’d like to share a few additional perspectives that you may not find elsewhere.

Read More »

What should be your goals as a software engineering manager? What are the goals for your team? And how do they align with your company’s goals, vision, and mission? More than just goals or kpis, the best way to answer these questions is with Objectives and Key Results. Some people do more before breakfast than most people do all day. Today, though, we’re going to look at more goal-setting techniques (and acronyms for them) than most people will do all year.

What is the Main Goal of a Software Engineering Manager?

If there’s one overarching goal for all software engineering managers, it’s likely to be the continuous development of your team to support your organization’s vision and mission. Yeah, that’s part of the job description. It’s all-encompassing and it’s worth striving to perfect. By the time you realize perfection, your standards for it will have changed. Goals evolve over time and as organizations grow.

This one goal encompasses a great many other objectives, each very important in their own right. These can range from hiring the right people with the right skills for an early-stage startup to reducing code complexity with a rapidly growing team, improving velocity (story points per sprint), and the list goes on, and on.

How Do You Decide Which Objectives to Focus On?

The answer, like “Welcome Back Kotter” goes back to the 1970s and Andy Grove who devised the management and goal-setting methodology known as Objectives and Key Results (OKR). Andy Grove was an engineer who eventually became the CEO of Intel, and Time’s “Man of the Year” in 1997. Andy was a mentor to several Big Tech notables, including John Doerr who introduced OKRs to Larry Page, co-founder of Google. According to Larry, “OKRs have helped lead us to 10x growth, many times over. They’ve helped make our crazily bold mission of ‘organizing the world’s information’ perhaps even achievable. They’ve kept me and the rest of the company on time and on track when it mattered most.”

What are Objectives and Key Results?

Objectives are general, but ambitious goals associated with the company vision and mission. They are meant to focus efforts on “a few things that will have the greatest organizational impact. OKRs are often associated with “Moon Shots” – stretching or 10x’ing ordinary achievements into spectacular ones. Let’s expand on this briefly.

Making the effort to do OKRs for what you know you can achieve and will probably accomplish anyway is a waste of time. Their objectives are meant to push you into getting all of the fruit on the tree. Even if you don’t get ‘em all, you’ll have a lot more than if you stuck to the low-hanging fruit. OKRs are meant to be very difficult, a stretch on what you know or believe to be possible.

Additional points about Objectives and Key Results that you should know include:

  • OKRs can be established at the company, project, team, and sometimes the individual contributor tiers by directives (top-down), consensus (bottom-up), or a balance of both.
  • Three to five OKRs, per tier, is ideal. Each objective should have three to five key results. The fewer OKRs, the more focused the effort will be.
  • In practice, each tier of OKRs should be aligned in supporting the next highest tier, such that individual OKRs reinforce aspects of the team OKRs, and so on up the ladder.
  • For maximum effectiveness, OKRs must be transparent and progress toward key results should be frequently shared and reviewed.

Key Results are verifiable and measurable. If you can’t put a number to it, it’s not an OKR.

What’s the Difference between OKRs and KPIs?

Key Performance Indicators measure performance trends – what you’ve done and are doing to help you plan for the future. While you may have performance standards and goals for your KPI’s, they’re likely self-contained and not tied to a strategic chain of events to some ultimate outcome.

OKRs start with an Objective and then define the Key Results needed to reach it. Some of the Key Results may indeed be KPIs as we’ll show in some examples, shortly.

SMART vs. FAST OKRs

Do you have to choose? Yes, you do – though it boils down (mainly) to asking yourself one very important question:

“Do we want realistic and achievable goals or ambitious ones?”

Here’s what the two Goal Setting Acronyms mean:

SMART Goals FAST Goals
  • Specific
  • Measurable
  • Achievable
  • Realistic
  • Timely
  • Frequently discussed
  • Ambitious in scope
  • Specific metrics and milestones
  • Transparent for everyone to see

Or, to put it another way:

“Do we need more glorified To Do lists or… or… OR… Do we want to kick some buttocks?!”

Feel free to use another word other than buttocks. Many engineers might prefer kicking rear ends or back-ends – for a more distinguished euphemism.

How to Write Effective OKRs for Development Teams

Objectives and Key Results have a very simple format and are easy to write. Coming up with effective and meaningful OKRs that align them across individual, team, project, and company tiers is more complex.

So, let’s start with the simple tasks and establish the three core elements of an OKR:

  1. The Objective – One sentence that describes the goal in simple and general terms.
  2. Key Results – Three to five points defining either a deliverable or a milestone (like a KPI).
  3. Deadlines – When the objective must be achieved – which can be based on a periodic schedule (monthly or quarterly) or specific dates (October 1).

In large organizations, it may also be helpful to define if there are additional individuals or teams that may need to be involved in another team’s OKRs.

Thus, an OKR addresses who is involved (Team + any collaborators), what they intend to accomplish, its conditions for success, and when it must be accomplished. Why, one way or another, relates to the company vision/mission. The one thing it doesn’t define is how it will be accomplished.

5 Examples of OKRs for Software Engineering Teams

The following provide some simple, generic, but ambitious examples of OKRs that engineering managers might use. It’s an easy format. Aligning your Team OKRs to your Company OKRs is what’s most important.

Objective #1 - Ensure stellar quality in product releases in Q3

Key Results:

  1. Ensure no critical bugs are reported by users through Sept. 30.
  2. Improve test coverage from 55% to 85%
  3. Reduce unreviewed pull requests to zero
  4. Increase comment rate from 15% to 30%

Any company that releases software benefits from increasing quality.

Objective #2 - Accelerate productivity of junior developers by Sept 30.

Key Results:
  1. Increase average junior developer velocity from 12 to 18 story points per sprint
  2. Make sure all junior developers have an experienced mentor that they meet weekly.
  3. Provide mentors with two examples of good code logic and structure to review and discuss with mentees each month.
  4. Match all tasks according to the developer’s programming language proficiency.
  5. Use story splitting to reduce and simplify the average task from 4.5 to 3 story points.
Most companies are prone to have more junior or mid-level developers, especially when expanding fast. Improving their productivity may make your senior developers somewhat less productive, but with simpler story points, everyone should reap the benefits (in reduced code complexity).

Objective #3 - Add a layer of reinforced steel to our app’s security

Key Results:

  1. Conduct weekly code scans and share results in weekly retrospectives.
  2. Set up an automated system to conduct penetration tests, at will.
  3. Increase frequency of backups from daily to 3x daily.
  4. Investigate three ways to expand from hacking detection to prevention.

So, yeah… we’ll be talking about software security a bit more… soon. Very soon.

Objective #4 - Energize our SaaS’s reliability in Q1

Key Results:

  1. Decrease time between releases from 30 days to 7 days.
  2. Achieve 99.99% uptime throughout all of Q3.
  3. Provision resources to handle a 100% spike in peak users.

There was once a game, still exists, but every freakin’ time I went to play – it was down. Eventually, it’d come back up. Good game. Fubar reliability. I’d like to single out the company, but won’t. You want customers to have confidence that your software works – when it doesn’t, it can induce feelings of WTF/Rage Quit. On the other hand, Standing Stone Games took it over – and it’s vastly improved.

Oh, yes, that’s right, we were talking about OKRs!

Objective #5 - Increase our team’s automated capabilities by Q2.

Key Results:

  1. Establish a process for reviewing, testing, and evaluating ROI by effort and costs of automation options by January 15.
  2. Identify 3 existing development or testing processes that can be automated; their performance metrics and bottlenecks by January 30.
  3. Conduct reviews of at least 3 products with strong user reviews for each process by the end of February, with summaries provided to all team members.
  4. If two-thirds of the team concurs that a product offers a valid improvement, proceed to implement and/or document barriers to adoption to aid in future evaluations.

On a long enough timeline, all automation will provide an ROI. Often, it’s not how much the automation will cost, but how much effort will be needed to integrate it into your work processes.

What Are the Benefits of OKRs?

According to WhatMatters, the benefits of OKRs boil down to FACTS, you guessed it, another acronym for Focus, Alignment, Commitment, Tracking, and Stretching.

OKRs provide a means to focus the collective efforts of your entire organization on “what matters most” in the pursuit of your company vision and mission, on a periodic basis.

What really sets it apart is the Stretching – the 10x’ing Moonshots, or even Mars Shots. It’s not a matter of knowing how you will accomplish a given goal – that’s part of the discovery process. Once someone commits to making something happen they’re inclined to be highly resourceful in finding a way to make it happen.

I remember back in 1996 or so, using Yahoo as my search engine of choice, even though it was really more of a searchable directory. Then, suddenly, everyone was using Google. And we’re still using Google. We can even use Google to search for what other people are searching for.

Search Volume for OKRS on Google Trends:

Search Volume for OKRS on Google Trends:

Do Individual OKRs or Not?

Lastly, there’s a debate whether to conduct OKRs at the individual contributor level or not. Doing so adds complexity and effort while most people adopt realistic goals instead of aspiring to Moonshots. OKRs should not be part of any performance evaluation. OKRs are also not tied to any kind of financial reward. Many managers drop individual OKRs to make sure all team members are focused on team OKRs. That’s a perfectly valid option and it keeps everyone on the team aligned to identical objectives.

The time to manage individual OKRs doesn’t scale well. It might be a small effort to cover OKRs with three to five team members, but fifty or five hundred?

On the other hand, great software engineering managers should regularly interact with their team members. Where three to five OKRs might be overkill, it can be worth customizing one team-based OKR to the “one thing” they can do to have the biggest impact. This is prone to vary from senior to mid-level to junior developer.

If nothing else, this provides you a good reason to interact with your developers on a regular basis.

About Gitential

Our team at Gitential constantly watches trends across the software development industry. We also get down into the code with you to find ways to make it easier for you to make your team more efficient. Please take a moment to arrange a free demo – or sign up for a free trial, no credit card is needed.

Did you like our content?

Spread the word

Share on facebook
Share on twitter
Share on linkedin
Share on reddit

Subscribe to Our Newsletter

Don't miss our latest updates.
All About Software Engineering Best Practices, Productivity Measurement, Performance Analytics, Software Team Management and more.

Did you like our content?

Spread the word

Share on facebook
Share on twitter
Share on linkedin
Share on reddit

Subscribe to Our Newsletter

Don't miss our latest updates. All About Software Engineering Best Practices, Productivity Measurement, Performance Analytics, Software Team Management and more.