Pair Programming
Pair programming is an agile software development technique in which two programmers work together at one work station. One programmer has control over the workstation and is thinking mostly about the coding in detail. The other programmer is more focused on the big picture, and is continually reviewing the code that is being produced by the first programmer. The person typing is called the driver. The person reviewing the code is called the observer (or navigator).

Programmers trade roles regularly. The pairs are not fixed: it's recommended that programmers try to mix as much as possible, so that everyone knows what everyone is doing, and everybody can become familiar with the whole system. This way, pair programming also can enhance team-wide communication. (This also goes hand-in-hand with the concept of Collective Ownership).

From Wikipedia, the free encyclopedia.


Resources
We would like to suggest you the following list of usefull resources on the topic: