Kernel is a team within GO-JEK, that focuses on developer productivity. It’s an internal platform as a service that helps team deploy, run & monitor all of GO-JEK backend systems. This content was originally put together in the 3rd iteration of GO-JEK rolling out OKRs & the FAQ especially was for Kernel; so take it with a pinch of salt.


— — — — — — — — — — — — — — — — — — — — — — —

Why adopt OKRs?

OKRs is a management tool that enforces:

  • Transparency
  • Accountability
  • Alignment

This combination facilitates:

  • Focus
  • Engagement

This is what we need to evolve GO-JEK fast & efficiently. Let’s see how we get there:

Public availability of OKRs & their status create transparency around:

  • What each team & everyone in leadership is working on & why?
  • How well they are proceeding?
  • If they changed their direction, why?

Having as much visibility into a top-most leadership as a junior-most contributor creates a truly transparent company. Everyone making public commitments for their share of the mission creates faith in the mission itself.

Accountability & thus dependability is a necessary condition for coordination; something GO-JEK certainly needs. Being accountable requires necessary authority, & support where authority doesn’t exist, to be clarified before commitment. So as part of the process, the OKR owners are also held accountable for their public commitments.

Lead of the pod will have to present an RCA on why he/she could not meet the OKRs. This process not only institutionalize constant improvement, but also helps people get over the fear of collaboration.

In order to achieve true Accountability, organization is forced get all teams on the same page about priorities, ownerships & responsibility. This forces us, right from leadership to ICs, to clarify thoughts, confront difficult conversations & align on long term planning. That’s alignment.

A team that has setup tight OKRs must be an aligned team that won’t run into frequent inter-team conflicts.

People get distracted by “Shiny Object Syndrome” OR because of external pressure. With an OKR system, any change in the focus is a conscious & considered decision that has to be justified to the whole company. As long as people are held accountable for OKRs, it creates friction for both the team itself & the external party; ensuring FOCUS.

If OKRs are set properly, every team & person feels full ownership of their work. They are also well informed on most other teams & know that the whole company is aligned. This creates the much needed engagement across the organization, instrumental in achieving anything outside of grunt work.

To get a team of 40+ high powered engineers to push through technically & operationally difficult problems that spans across 12–18 months; we need a management system that gives us Transparency, Accountability, Focus, Alignment & Engagement. That’s OKRs.

What are OKRs?

OKRs stand for Objectives & Key Results. e.g.

  • Objective: I want to get fit
  • Key Result: Lose 10 kg

If you meet all the key results, you should be be able to confidently say that you have achieved the Objective too. If not, you haven’t defined the KRs clearly OR you set an objective that you never believed could be achieved.

So if you believe that losing 10 kg is not enough to get fit, redo the OKRs again.

Objectives are… what you want to achieve. They are qualitative and aspirational. They are something that you, your team OR your organization aim to achieve (and must not contain numbers).

KRs are… always quantitative; both numeric & boolean (Yes/No) are quantitative. They are what allows you to objectively say if you achieved the objective or not, so being able to say without any doubt if you achieved a KR is critical.

OKR is a communication tool & communication tools are for audiences. Ensure the message is tailored for the audience. Your audience will be:

  • Your customers; for any team serving internal customers, your end customers are actually reading your OKRs. Ensure they can understand your OKRs, agree with your priorities & agree with your definition of success. This will avoid you substantial ongoing pain.
  • Your partner teams; use langauge & KRs that sets your expectations from them & their expectations from you.
  • Your team; ensure everyone in the team is excited about tackling the problem and have fully bought into priority, scope & plan of execution.

How should OKRs propagate through the org?

Let’s first look at how OKRs get defined. There are three ways:

  • Top-down
  • Bottom-up
  • Negotiated

This image is an example of an individual contributor in a team; but the same applies to a team within a department OR department within a company. Ultimately this is a manager and his report, can be CEO and head of product respectively.

Let’s look at the pros & cons of each:

This is effectively top-down prioritization cascading, where each person gets told what to do & they commit to doing it. This is still provide all the benefits of OKRs, except the critical Engagement.

