If 5 chairs can be made out of 2 m^3 raw wood, and every chair will be sold for 50 � and every m^3 wood costs 5 �, we say that the productivity in this business is 5/2 = 2.5 [Chairs/m^3] wood, and the profitability is (50� * 5)/(5� * 2) = 25. (Good deal, I'd like to make it.
).
This is a very simple example about productivity and profitablility. Real things are not always that intuitive. We've modeled the productivity and profitability of a super market in several ways, which all make good sense. Now the question comes: How do you measure the productivity and profitablility of a software developer? The profitability, I think, is easy to form, take it as [(the brutto or netto
profit in � of the software one developed) / ( the salary in � the developer received during the development)]. Productivity is more tricky. (lines of programme a developer generated) / (time the developer invested) [lines / hour] is not a good model, for lazy ones can always copy and paste to generate millions of lines. (number of test-passed units)/(time the developer invested) [units / hour] is not a good model, neither. If developer A was working on extremely tricky units implementing BMP, and B was working on units like hello world. A couldn't finish a single
unit in one day, B happily passed dazons in an hour...Second model is not fair! (Especially when the head of HR had completely no idea about the difference between A and B's works...) Then I was thinking about the information entropy (loosely speaking, here the entropy could be taken as complexity). Let's assume the total entropy of a project is 1, we can try to see how much entropy can a develop reduce to the whole project in a certain time period. Then how to quantify the entropy of a software project becomes the question, and this is by no means an easy task...
It seems that it's uninteresting to discuss the productivity of a software developer, let's just inspect her/his profitability.
But...well, I confess I might have to answer it in exam, what do you think is the safest answer?
[ January 20, 2005: Message edited by: Ellen Zhao ]