Setting Goals For Improvement - Leading vs. Lagging
Many organizations are becoming agile to improve quality, throughput or many other good things that agile brings along. It thus seems trivial that if we want to measure our improvement we will measure these. However this raises a difficulty and we need to look at it.
Let's say we want to improve quality. We decide to use the Scrum framework. The scrum framework talks about sprints, sprint goals, daily scrum and many other things, yet it doesn't directly discusses quality. There is a leap of faith here: we believe that if we will use the scrum framework, quality will improve.
Quality, throughput, agility and others are what we call Lagging indicators. They will change as a result of the things we do. We do not affect them directly. If my boss wants me to have higher quality I cannot just do that, I need to do things like testing, refactoring, reviewing etc. and then quality will improve.
So what should we measure?
We should look for leading indicators. Indicators that we can directly impact by the things we do. For example, do we do code review? What is our test coverage? how long does it take for our tests to run? how many items of the sprint's backlog were done by more than one person? How many people from the organization show confidence in the bi-monthly goals (if too low, let's adapt it)?
Once we identify our leading indicators (according to the practices we want to focus on) we can have direct and tangible measurements. Our belief is that once we near our leading indicators goals, the lagging indicators will follow.
If this is interesting you I strongly recommend reading Jesper Boeg's Level Up Book that talks exactly on this (and how to do it).