views:

43

answers:

2

what are the software metrics that can be used to measuring the performance of pair programming ?

to be clear

is there any metrics used to measure pair programming specifically and does not use to measure the individual programmer ? what are the parameters used for measuring ?

for example:if we want to measure the cost for both individual and pair programming let's assume that for the individual programming Cost = x so for the pair will be Cost = 2* x

right

and the same for the time for individual Time = t while for pair Time = 2* t

so if I would like to use Lines of code for measuring the product size , is there any different between individual and pair by using this metric?

any idea

+3  A: 

Sorry to spoil your party, but lines of code is one of the worst metrics possible, especially if people know their assessment or bonus is in any way tied to the metric. It actively encourages cut and paste programming and other attrocities. It's more effort, but why don't you categorise the workload in terms of expected effort for one person, based on your historical data? Or, get some programmers to agree to do a few projects redundantly, rotating between pair-programming and individual, so you can see how the same programmers go at each. As one good programmer can be more productive than two average programmers (I vaguely remember an old IBM study concluding someone in the top percentile was 27x more productive than median), it's useful to see the same programmers doing it both ways. If objectively discovering the right process through such an experiment is too costly in terms of lost short-term productivity, then you're better off not bothering with the LOC metrics anyway... good programmers knowing their work arrangements are being based on such will probably be highly unimpressed.

Remember that there are also intangibles involved... pair programming - IMHO - forces people to keep focused, and to make design decisions that are more rounded and professional. Just the social contact can help relieve boredom, though it may stress some people too. My suspicion is that - whether or not it's faster to begin with - it makes for better, more maintainable results. It also ensures skill and knowledge transfer. You should factor in such intangible aspects as best you can - maybe doing interviews or anonymous surveys with the trial participants.

Tony
I'd argue it's not *one* of the worst, it's **the** worst metric. Ok, `LOC / (Pizza * Mountain Dew * Programmers)` probably wouldn't do too well either.
Stephen P
Wow - pizzas cost as much as programmers in that formula :-). The worst... that's almost a challenge! How about "uptime of the dev build"... if you don't check anything in, you can't break the build ;-).
Tony
A: 

I guess what you try to ask, is how to measure efficiency of the team that uses pair programming. If yes, then answer is the measurement of efficiency doesn't depend on method or proccess of work team is using. You should try to evaluate the quality of their product releases, with metrics like number of issues identified post release. Probably the velocity.

and, please, don't use lines of code for efficiency measurement. It doesn't make sense. Lines of code is a measure of product size and not developer efficiency. It's like using height or weight to judge how smart you are. There is no correlation between amount of code and individual efficiency.

if you are interested in more software metrics, take a look at https://www.sdlcmetrics.org

Mark Kofman