Navigating performance measurement

I just read an excellent article: "Trade-offs between Productivity and Quality in Selecting Software Development Practices" by McCormack, Kemerer, Cusumano, and Crandall (http://bit.ly/3IqF8d).

This article, like many that explore software productivity measurements, has some KLOC metrics littered throughout the article (along with some other engineering metrics) to evaluate programmer output. Most metrics, that can be applied to software development, are somewhat superficial. They can be gamed and they're usually only valid in like development efforts. However, I'd like to discuss in a bit more detail why KLOC-type is as good as anything if we're talking about THAT kind of measurement. Then, let's look at ROI and find out where it can help and hurt.

KLOC (Thousand Lines of Code) is a simple way to measure what a programmer does. It's like measuring a ditch-digger by the cubic feet of soil he moves. However, it misses most important aspects of what comprises a programmer's output, including complexity, quality, usefulness, etc.. and it's usually pretty easy to game. The key reason to use this for measurement, isn't that it is perfect, however. Just that it can separate what a programmer is trying to program from how quickly he can write the program. What needs decided is whether a line of code added represents a additional unit of productivity for the developer.

ROI measurements are for those who believe any measurement that doesn't describe the amount of money yielded by the software development effort (or at least a software product having more utility) is pointless. A million programmers could work for a million years and if they don't create something useful then their productivity is zero. That's an extreme position. Mary Poppendieck said it more reasonably here (http://bit.ly/TjZVh): "To measure the real productivity of software development, we need to look at how efficiently and effectively we turn ideas into software."

A future article will talk about the efficiency and effectiveness of delivering software. For the time being, consider the amount of work associated with setting up a continuous integration server and regression tests, which the aforementioned article by McCormack, et all.. correlates to improved productivity. How does that work get incorporated into either the KLOC or ROI viewpoint of productivity?