“If you can’t measure it you can’t manage it” said someone – and everyone repeats ever since. Part of that is a mania for metrics, which affects also many in the software industry. Those affected by it uphold that without measuring KLOCs, defects per KLOC and all other metrics it’s not possible to deliver good software. There are some very scientific discussions going on LinkedIn Answers and elsewhere about which of the cryptic sounding metrics is best and should be meticulously applied, usually using some quite expensive tools.

I would rather say that you can’t manage anything until you first know what you want to get and what is it that you manage. People trying to apply metrics, especially automated metrics, as a tool for managing software development do not realize that programmers are not machines and software is not made, it is created. Hence all the management methods , theories and measurements right for the assembly line just don’t apply.

Managing programmers is quite a different challenge – someone said it’s like herding cats. There is a lot a good manager can do, but metrics of any kind can be only of minor help. The biggest challenge is to get bright people who care for the code – and get them to care for the code they create for you. If they do they’ll apply all the right engineering practices. If they don’t no metrics will help – the result will be crap.

It’s not that metrics are useless. They do show something. Bugs should be tracked and maybe counted. Percentages of all kinds can be counted as well. However, they are just an indicator of something – and not the most important one. And they are just a side tool, not the product. They should never be blown of their right place or context. And never ever should any  of these metrics be be linked with a reward/bonus system.

Why? Because good software is a bit like a good meal or good architecture. It’s something that can’t be strictly measured. Good code is, for example, usually a smaller code. So measuring programmers output in lines of code makes no sense whatsoever. A programmer that introduces many bugs might be worth his weight in gold because he might be good in introducing creative solutions to the software. Just metrics won’t tell you that.

Not everything that counts can be counted, and not everything that can be counted counts.” read on a plaque in Albert Einstein’s office. Metrics-maniacs should keep that in mind when they get too carried away with their bar charts.