Productivity in programming of C++ programmers

N

N4M

Dear,
May I ask how productivity of a(C++) programmer can be measured?
If it is measured by number of code lines per day, what are the
estimated productivity of a programmer at beginer, intermediate (Me),
advance, master, guru,and sifu (B.Stroustrup, H.Sutter, S. Meyer)?
Thanks for your guidance.
NguyenMai

P/S: Similar post has been sent to comp.lang.c++.moderated (probably
takes longer time)
 
P

Phlip

N4M said:
May I ask how productivity of a(C++) programmer can be measured?

Do you want to rate individuals, or improve user productivity early and
often?

If the former, either run tests, or ask team members to vote on who, besides
themselves, helps the team the most.
If it is measured by number of code lines per day,

A line of code is _spent_, not gained.

To measure a team's productivity, every Monday select a few features of
highest business value. Spend the week implementing them, while writing unit
tests. Don't allow any code that does not support the current and new
features to remain in the codebase. Do not count lines, or reward based on
any ramp in line count. It should curve over (y^2 = x), not up.

On Friday, count the number of features implemented, burn a new version of
the program onto a CD, and pretend to deliver it.

Because this code is bug-free, and contains high-priority features, your
business managers have the option to deploy it to users. Whether they do or
not, the version should demonstrate the ability to boost user productivity.

The team's "velocity" is their number of features per week. Improve this
number by programming in small groups, not alone in individual offices, by
continuously integrating, and by passing all the tests between the fewest
possible edits, say 10 at the most.
what are the
estimated productivity of a programmer at beginer, intermediate (Me),
advance, master, guru,and sifu (B.Stroustrup, H.Sutter, S. Meyer)?

Tests have shown an order of magnitude improvement between intermediate and
guru level. Credit those authors with the experience to rarely get stuck,
but Bjarne shouldn't be revered if he didn't invent a language that others
could benefit from.

The best way to keep a team fast is to allow its gurus' influences to spread
rapidly. Keeping them alone and watching them shred is irrelevant to team
progress. And some folks are faster in some domains than others.
 
P

Peter van Merkerk

N4M said:
Dear,
May I ask how productivity of a(C++) programmer can be measured?
If it is measured by number of code lines per day, what are the
estimated productivity of a programmer at beginer, intermediate (Me),
advance, master, guru,and sifu (B.Stroustrup, H.Sutter, S. Meyer)?

Lines of code is the worst metric to measure a programmers productivity.
It stimulates wrong behavior; you don't want programmers to maximize the
number of lines of code to accomplish a certain task.
 
P

Phlip

Peter said:
Lines of code is the worst metric to measure a programmers productivity.
It stimulates wrong behavior; you don't want programmers to maximize the
number of lines of code to accomplish a certain task.

One Peter Merel put it like this; "If you reward by lines of code,
programmers will automate code generation..."
 
O

osmium

N4M said:
Dear,
May I ask how productivity of a(C++) programmer can be measured?
If it is measured by number of code lines per day, what are the
estimated productivity of a programmer at beginer, intermediate (Me),
advance, master, guru,and sifu (B.Stroustrup, H.Sutter, S. Meyer)?
Thanks for your guidance.

I don't like wading around in philosophical swamps, but anyway ....

Note that the desired end result of programming is performing some function
thought to be useful, not lines of code. The better programmers may produce
less lines of code for the same end result. And the smallest program of all
may be the "worst" since it may be unmaintainable by ordinary mortals. And
on and on ...

So you have chosen a bad metric. And furthermore, some things can't be
measured, which does not diminish the *desire* to measure. I am fascinated
by what makes a woman beautiful, unfortunately I think I will go to the
grave no smarter on that issue than I am right now.

I can think of two ways to quantify, more or less, this issue. The opinion
of peers, or some kind of contest. Example:

Write an equivalent to Pretty Good Privacy. But some of the entrants will
have more prior knowledge than others, so several contests would ne needed.
 
G

Gernot Frisch

May I ask how productivity of a(C++) programmer can be measured?