Here, the manager decides what the larger level OKRs are & every individual or team decides what they want to work on. With no debate or negotiation, this might have the best possible Engagement, but generally has alignment issues across the board.

Negotiated is the hybrid that allows for best of both worlds. It provides a speedy alignment across the org & a sense of ownership for the team. This requires a company culture of healthy debate & open communication channels.

At Kernel especially, given the teams are already working on mission critical problems; we will use bottom up model. There will still be challenges to ensure the rigor in prioritization & planning of these OKRs, but ultimately the accountable has to decide.

What role do I play in other teams’ OKRs setting?

  • Give Feedback; you are responsible for reviewing other team OKRs & ensure you have either:
  • bought into the Objectives & Key Results of that team OR
  • you have raised your concerns & engaged the team explaining your position
  • trust the other team to consider it and incorporate the feedback
  • Offer to Collaborate; if your objective is overlapping or aligned with the other team’s objective
  • engage that team to agree on the OKRs
  • divide the key results amongst pods
  • I hope you can “Give Away Your Legos”
  • Celebrate;
  • congratulate the team on achieving their OKRs
  • ask the team to share their learnings with your team

How do we resolve conflicts between pods?

Prioritization is a fundamentally an anti-fragile phenomenon. More people challenge your priorities, better your understanding of all variables & thus your prioritization. Conflicts are the perfect opportunities to discuss our beliefs, plans & fears. With each conflict resolved, we become more aligned.

Conflicts can be of multiple types:

  • Two pods single objective; this is a good problem to have where two pods have prioritized and agreed on a single objective. To resolve such a conflict:
  • Pods should join forces & take a stronger shot at the objective. Compliment each other rather than competing with each other.
  • If disagreements are over approach, either:
  • Disagree and commit to the accountable team’s approach
  • Escalate; disagree & commit to the managers’ decision
  • Inter pod dependency; one pod depends on support from another prod for Objective that isn’t shared e.g. upgrading deployment stack Objective requires another team to spend 2 weeks migrating.
  • This front loads the discussion of ROI on migration, further improving understanding of priorities across teams for your initiative.
  • If two teams aren’t able to compare priorities; identify the root cause and address it. Root cause generally is lack of context about priorities, plans, beliefs OR fears.
  • If still not able to resolve, escalate; disagree & commit to the managers’ decision

Who should own the OKRs?

Generally teams (and in-turn team leads) will own the OKRs that are aligned with the company OKRs. But it’s perfectly normal for an individual to own OKRs that are not indirectly aligned with the company OKRs (individual non-aligned OKRs) e.g. reducing build time for my codebase by 50%. In this case it’s used as an individual goal setting mechanism, not a management one. It’s still great if everyone knows what you are signing up for & celebrate when you achieve it.

Replace “Account Manager” with a team lead of 4–6 devs & the above matrix should still hold true.

  • Employees without decision making authority should not own company aligned OKRs
  • — — Exception is individual, non-aligned OKRs
  • Employees with full decision making authority should always own OKRs.
  • — — Objectives are usually vague
  • — — Manager usually comes up only with an objective, employee with KRs
  • Employees with some decision making authority should always own OKRs
  • — — Objectives are usually specific
  • — — Manager has input on KRs

OKRs have two variants, and it is important to differentiate between them:

- Commitments are OKRs that we agree will be achieved, and we will be willing to adjust schedules and resources to ensure that they are delivered.
- Teams are expected to rearrange their other priorities to ensure an on-schedule perfect delivery.
- Teams who cannot credibly promise to deliver on a committed OKR must escalate promptly. This is a key point: Escalating in this (common) situation is not only OK, it is required.

- Aspirational OKRs should be uncomfortable and possibly unattainable. “Stretched goals,” as Grove called them, push organizations to new heights.
- They express how we’d like the world to look, even though we have no clear idea how to get there and/or the resources necessary to deliver the OKR.

This is a key difference & please make sure you read sections around this in Measure What Matters.

What should be the OKR cycles?

OKRs are meant to provide focus as well as alignment. Focus must be for the duration to complete the objective OR at least reach a respectable milestone. While alignment requires all teams to feel that they are planning towards the company objective together. Anything between 2 weeks to 3 months is good. Going beyond 3 months will make you lose focus.

