To prepare for an effective joint analysis and design session, programmers should individually research the problem they need to solve and perhaps do experimental prototyping. After developing a quality design, the pair must implement it. Again, one programmer is the driver, who types code into the computer, while the other observes, continuously reviews the code, and considers the implementation s strategic implications. As Gerald Weinberg observes, The human eye has an almost infinite capacity for not seeing what it does not want to see. Programmers, if left to their own devices, will ignore the most glaring errors in their output errors that anyone else can see in an instant.
Programmers view pair analysis and design as more critical than pair implementation.
Pairs report that they sometimes work on implementation individually, usually the rote, routine, or simple coding phases of a project. They find that doing this type of programming individually is more effective. Developers report that having a partner for detail-oriented tasks such as drawing a graphical user interface doesn t help much. Some programmers code average-complexity modules individually if a situation such as a time conflict dictates, but most immediately feel uncomfortable and more error prone. Some even say that any work done individually should be scrapped and redone by the pair.