Member-only story
Three bad metrics by which to measure software developer productivity
Measuring productivity in any job is fraught with problems, even when the job has lots of associated numbers.
How do you measure, for example, how productive a census taker is? Do you deem a census taker who goes to a thousand houses but doesn’t come back with any filled out forms to be less productive than one who only goes to a hundred houses but gets all the pertinent data? I’m inclined to see it that way, but a lot more context is needed.
With software developers, there are also several numbers we can use to measure their performance. But in isolation, without context, these numbers are not very meaningful.
Number of lines of “code”
It is understandable for beginners to be proud of themselves after writing a 500-line main()
. If they progress, they should come to prefer a much shorter main()
that calls private helper functions and uses objects defined in the standard library and third-party libraries.
Most programming languages make provisions for commenting the “code” with single-line comments and multi-line comments. Blank lines and lines with nothing but comments and whitespace don’t count for the lines of “code” (LOC) measurement.