The topic of OKR’s for quality have come up in multiple different contexts, across multiple clients, recently so perhaps it’s worth exploring.

First of all, “quality” is a nebulous label that means many different things for different people, so when I hear that we’re establishing an OKR for quality, it’s unclear exactly what’s meant.

Jerry Weinberg defines quality as “value to some person”, which is still nebulous but puts us on a better path. We have to consider who we are doing this for and what things they value.

I think we can all agree if we’re talking about a product and it has defects then that’s not quality. If it doesn’t do what the customer needs it to do, that’s also not quality. It it introduces too much friction and makes it more difficult for the user to do what they need, again that’s not quality.

So if we’re making an OKR then we have to come up with some specific measurements (the KR’s or Key Results), and this is where having quality as an Objective is challenging. Very few of the things that make up quality can be measured in a quantitative way - most of them are qualitative.

We can certainly measure a count of defects, and we can measure the arrival and departure rates of defects but then we’re very quickly out of things we can easily measure numerically.

For software products, people will often want to include code measurements like code coverage or “days of technical debt” as reported by SonarQube, or other health metrics, but these miss the point. Quality is value to a person and when we’re talking about OKR’s, that person is going to be a customer, not a developer. They don’t care about code metrics, or about any of the internal details. They care about how the software solves the problems that they have.

Software quality is a real thing and we should also consider that. The point is that when we’re talking about OKR’s, we’re usually talking about management objectives, not development ones.

What we need here are qualitative measurements and that requires actually talking to our customers, and not just measuring some numbers. Is the product working well, with little friction? Does it help our customers do the things they’re trying to do? Do they find that it helps them or gets in the way?

I love the idea that we set quality as an objective. We just need to recognize that this is a non-trivial thing to measure and that the KR’s are going to take real effort to collect.