At the end of 2019, we decided to implement OKRs at our company. 

At the end of 2020, we started to change the way we set and manage OKRs.

So, what went wrong? 

In OKR limbo, nothing!

Implementing an effective OKR process that has a company-wide buy-in and allows our entire organization to align towards our goals is an OKR by itself. 

Failing to achieve that on your first try is not necessarily a bad thing. 

OKRs are supposed to help you reach your goals by aligning and concentrating your efforts towards those goals.

Even as you fail to reach that objective, you are still going forward by figuring out what works and what does not.

It is almost like a sailboat climbing up towards a waypoint upwind. You cannot go to your destination directly, but you rather have to climb upwind by tacking, which means turning the boat’s bow through the wind so that the wind changes from one side of the boat to the other. This maneuver allows you to move upwind by making zig zags. There are times when it looks like you are moving away from your waypoint, but you are actually maneuvering your boat for the next tack to start moving closer to your destination.

As we jumped feet first into the OKRs, we failed to remove our engineer hats and looked for a magic formula. 

So, for a given company, let’s create 3 Global Objectives first and then create 3 objectives for every department and 5 Key Results for every objective. 

Set Targets and start measuring. 


If we can also calculate the area under the curve… 

Wait! That, we actually can do!

However, any process that has people in the middle is not that black and white. 

There is hardly any silver bullet for setting and managing any process, let alone OKRs, efficiently at software development companies.

The maturity of the organizations, the complexity of the products, as well as the composition of the teams vary for each company.

What happened then?

We set too many Objectives and KRs for our existing organizational structure. 

This almost created a process for the sake of a process. 

KRs were almost at task levels, and ‘add this to your KRs’ was a very wrong but a common phrase. 

The bureaucracy was large enough to make any Government Organization jealous. 

If sustained, the level of work we have with the development of our current portfolio of products and our support to ongoing customer projects would suffer.

Not only did we set too many Objectives and Key Results, but also we set them top-down.

Like any other OKR freshman, we set them cascading down as Company, Department, and Team Objectives.

Setting objectives a level below by looking at the previous ones created the same life-cycle we are mostly trying to avoid in software development, Waterfall! This life-cycle slowed down the process of setting objectives and created OKR silos that have very low visibility of the “Big Picture.” 

At the same time, setting top-down OKRs prevented employee buy-in, ownership, initiative, and creative process. 

Employees felt left out and frustrated with the extra work(!) they have to do for the OKRs. OKRs are about getting people out of their comfort zones and focusing them on challenging goals and allowing them to take risks while trying to achieve them. People closest to the work are better at providing solutions, making decisions, and taking risks about achieving those goals. 

We collectively failed to explain clearly that the OKRs were not a performance monitoring tool. 

This led to counterproductive behaviors such as setting easy goals, tweaking measures to win, and avoiding potential blame. Using Key Result scores as an evaluation criteria makes it impossible to learn anything from them. 

Always expecting perfect or good enough scores undermines creativity and initiative. 

There were too simple or unmeasurable KRs. ‘Document how-to for each product’, ’Set Quarterly Steering Co. Meeting’, or ‘Code new UI for PO module’ were almost task level or unmeasurable KRs. These need to be turned into outcome-based KRs such as ‘Increase recompete rate by 5% to Achieve 95%’ or ‘Increase PO module utilization 15% by this quarter’.

The software we used for the OKR process was less than ideal. It was cumbersome to navigate and hard to find what you were looking for. There were a few bugs here and there and not really helping us with the change management process. 

We were always late starting our quarter, and by the time we set objectives and KRs, it was almost a month over into the quarter. 

On top of all these, the Global Pandemic played havoc on the corporate world and brought unexpected circumstances such as customer urgencies, disarrayed working hours, and uninterrupted, endless video meetings. 

Even introverts, -such as us, software developers-, were in need of socializing.

Time to Tack!

As two quarters were already gone, we needed to tack and fill the other side of our sails with wind. 

Armed with all these experiences, we changed the way we set and manage our OKRs. 

We set Company Objectives and did not create any KRs at the company level to remove all unnecessary layers to prevent bureaucracy. These KRs were already targeted by departments anyway so removing this layer also simplified how department OKRs were set. 

Department objectives were created; KRs were created under those and assigned to teams for clear ownership of the KRs. These KRs were linked to the department objectives, and they might be linked to a Company Objective as well. Ideally, we want every KR to be linked to a company objective and if they can’t be, then we would question this KR and the department objective it links to. 

Teams deciding, setting, and managing their Key Results, also has a saying in deciding their department objectives. This allows them to contribute to both Department and Company Objectives truly. The process is free of cascading waterfall effect and working bottom-up to align our Company to reach its Objectives. 

Associating all KRs with a Company Objective as well provides an overall visibility of our current state.

It allows teams to see their contribution to our overall goals, what other teams are reaching for, and how they do.

In addition, we set cross-functional teams under departments to lead outcomes that may be realized by different groups within the organization. All these enabled us to empower our people and align them around expected outcomes, regardless of the organizational structure. Teams have leads to spearhead associated KR efforts that quarter and these leads are interchangeable from quarter to quarter. 

OKR is not going to throw out all other activities we do to manage our processes and projects every day. It is just a framework for aligning us with our goals. It is a high-level process to share our vision and should not be introduced into everything we do. There are still day-to-day activities we do, but putting outcomes into our KRs, we started to focus on results rather than activities. Every week, by checking our KRs, we raise our heads from our desks to look ahead, like a sailor checking his bearing, and see if what we do day-to-day has any effect on our KRs. This allows us to align ourselves and decide what activities to pursue, what to pause to reach our outcomes. We can perform tacking again if we need to.  

Configurable UI on board!

Rather than experimenting with yet another software solution, we developed our own OKR system by using our configurable user interface. This allowed us to easily create Objectives and Key Results, to link our HR database to the OKR system for departments and employees, and to create dynamic cross-functional teams. This tool gave us greater visibility and transparency into our OKR cycle. 

We also detached OKR scoring from compensation reviews and made it clear that the progress score of a KR will not be used to award or penalize employees. Otherwise, setting easily attainable key results were totally defeating the purpose of OKRs. What is considered as part of an overall evaluation, in addition to our performance on daily activities is how we work towards our KRs, our commitment to company objectives, and applying one or more of our values to our work. 

At the end of the day, we want teams to be creative, ingenious mavericks who find imaginative ways to contribute to their department and company objectives. 

Take it with a grain of salt that what we have done is specific to our organization. We are still on our maiden journey and cannot say that we are closer to our destination yet. Of course, the OKR journey is yours, and yours alone to sail but do not hesitate to hail us on your way. 

Our call sign is ‘Solvoyo’!