OKRs for your Engineering Team

OKRs are a fantastic tool for aligning your Engineering team against common goals. I’ll be discussing various types of teamwide objectives and will give examples for each.

At PipelineDeals, we use OKRs at a team-wide level to hit the following objectives:

  • Exercising and enhancing our Engineering cultural goals
  • Exploring new tech
  • Executing on any company-wide goals that can be cascaded down to us.

If you’re a manager, you might find team-wide OKRs a great way to focus on what it means to be a team.

The TL;DR on OKRs

OKR stands for objectives and key results.

The objective is the high level goal or achievement to work toward. It should feel ambitious and slightly uncomfortable. It will be a stretch to get there.

An example:

Objective: Improve our company’s technical brand.

The objective itself is qualitative in nature. It could be something company-wide. A football team might have an objective of win the Super Bowl.

The key results are the SMART, quantifiable evidence that the objective was achieved. For each objective, identify 3 to 5 ways that you will measure your progress towards achievement. For the objective above, some key results might be

  • Key result: 20 blog posts written this quarter, achieving 100 unique visits in the first week of publishing
  • Key result: 8 meetups attended this quarter, with 10 business cards exchanged for each meetup
  • Key result: 4 speaking engagements this quarter

OKRs are meant to be stretch goals. You should look at the list of key results and think, wow, this is going to be really difficult to hit all these! If you feel that way, then your OKRs are probably at the correct difficulty level.

In fact, you’re not supposed to meet all the key results. If you do meet all of them, then that means they were a little too easy, and next time around you should make them a bit harder.

Strive to achieve about 70% of the key results.

Timeboxing and evaluating

You should define your team’s OKRs with a specific time frame in mind. Quarterly is a good start, but you can even define weekly OKRs for more fine-grained goals.

At the end of the period, do a retrospective on the goals you hit and missed, and give a score for each.

You’ll want to check progress towards your OKRs at a regular interval. At PipelineDeals we have weekly checkins as a team, to ensure we’re making progress towards our goals.

Key results != Tasks

It’s important to keep in mind that key results are not tasks that need to be performed. Key results are the things that happen after those tasks are performed.

Because Key results are not tasks, keep a list of tasks that need to be accomplished to see the key results.

Key results are not tasks. They are something that happened because of tasks you accomplished against the objective.

Examples:

Objective: Increase engineering velocity

Key results:

  • 3 new engineering hires this quarter
  • Inflow of 10 candidate résumé incoming / week
  • 4 blog posts published around our engineering team and culture

Tasks:

  • [ ] List job posting on SO careers, Github jobs, and weworkremotely
  • [ ] Finish hiring process and have all team leads agree to it
  • [ ] Identify 3-4 3rd party rails shops

Because key results are not tasks, list and identify any tasks that need to be done outside of the key results list.

Key results need to be carefully considered, because you need to be able to measure them. If you cannot measure your key results, it will be very hard to track them going forward.

OKRs for the PipelineDeals Engineering team

At PipelineDeals, we use team-level OKRs to explore new tech, enhance our cultural goals, as well as execute on any company-wide goals that have cascaded down to the team.

Exploring new tech

Team OKRs are a great way to start exploring new tech and to help make informed decisions about where to steer the ship, from a technical perspective.

Objective: We need our frontend to be faster, easier to maintain, and less buggy

  • Key result: 1 javascript framework identified and agreed upon, with all members of the team achieving a high level of comfort with the framework
  • Key result: Achieve 20% frontend unit test coverage

Tasks:

  • [ ] Spike out list view functionality in Ember, Angular, and React
  • [ ] Host 3 Lunch and Learn deep dive meetings to discuss each framework and approach, identifying positives, pitfalls, and gotchas

Defining your engineering culture

Team OKRs are also a fantastic tool to help define and keep focus on your cultural goals as an engineering team. At PipelineDeals, we strive to have our engineers reach out to the community and teach, as well as learn. Beacuse of that, have an ongoing objective:

Objective: Make PipelineDeals a force within the tech community

  • Key result: 8 meetups attended, with 10 business cards gathered per meetup
  • Key result: 4 conferences spoken at
  • Key result: 20 blog posts written achieving at least 200 views and 5 likes in the first week

Each quarter, we think of new objectives for the team. These objectives are relevant to where we are at currently. For instance, at the moment we are taking a hard look at frontend. So, one of the objectives for next quarter might be the following:

Team-level OKRs are a great place to put your cultural objectives as well. If you want your team to be a pillar of the tech community, then placing team-wide objectives on learning, community and culture all belong at this level.

Use team-level OKRs to define your cultural goals, e.g. the What we do here.

Hitting cascading company-wide objectives

If there are company-wide OKRs that are applicable to the Engineering team, we will ensure those KRs become Os for our team.

As an example:

Objective: Boost revenue this quarter.

  • Key result: Triggers & Automation project shipped, achieving 30% penetration rate
  • Key result: New marketing site shipped showing off all the new features
  • Key result: Churn rate down from 1.2% to 0.8%.

The one key result that is very relevant to Engineering is the first one, so that would become an objective for our team:

Objective: Ship the Triggers & Automation project in early April

  • Key result: All 6 automation types coded and tested, with 100% test coverage
  • Key result: Webhooks functionality 80% completed by automation ship date

Conclusion

OKRs are a fantastic way of aligning your team to shared, timely goals, provided they are used effectively. When setting up new OKRs for your team, care must be taken to ensure that you do not mix tasks with key results. Key results should be measurable, timeboxed, and quantifiable.

You can use team-wide goals for a variety of purposes that help further the shared goals of your team. These can be cultural goals, goals for exploring new tech, or sprinting towards a major project deadline.

References

We’re not the first tech company to embrace OKRs.