473,657 Members | 2,473 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Productivity in programming of C++ programmers

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++.m oderated (probably
takes longer time)
Jul 22 '05 #1
51 3524
N4M wrote:
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.

--
Phlip
http://industrialxp.org/community/bi...UserInterfaces
Jul 22 '05 #2
N4M wrote:
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.

--
Peter van Merkerk
peter.van.merke rk(at)dse.nl
Jul 22 '05 #3
Peter van Merkerk wrote:
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..."

--
Phlip
http://industrialxp.org/community/bi...UserInterfaces
Jul 22 '05 #4

N4M <dn******@yahoo .com> wrote in message
news:6e******** *************** ***@posting.goo gle.com...
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.

Jul 22 '05 #5
> 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
Jul 22 '05 #6
N4M wrote:
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++.m oderated (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.l earn.c-c++ faq:
http://www.comeaucomputing.com/learn/faq/
Other sites:
http://www.josuttis.com -- C++ STL Library book

Jul 22 '05 #7
"Thomas Matthews" <Th************ *************** *@sbcglobal.net > wrote in
message news:kG******** *******@newssvr 16.news.prodigy .com...
N4M wrote:
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
<<snip>> 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.
--
Gary
Jul 22 '05 #8
Thomas Matthews wrote:

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.
--
STH
Hatton's Law: "There is only One inviolable Law"
KDevelop: http://www.kdevelop.org SuSE: http://www.suse.com
Mozilla: http://www.mozilla.org
Jul 22 '05 #9
N4M wrote:

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.

--

Pete Becker
Dinkumware, Ltd. (http://www.dinkumware.com)
Jul 22 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

38
3725
by: kbass | last post by:
In different articles that I have read, persons have constantly eluded to the productivity gains of Python. One person stated that Python's productivity gain was 5 to 10 times over Java in some in some cases. The strange thing that I have noticed is that there were no examples of this productivity gain (i.e., projects, programs, etc.,...). Can someone give me some real life examples of productivity gains using Python as opposed other...
4
2257
by: bruce_taylor | last post by:
Please forgive me if this is a little off topic, but I'm trying to reach a population of active programmers and this newsgroup is an popular gathering place. I am conducting research on the relationship between some components of organizational culture and the productivity of individual programmers, development teams, and software companies. If you would be willing to take 5 minutes to answer a few questions, you would help me very much...
4
2154
by: Claudio Grondi | last post by:
In todays posting "Any wing2.0 users here?" I found in the sentence "What can you say about this IDE? He say's 'if I think it could improve my productivity he's willing to buy it for me." the indirect question: Can a better Python IDE increase programmers productivity?
7
2384
by: Connelly Barnes | last post by:
Hi Python folks, I created a summary PDF of two studies on programming language productivity: http://barnesc.blogspot.com/2006/05/programming-language-productivity.html One notes that Python and Perl are the two best languages by the "number of hours to solve problem" metric. I ran into these studies when I was learning Common Lisp, and Googled "lisp
0
8397
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8310
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
7333
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6167
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5632
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4158
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
2731
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
1957
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
2
1620
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.