Getting Started with OKRs in Software Engineering

Software engineering aims to provide value to end-users, which is a shared goal with the rest of the company.

Companies track progress towards this goal and ensure alignment across the business through OKRs. But we all know it is infinitely more complicated than that, especially for engineering. Measuring software engineering at the rolled-up level that OKRs require has historically been difficult, if not impossible. Due to the nature of engineering orgs wanting to remain agile while scaling their efforts to meet the needs of the business. (Check out Allstacks’ blog on the journey to Value Stream Intelligence) This balance results in different teams working on various initiatives simultaneously, using different tools, and employing different processes, creating challenges with reporting and visibility into performance towards OKRs. It looks something like this: 

Process explosion in engineering organizations

So how should engineering teams set goals that align with business objectives, and how do they get the data and insights to validate their progress that doesn't disrupt their workflow?

Let's dive right into where to start with OKRs in engineering

You know what OKRs are, and you are likely being asked to roll them out into the engineering organization. You probably have questions about where to start and to try to ensure teams see the value in using engineering OKRs.

When coming up with your engineering OKRs, take the organization’s objectives and craft actionable, generalized engineering objectives. This is how you translate the value of the organization’s objectives to the engineering team to understand exactly how their work impacts the organization. From here, set your key results. Key results should be measurable and should not exceed five in total.

Software engineering OKR example 

Software engineering goals and objectives can sound like “ship features on time” or “lower cycle time.” At a high level, software engineering team OKRs should reflect the organization’s OKRs and place them into focus for the team. At Allstacks, for example, an organizational objective is to “build trust and confidence in the software organization.” 

This is reflected in the software development team with this objective: 

  • Release timely and valuable product features 

Key Results: 

  1. Reduce code churn by 10%
  2. Launch 2 feature iterations a quarter 
  3. Cut down QA time by 20%

These key results drive the work the engineering team is tackling to ensure they are working towards the overall team’s performance and achieving the organization’s goals. There is additional value in aligning the team to understand how their individual contributions matter and impact the organization, creating a strong sense of ownership and accountability. 

Engineering OKRs vs. KPIs

Often OKRs and KPIs get mixed up or are assumed to be the same. Both set goals and track progress but have different functions and use cases. KPIs are values that measure performance and tell you how you are tracking against some initiatives. But are OKRs and KPIs simply the same thing with different names? The short answer is no.

OKRs are about setting strategic, bigger picture frameworks that focus and align the entire company. KPIs are focused on setting goals and measuring productivity and process outcomes. Think of OKRs as a GPS for the team's direction. At the same time, KPIs are the average gas consumption per mile which evaluates performance within particular parameters on a micro-level. OKRs are great for engineering leaders to communicate at a high level to the board or company to tell the story of engineering's contribution and progress towards the shared objectives of the business. KPIs are great data points to look at more regularly at the team or department level to pinpoint where you can focus continuous improvement efforts. Progress towards those key results can help you understand that the team achieves the OKRs successfully.

These complementary concepts should be used together as a best practice for aligning engineering team outcomes with business objectives and goals.

OKR and KPI comparison chart

*Sourced from Gtmhub

Software engineering KPI Example 

What usually comes to mind when thinking about software development KPIs? Code metrics. These would include things like Commit VolumeCommit Size, Code Churn. We tend to see code churn used to measure the code's stability and how often the code changes over time. Minor code churn is normal, but if code needs to be rewritten often to accommodate new iterations and/or features, this can be a cause for concern. 

Getting access to the data to track OKRs

All the necessary data and information needed to implement OKRs is already available in the tools used to build software. However, that data lives in silos and lacks context that help you understand how engineering teams are doing. Tracking and measuring against your OKRS to find actionable insights should be more than a gut feeling or hidden within a spreadsheet. Using tools like Allstacks to have a rollup view of where all pieces of the puzzle fall make it efficient and straightforward to find those needed insights by utilizing early-stage alerts that let you see and understand the why to take necessary action. This insight will allow you to make data-driven decisions such as pivoting entirely or fixing the current issue to bring things back into alignment.

Schedule a demo with Allstacks to see how you stack up against your OKRs. 

More OKR resources 

GTMHub has a wealth of insightful knowledge around OKRs. Here are some of our favorites:

More from Allstacks 

Can’t Get Enough Allstacks Content?

Sign up for our newsletter to get all the latest Allstacks articles, news, and insights delivered straight to your inbox.