O'Reilly logo

Making Software by Greg Wilson, Andy Oram

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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, ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required