There is no religion to how you set your OKR cycles, pick a cycle time that provides maximum number of teams just enough time to hit a good milestone. Also, it’s a good practice to have Annual OKRs being broken down into Quarterly OKRs. This provides long term north-star & short term execution rigour.

How frequently should OKRs be tracked & re-evaluated?

At the minimum, OKRs should be updated once a week. We will be using an OKR management system that provides programmatic updates on OKRs by reading it from DBs like BQ or PG. Given most of our OKRs can be tracked programmatically, the manual overhead of updating these should be low.

The team itself should have a short meeting on a weekly level to review their progress & see if any out of ordinary action needs to be taken. This will include escalating to company that we are not on track, reprioritizing effort to meet committed OKRs, asking for help in getting on track etc.

We certainly recommend to share OKR updates at the start of every IPM & Retrospective; to keep it front & center of every decision making.

How many Objectives & Key Results to set?

Smaller the number of Objectives & Key Results, more focused you are. So it’s always preferable to have as small number of OKRs as possible per team. The spread of Objectives also indicate how focused your team is & if team has too many unaligned Objectives, it’s an indicator that the team can be split into smaller sub-teams with each sub-team owning each of those objectives.

Rule of thumb; never cross 3 Objectives per team & 5 (preferably just 3) Key Results per Objective. At the same time, ensure that a reasonable observer will also interpret completing all key results as actually completing the Objective too. If not, get back to the drawing board.

How to set Company OKRs?

OKRs are just a system of mobilizing large number of smart & empowered people in a singular direction. What’s more important is knowing that direction; without which any company is like a ship with broken compass.

Every good company has a mission. It’s the reason your company exists. You can think of mission as the lasting overarching objective of your company. Direction, milestones & values are derive from it.

It’s critical that the mission of the company is well-defined & well-known to everyone in the company that adopt OKRs. Without it the team will have hard time coming up with meaningful OKRs.

Most companies with a narrow focus also have a vision. Vision builds on mission, by taking into account where the company is at the moment & where it wishes to go. It provides a more practical direction on how to achieve the mission.

Few Examples:

  • Tesla
  • Mission — “Tesla’s mission is to accelerate the world’s transition to sustainable energy.”
  • Vision — “Create the most compelling car company of the 21st century by driving the world’s transition to electric vehicles”
  • Airbnb
  • Mission — “Airbnb’s mission is to create a world where people can belong through healthy travel that is local, authentic, diverse, inclusive and sustainable.”
  • Google
  • Mission — “Our mission is to organize the world’s information and make it universally accessible and useful.”
  • Amazon
  • Mission & Vision — “to be Earth’s most customer-centric company, where customers can find and discover anything they might want to buy online, and endeavors to offer its customers the lowest possible prices.”

If the larger company cannot create a single vision due to varied interests, having a department/interest wise mission/vision helps with better buy-in for OKRs.

The annual company objectives should be the most important and ambitious objectives that will help company achieve its mission and execute against its vision. e.g.

  • YouTube — “Reach 1 billion hours of watch time per day [by 2016]”
  • This was actually a 4 year objective representing 10x increase of their 2012 numbers.
  • Intel — “Establish the 8086 as the highest performance 16-bit microprocessor family”
  • Intel set this long term objective in 1978 when Motorola’s new chip was eroding Intel 8086 market share fast, threatening the company’s future. Larger objective was to crush Motorola out of the microchip market, literally called “Operation Crush”.
  • Gates Foundation — “Global eradication of malaria by 2040.”

Depending on the sizes of the company & challenges it is facing, the timelines vary from 9 months to 25 years; but you get the idea of long term BHAG that Objectives are set around. Come up with your company’s BHAG for roughly a year.

Once you have your mission, vision and annual objectives in place — defining the objectives for your first quarter should be pretty straightforward.

