PairPairProgramming means two programmers, two machines, one desk, one goal. PairProgramming is workplace practice where two programmers work side by side on one machine. One programmer drives, uses the keyboard and mouse, while the other navigates, reviewing each line of code as it is typed in. The two programmers switch roles frequently. PairPairProgramming takes the essence of this, attempting to preserve the benefits, better design, fewer bugs, collective code ownership and understanding but preserves the traditional approach of one programmer per machine. The approach works well with experienced Pair Programmers who understand the benefits of the Pair Programming approach and who enjoy the process of working together on a single task. When two programmers work on a single task or goal with two machines, sitting at a single desk the pair can quickly switch quickly between traditional pair programming with the driver and navigator on a single machine to split mode where the direction agreed upon, productivity can be gained by using an extra machine. Examples include "you write the CSS, I'll write the HTML" and "Google up the fix for this bug, while I configure the XML file" It is important for the programmers to be able to check in and/or integrate their code often, if not immediately for this approach to be effective. Programmers should also always review each others split work as part of the process, reviewing and re-factoring as per the normal pair programming approach to ensure the benefits of Pair Programming are not lost. DavidCasey