Essay - Published: 2022.06.10 |
DISCLOSURE: If you buy through affiliate links, I may earn a small commission. (disclosures)
The more time I spend building products and businesses, the more I come back to the adage "Don't fix what ain't broke". It's a succinct and memorable reminder to focus on the impact of the work, not the work itself.
I've done a good amount of research and experimentation into effective direction-setting and impact measurement for teams and orgs as an engineer at Instagram and in my work to build an effective, generalizable Creation Cycle. OKRs (Objectives + Key Results) were a frequent result / recommendation for doing this effectively at scale. Yet, I found myself continually fighting with the terminology, trying to make it better fit my vision of an effective process.
I liken this struggle to the code refactoring process -> particularly in naming. You will never know if you've gotten it "right" but you will know when you've gotten it wrong - it won't feel like it accurately describes the purpose of the entity.
After many cycles of refactoring OKRs, I think I've finally found the root cause of the issue:
In my experience, this is one of the leading causes of wasted resources in product lifecycles. Too many companies, teams, and products focus on the "what" and "how" of what they're doing vs the "why" -> often leading to a bunch of work that doesn't really accomplish anything (more specifically it accomplishes something but not necessarily something useful / valuable).
Some poor objectives I've seen recently:
The problem is that it is too far removed from the "why" of what we're doing -> prescribing a "what" / "how" that pretty obviously misaligns with any "why", if you'd just compare the two. More on this in Goal Triangulation.
Now I'm sure there are some PMs / product people out there saying that this argument is null. Something like "if you use OKRs right, they'll be directly tied to a 'why'". While you may be right, my response is that no robust system relies on what people should do. Rather it works to constrain what people can do to push them into the pit of success. As Murphy's law states - anything that can go wrong, will go wrong.
Unfortunately, the concept of OKRs lives outside the realm of code so it's not so easy for me to slap on some validations, integration tests, and a new API to prevent the misuse of the OKR framework. So we must go back to the Problem at hand (the Why) and consider ways to solve this.
Problem: People abuse the OKR framework leading to solution-based goaling / direction setting.
To solve this, we want to:
The solution I came up with: Change OKRs (Objectives + Key Results) -> PKRs (Problems + Key Results).
I like Problems-based direction setting for many reasons:
At the end of the day, if there is no problem then it ain't broke. And if it ain't broke, we don't want / need to fix it.
The beauty of PKRs is that we don't have to change much about how we goal and set direction. You only need to use Problems in place of Objectives.
Just like a good refactor - the system maintains its overall functionality but does it in a more efficient manner. In this case, we narrow the description of the framework so that it's very obvious when you're misusing it.
The best way to support my work is to like / comment / share for the algorithm and subscribe for future updates.