Re: programmer productivity
- From: "Ed Prochak" <edprochak@xxxxxxxxx>
- Date: 6 Sep 2006 10:09:37 -0700
Richard Heathfield wrote:
Dann Corbit said:
"Mark P" <usenet@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:osmLg.24887$gY6.9937@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Years ago I heard [...]: "The average programmer produces [X] lines of
production quality code per day." [...] My recollection is that X was
pretty small, perhaps on the order of 10. Has anyone heard this before
and do you know what the reported value of X is?
It was originally measured at IBM and their result was 10SLOC per day.
Note: this was measured independent of project types and programming
languages. It's purpose was to show that programmers were more
effective in higher level languages than in assembler.
11 lines of debugged code per day is at the low end of typical estimates
and 20 lines per hour at the high end.
My guess is that the real case will be somewhere between these two
extremes for most projects.
I was always fascinated by that statistic. It just seems so utterly at odds
with my personal reality. If I turned in only 20 lines of code per day,
then over the course of a 50 year career, with 300 working days per year, I
would expect a career total of 300,000 lines of production quality code.
Other measurements by IBM and others have shown there is a WIDE range
of productivity, both between programmers and the same programmer on
different projects. Given the wide range, the 10SLOC/day becomes
essentially meaningless. It is an average, but the standard deviation
is too big to make it useful.
Not that I was counting, but I estimate that I passed that milestone within
three years of beginning my programming career. And I'm not trying to boast
here - I've met plenty of programmers who can churn out high-quality code a
fair bit faster than I can.
Early in my career, but enough into it that I had worked at a couple
places, and I had worked parttime on getting my masters degree. I found
I still had done more lines of code for school than for work. (I had
been doing software fulltime for about 8 years.) Documentation,
reviews, system maintenance, requirements reviews, and all kinds of
other stuff reduced my programming time at work, but school
assignments were usually well defined with clear success criteria,
making the upfront preparations much shorter, and coding a larger
portion of the work.
So I really don't see where that number comes from.
Oh, wait a moment...
Okay, flip side. Feb or Mar 2000. 450 lines or so of (extremely buggy) code
that took eight people six months to write. Call it 1000 person-days.
That's 0.45 lines per day. (It took me a single day to rewrite the thing
from scratch, so that it did the job properly, a thousand times faster, and
trust me, it wasn't hard.)
Okay, maybe I do see where that number comes from. :-)
--
Richard Heathfield
I found rewriting somethings easier too, but one reason for that is we
benefit from the research gone into the first version. It recalls the
old adage:
throw away the prototype.
Too bad that isn't done more often.
Ed
.
- Follow-Ups:
- Re: programmer productivity
- From: Phlip
- Re: programmer productivity
- From: Richard Heathfield
- Re: programmer productivity
- References:
- programmer productivity
- From: Mark P
- Re: programmer productivity
- From: Dann Corbit
- Re: programmer productivity
- From: Richard Heathfield
- programmer productivity
- Prev by Date: Re: modulo
- Next by Date: Re: Computing in finite fields: what programming langage to choose?
- Previous by thread: Re: programmer productivity
- Next by thread: Re: programmer productivity
- Index(es):
Relevant Pages
|