In pair programming, one developer codes whilst the other observes and reviews the progress made. If done well, pair programming can speed up development time, improve code quality and avoid human error.
The developer-focused on coding is commonly referred to as the ‘driver’. Whereas the developer who is observing, reviewing and providing feedback is known as the ‘navigator’.
During pair programming, the programmers are expected to swap roles on a regular basis — as rapidly as every couple of minutes! — to keep things fresh.