Defination of Pair-Programming In the book “Pair Programming Illuminated”, Laurie Williams and Robert Kessler describe pair programming as a programming style in which two programmers work side by side on a computer, continually collaborating on the same design, algorithm, code, and test. Pair programming is also considered an Agile software development technique originating from Extreme programming (XP).
The two programmers share a single workstation (one screen, keyboard and mouse among the pair). The programmer at the keyboard is usually called the “driver” ; he writes the code. The other person is the “Navigator” who reviews each line of code as it is typed, checking for errors. You may switch between roles slower or faster, depending on your context. Ideally, the two people would be equally skilled and would each have equal time at the keyboard.
History of Pair-Programming
In the early 1980s, Larry Constantine, author of more than 150 technical articles and 16 books, reported observing “Dynamic Duos” at Whitesmiths, Ltd., producing code faster and more bug-free than ever before. He commented that the code benefited from the thinking of two bright minds and the steady dialog between two trusted programmers. He concluded that two programmers in tandem was not redundancy, but rather it was a direct route to greater efficiency and better quality.
Based upon research findings of the Pasteur project (a large sociological/anthropological study of 50 highly effective software development organizations) at Bell Labs Research, James Coplien published the “Developing in Pairs” Organizational Pattern in 1995. Coplien identified the forces of this pattern as “people sometimes feel they can solve a problem only if they have help. Some problems are bigger than any one individual.” The proposed solution of the organizational pattern is to “pair compatible designers to work together”
Read Next