Pair Programming ayuda a organizar fácilmente tu equipo de programadores

Mejorar las habilidades del equipo con Pair Programming.

Mejorar las habilidades del equipo con Pair Programming.

Pair Programming ayuda a organizar fácilmente tu equipo de programadores
Pair Programming ayuda a organizar fácilmente tu equipo de programadores

La técnica de programación Pair Programming, como indica su nombre, consiste en un par de personas (programadores) trabajando en el mismo ordenador, es decir, programando con una única pantalla, un teclado y un ratón.

Esto parece una tarea complicada, que necesita mucha coordinación entre ambos miembros del equipo, pero en realidad es más sencillo que eso, solo se necesita que uno de ellos desempeñe el rol de controlador (o driver) mientra el otro será el navegador (o navigator).

El primero es el que usa el teclado para escribir el código, mientras el segundo debe mantener siempre una visión global para dirigir las acciones del hacia la solución. Es decir, en realidad están ambos involucrados directamente en la elaboración del código.

Entonces, ¿cómo se realiza correctamente Pair Programming? Pues sencillamente el driver debe ir narrando el código que va creando, es decir, explicándole a su compañero qué es lo que está escribiendo y el motivo de sus acciones mientras el navigator presta atención en entender porqué su compañero realizar su tarea de sea forma para planificar los siguientes pasos en busca del resultado final.

Cuando se realiza este tipo de programación acostumbran a surgir los mismo problemas con bastante frecuencia, ahora te mostraré la lista de «errores a evitar» en Pair Programming o buenas prácticas:

1) Ambos programadores tienen que estar activamente involucrados en la sesión, un error muy común es que uno u otro miembro del equipo trabaje en una intensidad menor, lo que comporta problemas en cuanto a la coordinación de ambas tareas.

2) Esta técnica no se debe considerar como un coste duplicado, en todo caso, supondría la peor consecuencia de la incorrecta aplicación de la técnica. El Pair Programing bien aplicado nunca supone un coste mayor sino todo lo contrario, es una técnica altamente eficiente bajo las circunstancias adecuadas.

3) Ambos programadores deben establecer un dialogo continuo sobre todos los pasos que se están realizando (pair programming engloba también programming out loud o «programar en voz alta»). En el caso de que el conductor no ofrezca una comunicación constante, sería obligación del navegador intervenir para cambiar esta situación.

4) Pair programming no debe imponerse nunca, serán los propios programadores quienes se coordinen para ejecutarla si lo consideran adecuado, pues si hay problemas de relación o comunicación entre ellos podría ser totalmente contraproducente forzarles a hacerlo.

Por otro lado, los beneficios de esta técnica son notables. Si bien es cierto que no son evidentes de forma inmediata, pues no son tangibles o apreciables en un plazo corto de tiempo (como explicaré a continuación), sino que se aprecian con el tiempo, sobretodo en términos de calidad del trabajo. Los beneficios más comunes son los siguientes:

Mejorar la calidad del código. Programar en voz alta mejora el entendimiento y el razonamiento de lo que se está programando, destapando así posibles problemas futuros de complejidad, callejones sin salida, etc.

– Ayuda a que todo el equipo entienda el código. Si se establecen rotaciones de parejas para que todos los miembros del equipo se muevan y colaboren con compañeros de diferentes componentes del código influye positivamente en la perspectiva y conocimiento de cada programador sobre el proyecto en conjunto.

Facilita la transmisión de habilidades, conocimiento y técnicas entre todos los miembros del equipo. 

Incrementa la resistencia sobre las posibles interrupciones. Ya que cuando se produce una interrupción, esta puede ser gestionada por el navegador mientras el controlador sigue con su tarea. Además, ante una posible interrupción, existen menos prosibilidades que esta se produzca ante un par de personas  trabajando conjuntamente y manteniendo una conversación que sobre un persona sola realizando una tarea en solitario.

Si formas parte de un equipo de programadores te animo a que pruebes esta técnica en algún momento, yo la suelo usar con frecuencia con mi equipo y es realmente productiva, se aprecia sobretodo a medida que se avanza en el proyecto.

Puede que no sea tan productivo hacer Pair Programming como cuando ambos programadores trabajaran por separado (entendiendo productividad en este caso como el tiempo efectivo empleado en crear código) pero, como he comentado, sus ventajas relacionadas con la calidad del trabajo a largo plazo, están ampliamente demostradas. Existen estudios que estiman incluso que la diferencia en «productividad directa» es de tan solo entre un 15% y un 25%, sin contemplar los numerosos beneficios que el Pair Programing aporta indirectamente al equipo (ya explicados en este artículo).

Así pues, ¡no dejes pasar la oportunidad de probarlo si tienes la ocasión!

Si te ha gustado este artículo sobre programación seguro que te van a gustar estos también: