Martin Fowler has just published a post discussing this topic. http://martinfowler.com/bliki/CannotMeasureProductivity.html
He makes several good points about the fact that people have been trying to measure software productivity for a very long time. The first attempts were lines of code, but of course we all know the fallacies of that. In fact, we now believe that fewer lines of code is better than more lines of code.
Another attempt at productivity is function points. Again, just like lines of code, this can be very misleading. If a developer duplicates lots of code, they will have many function points, but I think we all agree that their code is not better.
At the end of the day, the only measure of productivity should be business value. It doesn’t matter how many lines of code I produce or how many function points or anything else, it all comes down to business value in the end. Once you know the business value, then you may start to evaluate the productivity of a developer. And again, even this is hard. Most developers work in teams, and therefore it is difficult to assess the productivity of a single developer.
Many managers complain that if they can’t measure it, they can’t manage it. Martin calls this a cop out. Businesses manage things they can’t really measure all the time. Company lawyers, marketing department, educational institutions. And yet they still figure out a way to manage these.
Martin also references an article written by the Economist that assessed productivity increases in business due to computer investments in the 90s. The article was written in 2003, and it wasn’t until then businesses were seeing the benefits of investments they made in the 90s. So not only is it difficult to measure the productivity, but there is a huge lag on seeing the returns.
I agree with Martin’s conclusion that we need to admit our ignorance here. It’s very difficult to measure our productivity, so therefore it makes selling our services that much harder.
And here’s another post that covers a very similar topic. The author has been asked to measure development many many times. He has tried various measures, but none of them have worked. His conclusion is similar to Martin’s and mine, you just can’t effectively measure software development.