Assume a time it might take for a certain task, then set a deadline at
half of that time. You will have to give time to finish the problem
(that's the other half of the esimated time).
Then pay your programmer for the time worked, or pay per project (and
you will get buggy crap)

Honestly, I don't think there's any way of measuring our work. You can
only trust or don't. And if you think someeone's too slow (in
comparison to others in your office) ask him/her about it.

-Gernot
 
T

Thomas Matthews

N4M said:
Dear,
May I ask how productivity of a(C++) programmer can be measured?
If it is measured by number of code lines per day, what are the
estimated productivity of a programmer at beginer, intermediate (Me),
advance, master, guru,and sifu (B.Stroustrup, H.Sutter, S. Meyer)?
Thanks for your guidance.
NguyenMai

P/S: Similar post has been sent to comp.lang.c++.moderated (probably
takes longer time)

Productivity must be measured along with other attributes.

I could crank out lousy code all day and be productive.

I could spend a day optimizing the code for speed or space when
optimization is not necessary.

I could spend a day reviewing other people's code. Yet I have
no quantitative or tanglible data for a metric. I know I've
helped in the overall productivity, but alas, it isn't measured
until the end.

I could spend my time writing quality code, yet not be very
"productive". I can spend my time writing robust code without
generating any data for the metrics.

Somethings in programming are more important than being
measurably productive.

--
Thomas Matthews
Software Rebel.

C++ newsgroup welcome message:
http://www.slack.net/~shiva/welcome.txt
C++ Faq: http://www.parashift.com/c++-faq-lite
C Faq: http://www.eskimo.com/~scs/c-faq/top.html
alt.comp.lang.learn.c-c++ faq:
http://www.comeaucomputing.com/learn/faq/
Other sites:
http://www.josuttis.com -- C++ STL Library book
 
G

Gary Labowitz

Somethings in programming are more important than being
measurably productive.

Yes. At IBM, many years ago, there was an attempt to measure programming.
They counted lines of code, percentage of comments, hours spent on
compilation, overtime put in, etc. Nothing made any sense. [When they
measured comments, claiming a good program would have 75%, there were
statements like
"LR reg7,reg9 load register 9 into register 7"]
The result? No answer. However, our team had exactly one bug reported in the
first year our code was release in the wild. Some groups had hundreds and
hundreds. Who was more productive? [I might add we delivered one week early,
which was the only time it ever happened!]

End result: the guys that were on good personal terms with their managers
got awards and raises. I think final salary is the measurement you are
looking for.
 
S

Steven T. Hatton

Thomas said:
Productivity must be measured along with other attributes.

I could crank out lousy code all day and be productive.

I could spend a day optimizing the code for speed or space when
optimization is not necessary.

I could spend a day reviewing other people's code. Yet I have
no quantitative or tanglible data for a metric. I know I've
helped in the overall productivity, but alas, it isn't measured
until the end.

I could spend my time writing quality code, yet not be very
"productive". I can spend my time writing robust code without
generating any data for the metrics.

Somethings in programming are more important than being
measurably productive.

I've discovered that more often than not, my third attempt at the same
problem results in far less code than the first. IOW, the better my code
gets, the less of it there is.
 
P

Pete Becker

N4M said:
May I ask how productivity of a(C++) programmer can be measured?
If it is measured by number of code lines per day,

By that measure, my productivity is often negative. I consider those to
be very good days.
 
P

Phlip

Pete said:
By that measure, my productivity is often negative. I consider those to
be very good days.

You ... refactorer, you!

A mis-reported legend of Microsoft's early years: They did a joint project
with IBM, somewhere in England, and those wacky youths got in trouble with
the IBM fuddy-duddies for everything from coffee makers on their desks to
negative line counts. After finishing a feature (and pumping up the count),
they would refactor and minimize things, and the count would drop again. IBM
probably employed entire resources to track these numbers, and they were not
amused.
 
D

David Hilsee

N4M said:
Dear,
May I ask how productivity of a(C++) programmer can be measured?
If it is measured by number of code lines per day, what are the
estimated productivity of a programmer at beginer, intermediate (Me),
advance, master, guru,and sifu (B.Stroustrup, H.Sutter, S. Meyer)?

Sutter's currently able to produce about 250 lines of code per hour.
Meyer's a close second, at 220, and Stroustrup's trailing behind at about
100 lines per hour. Meyer is working on his typing skills, so it is
expected that his productivity will soar very soon. Stroustrup is focusing
on the next revision of the standard so he can gain a surprise boost when it
is released. Stay tuned for more productivity updates on The Programmer
Racing Channel.
 
P

Phlip

David said:
Sutter's currently able to produce about 250 lines of code per hour.
Meyer's a close second, at 220, and Stroustrup's trailing behind at about
100 lines per hour. Meyer is working on his typing skills, so it is
expected that his productivity will soar very soon. Stroustrup is focusing
on the next revision of the standard so he can gain a surprise boost when it
is released. Stay tuned for more productivity updates on The Programmer
Racing Channel.

hehehe - look up "Novel Writing" by Monty Python ;-)
 
C

ChadBl

Simple formulas...

Developer + cubicle (noise, distractions) = nonproductive
Developer + newest compilers or latest tech fads = nonproductive

Developer + quiet office = productive
Developer + standard tools and compiler that she's/he's used for the last
few years = productive

A good developer will take more time to do a job right the first time around
(measure twice, cut once). Basically, you get what you pay for, and that
includes allocating enough time for a developer to write good code.
 
L

lilburne

Pete said:
By that measure, my productivity is often negative. I consider those to
be very good days.

We only count the amount of code removed as a measure of productivity.
The one who removes the most is given the title "Edward Scissorhands".
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,066
Latest member
VytoKetoReviews

Latest Threads

Top