Is butter harder?
This has been the focus of many Canadians lately, as their butter isn’t spreading across bread or club crackers (which I personally love) as they expect.
But, what I don’t love is crackers breaking as I spread butter on them. Harder butter makes that more likely, so this hard butter issue is obviously important. But when testing for hard butter, you should immediately ask, “how hard was it before?”
Ironically, the Canadian government wasn’t tracking the hardness of butter. Of all the things that could be tracked, the hardness of butter should be one of the most important. We don’t want hard butter; we want easily spreadable butter.
As to why butter is harder in Canada is unknown. Some people theorize it is the diet being fed to cows right now. No one really knows, but we also don’t know if the butter is actually harder. No one was tracking the metric.
Software development can be similar. We can have hunches. We can think things are going better or worse. And our hunches are often correct. But I also believe it is important to realize how limited we are when we don’t have good insights.
With good metrics, we can gain three things.
First, we can be more confident in what went wrong (or went right). Our insights might be correct, but having metrics that can confirm our suspensions is really useful. Instead of just thinking we might be right, we can have objective data that confirms our suspicions.
Second, metrics can provide early indicators of problems. Instead of waiting for a problem to manifest, good metrics can point out these problems before they become bigger problems.
Third (and maybe the most important), metrics can provide goals for us to drive toward. If we have metrics that can help inform positive behavior, they can keep us moving toward those positive behaviors.
We do have to be careful not to create or follow metrics that lead to negative behaviors. For example, I know of a company that created a metric comparing bugs found in development vs. bugs found in production. The metric caused the team to start writing up more bugs in development, basically marking everything as a bug to improve the ratio when comparing bugs found in production. We should only want metrics that drive positive behaviors.
If we are not tracking various aspects of our work, we are often driving blind. We might have a few good insights, but we will only have our insights. With objective metrics, we can make more informed decisions.