This document provides an overview of pair programming as an agile practice. It defines pair programming as two programmers working together at one workstation, with one typing code while the other reviews it. The roles of "driver" and "navigator" are described, with the driver focusing on code and the navigator reviewing for mistakes and providing strategic feedback. Guidelines are provided for restarting when stuck, planning next steps, and actively performing tasks. Tips are offered such as using an editor both know, limiting distractions, and switching driver/navigator roles frequently. The conclusion discusses benefits of pair programming like increased code quality, speed, learning and familiarization when balanced well.