Pair Programming

Pair Programming emphasizes two programmers working together on the same requirements, design, code, or test. Studies have shown that pair programming improves the productivity of both programmers and the quality of the finished product.

Laurie Williams from North Carolina State University describes pair programming as, "Two programmers working side-by-side, collaborating on the same design, algorithm, code or test. One programmer, the driver, has control of the keyboard/mouse and actively implements the program. The other programmer, the observer, continuously observes the work of the driver to identify tactical (syntactic, spelling, etc.) defects and also thinks strategically about the direction of the work. On demand, the two programmers can brainstorm any challenging problem. Because the two programmers periodically switch roles, they work together as equals to develop software."

Pair programming is part of the eXtreme Programming (XP) software process methodology, but any software development environment can benefit from the practice of pair programming.

Author: Laurie Williams and Sarah Heckman
Maintained By: Sarah Heckman
Last Updated: 2008-08-14