“Not everything that can be counted counts, and not everything that counts can be counted” – Albert Einstein
The software development industry has a poor track record for developing and employing effective software metrics. This is because most of the metrics selected are tangential to the true goal of software development--delivering business value--and instead focus on software attributes and accounting measures.
Metrics such as lines-of-code per developer week, function points created, hours worked or budget consumed appear to be important measures, but they have dangerous and counterproductive implications. The use of these metrics reward the wrong behaviour; the phrase “you get what you measure” highlights the problem. By tracking lines of code written, visible and unconscious incentives to generate lots of code are established. On the surface, this may seem attractive. As a manger of a project, it is gratifying to see lots of code being written. But what is really required is functionality completed, business value generated and customers satisfied.
The more code generated, the harder a system is to maintain and extend. With incentives like lines-of-code written, how do value-adding activities like refactoring simplifications appear? Reducing 20,000 lines of code to 15,000 is a good thing, but
Please log in or sign up below to read the rest of the article.