El trabajo en pareja en el marco de un proyecto, tanto si se trata de la programación como de otro procedimiento, lleva consigo gran cantidad de ventajas. Por lo general, cuatro ojos ven mucho más que solo dos: con el método pair programming se minimiza el riesgo de que se produzcan errores. Mientras una persona escribe el código, la otra lo visualiza y se concentra tan solo en la búsqueda de errores. Por lo general, nos resulta bastante complicado detectar los propios errores. Suelen ser nuestros compañeros quienes los detectan con más rapidez.
Otra de las grandes ventajas derivadas de la comunicación es el desarrollo constante de la creatividad: el constante intercambio que se produce entre la pareja de programadores hace que surjan ideas que quizá no se tendrían si el trabajo fuese individual. La intercomunicación también garantiza que los problemas se puedan solucionan mejor en menos tiempo. Pues, mientras una persona que trabaja sola puede sentirse satisfecha con la primera opción que mejor le parezca, las personas involucradas en el pair programming siempre deben justificar sus decisiones ante el resto. Es posible que estas tengan otra percepción del problema y no estén satisfechas con la solución que se les propone. Esto genera un debate en el que suelen presentarse nuevas ideas que derivan en un código mucho mejor.
Un buen código también es un código conciso: la experiencia dicta que un texto de origen generado por pair programming suele tener un diseño más corto y, por tanto, más eficiente. Esto permite un ahorro posterior en recursos en caso de mantenimiento y adaptación.
Como ya hemos mencionado, esta técnica también puede aprovecharse para que los trabajadores con más experiencia compartan sus conocimientos con sus compañeros más jóvenes. De este modo, no solo se obtiene beneficio de la ventaja esencial del pair programming, que es la generación de un código de alta calidad, sino que también se puede utilizar simultáneamente para fines de formación.
Sin embargo, todo esto requiere mucho tiempo: dos programadores juntos trabajan mucho más rápido que uno solo, pero no más que dos programadores que trabajan por separado. Esto quiere decir que este método hace que los proyectos avancen más lentamente o que requieran más personal, lo cual aumenta a su vez los costes. Los partidarios del pair programming estiman que estas horas extraordinarias se compensan pues el código generado contiene menos errores, está mejor estructurado en general y requiere mucho menos mantenimiento.
Otra posible desventaja es que el pair programming es adecuado para la formación de equipos, pero solo si ambos compañeros trabajan bien juntos. Al tratarse de una colaboración tan estrecha, es posible que los problemas que puedan tener entre ellos ralenticen los resultados o acaben aumentando hasta algo mucho peor. Es por este motivo que la asignación de parejas en este método no puede realizarse aleatoriamente. Lo ideal sería trabajar cada vez con un compañero diferente, pero esto solamente funciona bien si hay armonía en todo el equipo.