Time spent is about expertise developed: Programmer productivity is an education problem
Joel Spolsky argues that the time spent on an assignment by students is not correlated with the results. This is part of his argument that there is a 5x to 10x productivity gap between the best and average programmers.
There’s just nothing to see here, and that’s the point. The quality of the work and the amount of time spent are simply uncorrelated. I asked Professor Eisenstat about this, and he pointed out one more thing: because assignments are due at a fixed time usually midnight and the penalties for being late are significant, a lot of students stop before the project is done. In other words, the maximum time spent on these assignments is as low as it is partially because there just aren’t enough hours between the time the assignment is handed out and the time it is due. If students had unlimited time to work on the projects which would correspond a little better to the working world, the spread could only be higher.
I did my Blog@CACM post in November on this argument (see the post here). Joel is measuring the wrong thing in his experiment. Time spent doesn’t correlate with quality. Time on task correlates with learning. More knowledge correlates with greater quality, but you don’t know much about how much is already known by the students in the class that he’s studying. Therefore, you can’t possibly make an argument about productivity when the critical variable is unknown.
There may be a productivity gap between the best and average programmers. There’s a productivity gap between the best and average practitioners in any field. The issue is whether we can generate the performance at the top end. Can we make someone highly productive? It’s a design problem. It’s an education problem.