Sunday, March 22, 2009

Metric System

One of the larger conflicts between programmers and management is on how to measure programmer value - who is a good programmer and who isn't.  Aside from the ego and paycheck issues, it's still a touchy subject, usually because the metrics that management usually chooses to use are typically measuring the wrong things.

One of the oldest metrics is Lines of Code (LOC, or more commonly KLOC).  Now, KLOC may be a good way to compare the complexity or effort, after the fact, of a team's work on different projects, but it's not a good measure of individual programmer productivity.  There are just too many variables.  It's also very easy to game the numbers - if your boss is going to rate high KLOC numbers as good programming, your programs will be longer.

That's another point - programmers are very good at recognizing the rules of a system and gaming them.  Given the strong correlation between programming and role-playing games, it's foolish to think that we won't find a way to mini-max the metric.  KLOC? Put everything on its own line.  Function Points?  Every method will be as complex as possible.  Etc, etc.  The only way to have accurate metrics is to decouple them from programmer pay and promotion.

So what if you need to measure improvement?  Here's one option, and another.  And in case you need ammunition to get off a Death March, there's this.

Technorati Tags --
, , ,

No comments: