Issues in Measuring Productivity of Individual Programmers

The general research finding of 10x differences in programmer productivity have led some people to want to measure the productivity of individual programmers in their organizations. For better or worse, the issues involved in measuring “live” programmers are quite different from the issues in measuring productivity for research purposes.

Software engineering studies normally measure productivity in terms of time to complete a specific task, or sometimes in terms of lines of code per effort-hour, staff-month, or some other measure of effort. When you try to measure productivity in any of these ways in a commercial setting, you’ll run into complications.

Productivity in Lines of Code per Staff Month

Software design is a nondeterministic activity, and different designers/developers will produce significantly different designs in response to a particular problem specification. Measuring productivity in lines of code per staff month (or equivalent) implicitly assumes that writing 10 times as much code to solve a particular problem means a programmer is 10 times more productive. That clearly is not always true. One programmer might have had a brilliant design insight that allowed him to satisfy the problem using only 10% as much code as a less capable programmer.

Some commentators have asserted that great programmers always write less code. Indeed, there probably is some correlation between programming excellence and code compactness, ...

Get Making Software now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.