With XP, developers working in pairs do software development. Two developers share the same workstation, taking turns using the keyboard. Does this mean half the output? No, development speed is not impacted by how fast you can type! The work of programming includes coding, thinking, designing, testing, listening, and talking. The following benefits are derived from pair programming:
All design decisions involve two minds
At least two developers are familiar with that part of the system
There is less chance that tests will be missed
Switching pairs enhances knowledge sharing even further
All code is reviewed all the time
One developer is looking at detail while the other is looking at the conceptual
Figure 6.1 shows pair programmers at work, huddled around their workstations.
Figure 6.1 Pair programmers at work.
We will walk through more on how to pair program in Hour 11 "Software Development with Pair Programming."