Pair programming is an agile development technique where two programmers work together at one workstation. One writes code, known as the "driver," while the other, the "observer" or "navigator," reviews each line of code as it’s written. The two programmers switch roles frequently.