Quarterly objectives should be aligned to annual objectives, but more tactical. e.g.

  • Zume — “Complete the Truck Delivery Fleet for 250 Polaris (Mountain View HQ)”
  • Zume rolling out its first fleet of large delivery trucks in Q4 2016
  • YouTube (made up)s — “Launch MVP of VR experience in YouTube”
  • Intel (made up) — “Get 500 design wins for 8086”
  • Design Win is term used for a product designed around 8086. Intel’s long term objective was 2000, so they could have setup a linear objective of 500 for Q1.

These are company objectives that the whole company rallies around. All teams & individuals within the company will derive their OKRs in order to achieve these quarterly milestones. It’s important that everyone truly believes, OR disagrees & commits, that achieving quarterly goals will result in achieving annual goals.

If people question that, you will not have a successful OKR adoption.

How to set team & people OKRs?

Once company’s mission, vision, annual & quarterly Objectives are set, we are done with 80% of the work. Now it’s up to the teams & individuals to decide how they take the company forward.

It’s important that everyone understands what are the company objectives & why. Conduct an all hands to answer all the questions & give roughly a two weeks timeline for teams to get back with their proposals.

Given we are following the Negotiation method for setting OKRs, there will be back & forth between teams & the company leadership to arrive at team OKRs. Same for any individual contributors who want to take up aligned or unaligned OKRs.

What tools/systems we will be using?

Just like everything else, don’t overload humans for something that software can do for you. We will be using system like to:

- Capture company, team & individual OKRs
- Visualize their relation with each other
- Programmatically update then every day/week
- Automatically build & distribute reports to the company

All 4 of these are critical to ensure we get the most benefit out of OKR system.

Should OKRs be linked to compensation?

Quoting Doerr, John. from Measure What Matters verbatim…

Divorce compensation (both raises and bonuses) from OKRs. These should be two distinct conversations, with their own cadences and calendars. The first is a backward-looking assessment, typically held at year’s end. The second is an ongoing, forward-looking dialogue between leaders and contributors. OKR conversations centers on five questions:

- What are you working on?
- How are you doing; how are your OKRs coming along?
- Is there anything impeding your work?
- What do you need from me to be (more) successful?
- How do you need to grow to achieve your career goals?

Now, I’m not proposing that performance reviews and goals can or should be completely severed. A data-driven summary of what someone has achieved can be a welcome antidote to ratings biases. And since OKRs reflect a person’s most meaningful work, they’re a source of reliable feedback for the cycle to come. But when goals are used and abused to set compensation, employees can be counted on to sandbag. They start playing defense; they stop stretching for amazing. They get bored for lack of challenge. And the organization suffers most of all.

What’s a typical OKR cycle?

How OKRs work for cross-team initiatives?

OKRs are especially useful for executing cross-team initiatives. If 3 teams are involved in an objective, all 3 team OKRs must reflect the well understood responsibilities they are all picking.

If you are wondering, what if we know these teams are involved but there is no clear split in responsibility; you have hit the nail. That means there wasn’t enough planning & scheduling before commitments were made. If teams don’t know what they are accountable for and by when, what’s the probability the initiative will succeed?

Why do OKRs need to be stretch targets?

Aspirational goals bring out the best in people. It promotes hustle & grassroots innovation across processes & solutions. It promotes teams to 1) challenge every constraint, 2) sell vision to other teams in order to get their alignment & help 3) cut through fluff to achieve the core value proposition.

I have a mix bag of responsibilities that I can’t build OKRs around? What should I do then?

With evolution of GO-JEK, some parts of the org are accumulating systems or responsibilities that haven’t been treated as first class problems. OKRs bubble up these structural problems & we have to solve them. We need to identify a proper owner for these & hand it off in a sustainable way. Follow this process:

  • List down all these unrelated tasks/codebases you manage that you aren’t able to build strategy around
  • Provide some history, if you know, as to who built these systems & how you ended up owning them
  • Provide your recommendation around:
  1. Can we shut this down completely
  2. If not, how do we find/build a home around it that can do justice to the responsibility
  3. Any blockers you have faced in the past

And send it to aakash & shobhit. We will set up a quarterly OKR for a successful migration & execute with you.

This is an internal FAQ published as is. If you have any thoughts/questions on this, please tweet to me at @aakashd OR @gojektech.

product@ GO-JEK Indonesia