Reaching for the sky

PortSwigger OKRs

We use OKRs to help us think big and to drive our delivery.

Each period (for most teams, each quarter) we decide on the things that really matter to us. These are the things that we really want to do even if we don't manage to do anything else.

We identify our objectives (O) and the key results (KR) that we'll use to measure whether we were successful. Then we continuously track our progress by scoring ourselves between 0 and 1. Through the period, this score reflects our level of confidence that we will achieve the OKR. Towards the end of the period, the score morphs into a progress bar of how much of the KRs we have actually achieved.

We work diligently with the aim of completing them, but we don't expect to manage this in every case.

There are three types of KR. As teams mature in their adoption of the OKR approach, they generally transition from measuring activities towards measuring outcomes:

  • Activities [Lowest value]. Things we do. For example, speaking to customers to gain insights; workshops with hiring teams to understand their needs.

  • Outputs [Medium value]. Things we create. For example, collateral for customers to understand the value of our products; employer brand messaging.

  • Outcomes [Highest value]. Changes that we cause. For example, more paying customers; better quality job candidates.

PortSwigger uses OKRs to support their ambition to reach for the sky

OKRs are not only about creating shiny new things. We often use OKRs to give us the discipline to pay down technical debt or prioritize preparatory work that will enable future features.

OKRs are not about sacrificing quality to enable faster output. We prefer to see an OKR slip into overdue than to rush and deliver something that is substandard. OKRs are never deadlines.

Instead, OKRs let us focus on the things that matter, de-prioritize the things that don't matter, and make better decisions about the boundary between the two.