Read on to get an introduction to OKRs as a method, what the heck a Software Engineer does and OKRs examples for Software Engineers that can be applied to your own company.
What is an OKR?
OKR stands for Objectives & Key Results and is a goal-setting method with a set of best practices. It emphasizes transparency, high ambition and a strong focus on results & data and is famous for being the method of choice of tech companies like Google and Twitter. Nowadays spread to a vast variety of industries, even non-profits like Bono’s ONE Campaign and The Bill & Melinda Gates Foundation.
How do you set an OKR?
The OKR consists of one Objective and a set of Key Results. The Objective can be seen as the small mission statement / the expectation of where you want to go, expressed in soft terms, whereas the Key Results are the factual results that needs to be accomplished to deem the Objective successful. In short, OKRs are a great way to clearly state “what success looks like“. Progress is then measured on each Key Result and is rolled up to an average profit of the Objective. It is recommended that you set between 2-4 key results per Objective.
In Node’s setup, OKRs are set everywhere in the organization where you want to drive and measure meaningful change and then aligned cross-functionally between roles, teams and departments using Focus Areas.
OKR for Software Engineers
Software Engineer, aka Developer, Coder is a broad role. In any case, you deal with code, but looking closer into the role, it spans many areas in a business. Working with new as well as existing systems you design, implement, test, manage and iterate the code to produce even better experiences for the end user. You also have a core role in design discussions and decisions made on future directions of software updates and development. The role bears a big part of the production responsibility for the code in software systems and products. This includes the product but also guiding the user stories on what to build.
In most cases, the Software Engineer lacks direct reports. Often part of the engineering team of the company, reporting to the Head of Engineering, CTO or applicable team lead roles (in larger companies). The Software Engineer has multiple stakeholders to whom it needs to deliver value. So outside of the clear functional structure, you find them in any teams where software needs to be developed or managed.
Challenges with Software Engineering OKRs.
A common challenge is that it is often hard to create a creative environment where the Software Engineer can move from just completing a task list to engaging in truly creative change. One way to tackle this is to acknowledge the time needed for the developer to focus on their project has a different set of challenges compared to other roles, read more about this in the great article by Paul Graham’s “Maker’s schedule, manager’s schedule“.
Another challenge is making sure that the OKR becomes an ambition about change, not only a task list of business-as-usual. OKRs are especially great at visualizing this, as it demands a set of results, not activities, to be set.
Meaningful change for Software Engineers
The OKR is about creating results towards a meaningful change, so what could be some good examples of this Software Engineers? Here are some common areas we’ve found:
- Overall code health
- User value
- System integrity/security
- Time, Cost and Quality in projects
- Way of working (collaboration, efficiency and effectiveness)
- Strategic development in our technologies.
- Acquire additional skills and increase competency to create more business value.
- Build company capabilities (can be everything from brand value to team size)
Useful metrics of meaningful change include:
- Code Health: % bugs/tickets tested, total test coverage, Line Impact
- User Satisfaction: CSAT, CES, NPS, Retention
- User Adoption: Usage of specific products/features, Signups, Upgrades
- Task Success: % completion, hypothesis validation, lead time
- Speed of software: TTFB, LCP
- Quality in Projects: story points completed, open to closed ticket time, release cycle time, Value Metrics / Total cost of development
- Strategic Development: Closed User Story Tickets / Closed Issues Tickets
Of course, there are many other metrics for this role, but the above are some good examples of metrics that signal meaningful change and hence make out a good starting point for developing OKRs.
Set OKRs for Software Engineers
When you set out to create a role-specific OKR, knowing what the role is responsible for driving for the company as well as how that meaningful change is measured is a good starting point. Hence the two previous headlines. But you need something more. You need a current state.
Think about the current state of things, from the perspective of your role + the company. Ask yourself – what brings business value? The OKR Canvas lets you list the impact that you see you can achieve during the coming period, but also the blockers that are plausible and that you need to address. Sometimes, the impact is to remove a blocker. Check out our OKR Canvas to learn more.
OKR Examples for Software Engineers
As stated above, OKRs should be used to drive meaningful change. Here comes a set of examples, with a corresponding introduction to the underlying reasoning behind the OKR (developed with the OKR Canvas):