How Do You Define “Good Productivity” for Software Developers?

When I started running in my twenties, I was using a treadmill and doing 10 minute miles for three or four miles. I felt pretty good about that. Then I ran a five mile race and I found out that 8 minute miles for a longer run were kind of the minimum for a pretty good recreational runner, so that’s what I ran after that.

Now, my son runs high school cross country and 5 ½ minute miles for a 5k (3.11 miles) is pretty much where you need to be to be competitive. Benchmarks are set and each year new freshmen come in and shave minutes off their times to meet the established standards.

Basically, how good is “good” is a matter of perspective and benchmarks. Measuring speed, of course, is very easy and very objective. There are teammates and years and years of records to compare to, so it’s easy to say what good is.

With software development, we really don’t have a great way of measuring “good” productivity. Sure, we can measure quality and ability to meet commitments, but how do we know the productivity was good? And how do you incent people to be good?

How can we tell the difference between the developer who runs the 10 minute miles (and he looks good doing it) and the guy who runs the 5 minute miles? How do we reward them?

Do you ever feel like your developers are walking at a 20 minute mile pace and passing it off as “running”?