If we hope to be able to measure productivity in some quantifiable way, we must first appreciate what it means to be “more productive.” If I say that programmer A is “five times” more productive than programmer B, I mean that programmer A can finish a programming task in one-fifth the time it takes programmer B to finish it. Stated differently, it would take a team of five B programmers to keep up with programmer A.
Let me go one step further and define the concept of “perfect productivity.” A programmer is perfectly productive if he can perform a task in the same time it takes to specify it. There is no fat in the implementation. The code corresponds directly to the specification of the problem. The obvious corollary to perfect productivity is perfect maintainability. Code that corresponds directly to the specification of the problem can be modified as quickly as the specifications are changed.
Watching a programmer practice perfect productivity is like watching a court reporter. Both continue typing until the speaker takes a breath. Then they both stop and wait. There is a direct translation between words (specification) and keystrokes.
Perfect productivity is, of course, a fantasy, as is perfection of any sort. Being a fantasy, however, does not eliminate it as a goal. It is always our goal, and it should be yours.
— Gary A. Bergquist, The Zark library of utility functions