This document summarizes the benefits and mechanics of pair programming. It discusses that all production software should be developed by two programmers working jointly, switching pairs frequently. The benefits include continual code review, improved design quality, fewer defects, more rapid solutions, improved communication among team members, and reduced risk. Potential issues that can arise include difficulties with introverts, experts paired with novices, and individuals who refuse to pair program.