I have to admit I am not a big fan of metrics. Not because I think metrics are not good but because if the wrong metrics are measured your software project can be hindered by promoting the wrong behaviors. Also, metrics make lazy managers really bad managers. But lazy managers let alone bad managers don’t exist so we won’t have to worry about that.
If the metrics are chosen correctly, i.e. not by a suit, then metrics can be a lot of fun because coding becomes a game. Who doesn’t like games!
Alberto Savoia wrote a post titled “Selecting Developer Testing Metrics” for DeveloperTesting.com. In his article he covers what behaviors he wants to encourage for measuring testing and what indices he used.
I really liked Alberto’s idea of using positive metrics and not negative metrics i.e. numbers that will go up when you are doing something right and not down.
Alberto promotes using a very simple index and compares his index to the DJIA (Dow Jones Industrial Average). I agree with the need to have a very simple indicator, like an index, to get an overall view of how things are going. But like the DJIA has information about everything that makes up the value of the DJIA at your fingertips, I feel you also can’t only have a general index as a metric for measuring software projects without an explanation of why the value is at the level it is at.
Here is a quote from Alberto’s post that summarizes well how to choose metrics and how to manage them:
“The most important thing to remember when developing your own metrics is to always start with a clear description of the results or behaviors that you want to achieve, and then to determine how those results and behaviors can be objectively measured. The next critical step is to try to keep all your metrics simple, positive, controllable, and automatable. This might not be possible in all cases, but it is essential to understand that your chance of success with any metric is highly dependent on these four properties.”
Now, if only we can put a scoreboard in between the lava lamps so that everyone in the office can see how development is going! :-)
Related Links:
10% of our revenue from these ads go towards scholarships!
CUSEC is the Canadian Undergraduate Software Engineering Conference created to promote software engineering in canada at the undergraduate level. CUSEC 2005 is being held this year in Ottawa, Canada.
Sign-up to our monthly newsletter so you can keep up with the latest articles on software engineering and our conference (CUSEC).