Pair programming

Pair programming requires two software engineers to participate in a combined development effort at one workstation.

Each member performs the action the other is not currently doing: While one types in unit tests the other thinks about the class that will satisfy the test, for example.

The person that is doing the typing is known as the driver while the person that is guiding is known as the navigator. It is often suggested for the two partners to switch roles at least every half-hour.

Benefits

Pair programming yields the following benefits, roughly ordered from largest benefit to smallest:

Studies have shown that after training for the "people skills" involved, two programmers are more than twice as productive as one for a given task. According to The Economist,

"Laurie Williams of the University of Utah in Salt Lake City has shown that paired programmers are only 15% slower than two independent individual programmers, but produce 15% fewer bugs. Since testing and debugging are often many times more costly than initial programming, this is an impressive result." [1]

See also

External links

See also: Pair programming, Extreme programming, Flow (psychology), Software engineer, The Economist, Unit test, University of Utah