Considering the main headline on our web site is “What gets measured gets managed”, I was interested to read Chris Loosley's post today considering whether the common claim that “you can’t manage what you can’t (or don’t) measure” is fact or fallacy.
The argument against the claim is that as a species, we manage things that we don’t measure all the time. You don’t need to measure every hair on your head, for example, to know that you need a hair cut. The flip side of the argument says that, in fact, you are applying a broad measurement to your hair every time you look in the mirror - you are comparing your own assessment of the length of your hair with what you would normally expect it to be.
Personally, I think that when people consider measurement, especially in software engineering, they tend to get too hung up on absolute values. To me, the value of measurement is in watching what happens to those metrics over time, in other words their relative values. Is having 50% unit test code coverage better than 30%? Yes, I would say it is. What is the absolute best coverage number to strive for? We don’t know.
Loosley's piece ends up quoting Tom Gilb, who states that “Anything you need to quantify can be measured in some way that is superior to not measuring it at all”. Not quite as catchy a marketing phrase as the original version, but almost certainly more accurate.