OKRs? Rather, RU OK?. Why OKRs Don’t Work for Engineering… | by Lukasz Korecki | September 2023


Why OKRs don’t work for engineering teams

Image generated by Midjourney

I started my first job as a software engineer in the early 2000s. Since then, I’ve been on nine different teams at companies of all sizes, including my own, and each time, at some point given, we were talking about objectives and key results, or OKRs.

At first I was open and equally skeptical about trying it. I was open because, in principle, the idea feels solid: you have concrete objectives and you must implement measurable means to monitor their progress. But I was still skeptical, in the same way that any software engineer knows that just because a big, famous company implemented something and worked for it doesn’t mean it will make sense to your team. Yet, in the spirit of being a good team player, I, for the most part, agreed.

Most of these OKR conversations took place when the team was growing and communication seemed broken, or when a new manager was under pressure from the top to justify priorities or improve alignment.

What I found fascinating about these conversations was that we rarely took the time to debug our underlying problems. Instead, we would quickly engage in a new way of conceptualizing work.

I know some of you reading this article may have had great experiences with OKRs. So I aim to share the arguments for why I strongly believe OKRs don’t work for engineering teams. If OKRs worked for you, please share the specific context that made them work in the comments. This way we all learn from each other. Agreement?

Sourceyes, it’s real.

Here’s why OKRs don’t work for engineering teams:

Note that I’m referring to Agile, not Scrum (I’ll leave my Scrum disappointment for another article). Agile is about prioritizing adaptability and iterative development. In most companies, OKRs are done quarterly and assume that goals will not change based on new customer information, market changes, or technological advancements.

When it’s your turn, you have to set individual goals that are often only indirectly related to customer needs (if at all), and you have to achieve them no matter what, especially if they’re related to bonuses, etc. In my experience, most people set easy-to-achieve goals and forget about them until they have to revise them again before revisiting and setting new ones.

It’s like assigning story points to “problems”. It’s an imaginary exercise aimed at trying to control what you know you can’t control: effort estimation. OKRs that rely on precise estimates can set teams up for failure or, conversely, set the bar too low. Good luck if any of the goals depend on another team (or external factors).

The tram will hit five people.  Man with a lever who can pull it to make the cart go in another direction.  Legend: You can pull the lever at any time, but first you need to define the KPIs to measure success and document them in your OKRs.
You can pull the lever and spend hours researching who created this image, or you can do nothing and just enjoy it.

The pressure to meet aggressive OKRs can lead to taking shortcuts, especially when they relate to compensation. People will take care of themselves first; if you ask people to set a goal in exchange for money, they will achieve it, whether it’s good for the users, the codebase, or the business.

Another scenario is working just for fun. This happened to me: One of my goals was to add a new provider to an existing billing system. When I asked why, I was told that we needed to do this because it was part of my goals and the product needed to support more billing providers. I was confused; if it were a priority driven by customer demand, it would be part of our regular workflow and we would have a clear reason for it. Instead, we ended up with half-baked code that wouldn’t survive the first contact with a real user. But I reached my goal, so it’s all good, right?

Even though companies invest in various software tools to track OKRs, these tools do not necessarily track learning. The purpose of having goals is to create a sense of direction, but as we move along the path of trying things, as we experiment, we learn things that can completely challenge the goal. orientation. OKRs are not intended to challenge objectives. It’s more about checking a box.

But as you might expect, learning ends up being one of the things that ends up being part of OKRs. I saw this for myself when someone had to give a presentation on an infrastructure they were unfamiliar with. That’s great, because they got interested in it and expanded the team’s knowledge, but… how exactly did it accomplish the goal? Which was… well, I’m not sure what it was exactly, something to make the team “better”. But what if that person gave a presentation and got it completely wrong? How can we rate this? 50%? There was a result, but did their manager really care?

Learning is a continuous process; it’s not something that happens because it’s measured.

Before writing this article, I was curious to see what information was available about OKRs and engineering teams. As I expected, 99% of articles supporting OKRs were written by companies selling OKR consulting or tracking software. That’s fair enough, but if you look for where the conversation is happening (Slack channels, Reddit, Pirate Newsetc.), we quickly see that the general feeling is one of disappointment and frustration, at least for those who have shared their stories.

A lot of this is because OKRs are imposed on the individual, and because of that, the “vagueness factor” goes through the roof and makes people feel like it’s a complete waste of time.

According to Rick Klau – you are supposed to define OKRs at the team level. Okay, but then… doesn’t that mean that the problem has been moved up one level, and whoever manages the team is now responsible for the OKR? This smells like a bad case of “you’re wrong.”


The corporate world is full of this type of theater, where teams adopt the latest best practices that work in a very specific context, and then behind the curtains we all say it was a waste of time. Most of the time, teams have no power to change the fact that OKRs are part of their organization; maybe we should push harder.

Let’s go back to first principles. Alignment is primarily an issue of communication and how decisions are made. I always look at this before implementing a framework or process. Talk to people, seek the truth, eliminate fear within the team, find what is confusing and try to resolve it. OKRs can wait.

We need to better manage technical debt, send fewer bugs, improve customer satisfaction, reduce attrition, develop new features, stay competitive, and much more.

If you’re a leader, your job is to make sure everyone in the organization knows where they’re going.

There are millions of things to rally people around; trying to translate the general statement “We are a business and need to make more money” into a cascade of detailed goals and then assuming that this process achieves true alignment is a mistake.…It won’t work.

“The best companies don’t have cascading goals; the best companies have cascading meaning… Our people don’t need to be told what to do; They want to be told why. —Marcus Buckingham, author of Nine Lies About Work


Source link

Related Articles

Back to top button