Technical OKRs
Measuring success is tough, don’t you think? At first, it seems a simple question - just measure how much revenue the company generates, or how effectively the team develops features. But when you examine the details, it quickly becomes complicated - and it gets even more challenging when discussing how to measure an individual contributor’s success.
Today, I want to discuss technical OKRs (Objectives and Key Results). In every company I’ve joined, this topic has been a constant point of discussion - there are as many opinions on how to handle it as there are engineering leaders.
You might still ask, why do we need OKRs? Can’t the team just focus on their tasks and code away? Without clear goals, it’s similar to sailing without a compass. Technical OKRs provide a roadmap, a crystal-clear target for teams to focus on. They’re the stars we set our sail by, guiding us towards the right destination.
Measuring OKRs: A Balancing Act
Measuring OKRs is almost like a tightrope – it requires a delicate balance. We can’t expect a software engineer to churn out code like a bot. We have to consider the quality, efficiency, and impact of their work. It’s as much about the ‘how’ as the ‘what.’
For instance, one of our top contributors last year didn’t necessarily produce the most code. But their work was brilliant! It was full of innovative, problem-solving ideas with a significant impact on our products and services. So, while measuring their OKR, we considered the quality and influence of their work, not just the quantity.
Conversely, you might have a person who codes as if they’re an AI (regardless of whether they use ChatGPT or not). If you ask them to write unit tests or to create a new service according to specs, they deliver perfection. Their impact should also be considered when evaluating OKRs.
In my experience, and this might be a controversial opinion, OKRs shouldn’t be too rigid or too loose. They should provide guidance without limiting innovation and creativity. If our measures are too strict, we risk stifling the team’s ability to think creatively. Yet if they’re too relaxed, team members may not know what to focus on, and therefore, may not deliver their best work.
Getting down to brass tacks
So, how should we approach this? Well, to measure objectives and key results effectively, we need a combination of quantitative and qualitative methods. Team performance can be quantitively measured through metrics like the number of tasks completed, time spent developing a task, number of bugs resolved, or projects delivered.
For individual contributors, quantitative factors, such as the number of code review comments, frequency of build failures, or amount of technical debt introduced by the person’s hacks, are important to measure. But you can’t ignore the qualitative side - things like their individual achievements (e.g., introducing a faster way of running unit tests or proposing new features in the product), how well they collaborate with others (like unlocking feature development by working with other teams, supporting other competencies in the team with their engineering skills), or their overall contribution to the team’s success are equally significant.
One of my favorite mottos is, “not everything that can be counted counts, not everything that counts can be counted.” William Bruce Cameron So, while numbers are important, they only tell half the story. We should also consider the qualities that bring unique value to the team and the organization.
Integrating it all together in a new team
Measuring OKRs for teams and individuals is no small feat. It demands a wise blend of hard metrics and soft skills, a nuanced understanding of every individual’s uniqueness and the team’s synergies. Measuring OKRs can indeed be a challenge, but remember, it’s a challenge worth embracing. By measuring OKRs effectively, we can ensure our engineering teams are focused, motivated, and more successful than ever - a goal we’re all undoubtedly striving for.
Joining a new team can certainly seem overwhelming, particularly when it comes to understanding and aligning with the existing practices and methodologies. To begin with, you need to familiarize yourself with the current team structure, workflows, and productivity metrics. Ask questions and engage actively in discussions with team members and leaders. This will help you gain insights into the strengths and weaknesses of the team, the challenges they face, and the solutions they employ. Undoubtedly, this understanding will provide a solid basis for identifying relevant and effective OKRs.
When it comes to defining the right OKRs for your team, there are a few aspects you should consider. Firstly, they should align with the company’s overall objectives and strategic goals. This will ensure that your team’s efforts contribute directly to the broader organizational success. Secondly, your OKRs should be realistic yet challenging, aiming to stretch the team’s capabilities while ensuring that the goals are achievable and not dishearteningly ambitious. Lastly, they should be transparent, understandable, but most importantly, you should involve the team in the decision-making process, making sure that everyone is on the same page regarding expectations and outcomes.
Introducing new OKRs can be a delicate task as it involves changes to existing workflows and routines, which may arouse resistance from team members. The key here is to communicate the benefits clearly and continually, underscoring how these changes can help the team achieve greater success. Focus on facilitating a smooth transition, providing required tools, resources and training. This, coupled with ongoing reviews and feedback, will help ensure that your OKRs are not just considered as a top-down imposition but are embraced as a means to streamline operations, increase productivity, and boost overall team performance. Remember, don’t rush it - this should not be a revolution for the team, but an evolution from the existing situation.
But how to track it?
Tracking OKRs effectively is crucial to ensure they serve their purpose of driving performance and achieving strategic goals. After the entire team has a clear understanding of what the OKRs are, what they mean, and why they’re important, you can start tracking them in some tool or platform. Maybe your organization already is using something for that, maybe even the OKRs are set in some internal analytics tool. If not, there’s a lot of tools on the market, such as Weekdone or Leapsome, but you can even start simple by having an Excel or a Google Sheet where you can enter new values whenever there’s a change.
The tracking process itself should entail regular check-ins and updates. Frequent reviews not only help in adjusting and realigning OKRs as needed but also enable team members to stay focused and engaged. It allows for timely identification of roadblocks and gives an opportunity to celebrate milestones, which can be a significant morale booster. It is also recommended to document changes and updates meticulously to provide a historical record of your team’s journey with OKRs, offering valuable insights for future planning and improvements. Remember, the aim of tracking OKRs isn’t just about ticking off completed tasks, but to foster a culture of continuous learning and improvement.