Minus 2000 lines of code
Apr. 27th, 2014 07:06 pmThere's an entertaining anecdote from the early days of the Apple Lisa and Macintosh computers relating to counting lines of code as a measure of productivity. The story involves Bill Atkinson, the creator of Quickdraw and Hypercard. Apple management had asked their programmers to fill out a form each week stating how many lines of code they had written that week:
After completely re-writing Quickdraw's region calculation routines, making them six times faster while saving 2000 lines of code, Bill was asked to fill out the weekly productivity form. So he dutifully wrote "-2000" as the lines of code written.
A few weeks after that, management stopped asking him to fill out the form.
Trying to measure programmer productivity is a hard problem. Any objective metric, like lines of code, number of tickets serviced, bug reports closed, etc., can either be gamed by the programmer or is vulnerable to social manipulation.
Bill Atkinson, the author of Quickdraw and the main user interface designer, who was by far the most important Lisa implementor, thought that lines of code was a silly measure of software productivity. He thought his goal was to write as small and fast a program as possible, and that the lines of code metric only encouraged writing sloppy, bloated, broken code.
After completely re-writing Quickdraw's region calculation routines, making them six times faster while saving 2000 lines of code, Bill was asked to fill out the weekly productivity form. So he dutifully wrote "-2000" as the lines of code written.
A few weeks after that, management stopped asking him to fill out the form.
Trying to measure programmer productivity is a hard problem. Any objective metric, like lines of code, number of tickets serviced, bug reports closed, etc., can either be gamed by the programmer or is vulnerable to social manipulation.