Pair Programming refers to the practice whereby two programmers work together at one computer, collaborating on the same design, algorithm, code, or test. The pair is made up of a driver, who actively types at the computer or records a design; and a navigator, who watches the work of the driver and attentively identifies problems, asks clarifying questions, and makes suggestions. Both are also continuous brainstorming partners [Laurie Williams, computer science professor at North Carolina State University].
The two partners regularly switch roles, making them equal partners. This can work for programmers young and old, novice and expert. Pair programming is considered an industry best-practice, leading to better results in less time.
See two middle school students (2:51) using pair programming.
Birgitta Böckeler from ThoughtWorks describes Pair Programming (17:43) advocating for the use of pair programming in industry. Scan this article for more details.