Fast and Ambitious OKRs for Software Engineering Managers and Teams

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

Run-through

May 2022 Release Notes – Issue Tracking & More

Recent updates improve issue tracking already in the app, extended Project view, helpful Knowledge Center, and continuous improvement, adding:

* Jira / Azure Boards in the new Overview tab
* New tabs for Project
* Knowledge center
* Fixes – invitations via email, support chat

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. OKR objectives are meant to push you into getting all of the fruit on the tree, not just the easy pickings. 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.

For more on CyberSecurity news and resources, checkout:  

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. That’s a reflection on Google’s use of OKRs to 10x efforts. 

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.

OKRs and AI-Digital Assistants?

We’re hard at work transforming our software development analytics into an AI-powered Digital Assistant. This could make it a lot easier, 10x easier –  to extend OKRs to individual developers.

Here’s the thing. With analytics, an engineering manager could spend an hour digging through a developer’s metrics to find an actionable insight to help improve their throughput, for a realistic (even conservative) 1,000% ROI.

With AI, you only need to ask your Digital Assistant questions about how to help your developers, or teams, and get data-driven, actionable insights in minutes. It improves your “Cycle Time for Insights” to about as fast as you can come up with a question, review the data, and decide if it’s valid. AI is a lot faster about finding patterns in Big Data than we are.

Most engineering managers can use this to quickly prepare for One-on-One Meetings – common to most development teams. But, the same extends to supporting Objective and Key Results for individual developers and teams. Instead of spending 7-8 hours sorting and comparing developer metrics for your entire team (say 5- 9 members), you could have all the research done in an hour and even fit in a ten-minute break.

There’s a lot more to it than that, of course. If you’re curious, we invite you to check out the following articles about how AI can help you 10x your team’s performance – however large and distributed it may be. 

About Gitential

Gitential is an Analytics and Engineering Intelligence service provider bringing visibility and optimization highlights on teams’ productivity. Our mission is to enable faster, data-driven decisions to continuously improve software delivery team cost performance and proactive risk management.

Ready to explore different ways to improve your software projects’ efficiency? Schedule a meeting and we will be happy to listen to and discuss your needs.

Have a project but are not quite ready to contact us? See if Gitential is a fit for you!

FREE TRIAL FOR LIFE
for up to 5 repos, 10 devs and 3 months of data

Post updated: February 16, 2022

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.