Pair programming is an Agile technique originating from Extreme programming (XP) in which two developers team together and work on one computer. The two people work together to design, code and test user stories. Ideally, the two people would be equally skilled and would each have equal time at the keyboard.
Pair programming uses the four eyes principal, ensuring that two sets of eyes review the code that is being produced even when there is a division of labor. While one person writes test cases using test-driven development techniques, for example, the other person may write code to get the tests to pass. Typically, the two developers will turns coding or reviewing, checking each other's work as they go.
Learning to partner effectively in a team that close and sharing a work computer takes skills that not all programmers possess. It requires both programmers to have the necessary soft skills required for collaboration as well as the necessary hard skills to write and test code.