Pair Programming Vs Inspections

It has been widely reported that Pair Programming is a suitable substitute for formal inspections. For example, in XP, we do not typically use formal inspections in addition to the standard XP techniques.

What decision should an organization make if it is not practicing all (or any for that matter) of the XP techniques, but does conduct formal inspections. Should PairProgramming replace inspections as a defect detection mechanism? What is the experiment that one could run to determine this?

My goal for this page is to have a set of experiments that an organization could apply while rolling out Pair Programming such that it could quantitatively determine if PairProgramming is suitably substituting for Inspections.

Approach

The easiest way to do this would be to conduct an experiment similar to what LaurieWilliams did with her class at the University of Utah (http://collaboration.csc.ncsu.edu/laurie/Papers/CSED.pdf). Unfortunately, I don't have the luxury of giving the same problem to 2 randomized trial sets. Whatever experiment comes out of this it will need to evaluate data from different individuals (those pair programming, and those not), and different sets of problems. The results will skew if the group pair programming is better (or worse) than the group solo programming.

Questions:

Does the cost of defect removal from an inspection outweigh the benefits of preventing the defect from reaching test?

Does pair programming remove the same type of defects removed by inspections? Does the pair have the same ?Blind Eye? to certain types of defects that a solo programmer has?

Metrics:

Effort spent pairing (effort hours) Defects found inspecting paired code (major/minor) Effort spent in inspections (effort hours)

These are the easy numbers to gather. More expensive are such things as defects released to test (or beyond). We don?t commonly keep track of the specific code that originally caused individual defects.

Other Considerations

Should we try to normalize the pairs based on some kind of expert/average/novice scale?

MichaelKirby


CategoryPairProgramming


EditText of this page (last edited June 28, 2005) or FindPage with title or text search