Programación en Parejas – Pair Programming

share on:
pair-programming

Hace poco, luego de hacer el curso de Scrum Master (esto es, el curso para poder gestionar equipos de trabajo utilizando Agile/Scrum), tuvimos que realizar un trabajo interno de la empresa, un proyecto corto, de dos semanas, con un #Sprint por cada semana, y decidimos utilizar el paradigma de Programación en Parejas (o Pair Programming en inglés).

Solo imaginarme lo que podría haber sido trabajar en parejas con mis viejos compañeros en Argentina me da escalofríos. Teníamos personalidades tan fuertes y diferentes, que estoy convencido que no hubiéramos avanzado un ápice.  De todas formas, en general los programadores son gente bastante inteligente – aunque a veces poco comunicativas – pero deberían poder utilizar esta mecánica a la hora de mejorar la eficiencia.

Ya sé lo que algunos me va a decir: cuatro ojos, dos manos en el teclado. ¿Cómo puede ser eso mejor que: cada uno con su propia computadora? Pues en el marco de desarrollo SCRUM, es totalmente recomendable. Especialmente si estamos intentando de producir mucho valor en poco tiempo.

Esto significa, en líneas generales, que dos programadores se sientan juntos, deciden que trabajo realizar, y uno lo va codificando mientras el otro va corrigiendo o  comentando, mejorando la estrategia. Eso garantiza que se esté utilizando la mejor estrategia posible.

Al que está en el teclado se le llama Controlador. Al que supervisa, Navegador. Y lo común es que intercambien posiciones frecuentemente.

Los estudios concluyen que con la Programación en Pareja, se ralentiza la producción hasta en un 20%, pero que producen código 20% más sostenible, y con menos errores. Esto suele ser muy costoso.

Está claro que la Programación en Pareja promueve una mejor comunicación en el equipo, incrementa la calidad, y también hace que todos nos sintamos co-participes de diferentes secciones.  Y luego, claramente, menos equipos para los programadores. Ya sé, soy consciente, de que con el tele-trabajo esta metodología se hace cada vez más complicada. Pero están saliendo nuevas herramientas de colaboración e interacción línea a línea.

Me quedo con el concepto que más de una persona sea “responsable” de una funcionalidad.

Mi recomendación es que la Programación en Parejas funciona mejor cuando el equipo es más novato y tiene menos experiencia. Se pueden complementar en áreas en las que no están seguros. Con expertos – conociendo las personalidades – esto puede ser más complicado, pero igualmente se lograra una mejora en la calidad que con una persona sola.

Al final, es todo cuestión de mejorar el ambiente de trabajo, relacionarse y comunicarse mejor.

La DESVENTAJA más significativa es que la Programación en Parejas (por definición) puede costar el doble, será cuestión que el cliente entienda de los PROS y los CONS de un sistema de trabajo así.  Tiene que estar convencido.

ALTERNATIVAS

  • Podemos tener un coach que vaya moviéndose tras los programadores.
  • Otra interesante es que el navegador (detrás) tenga su pc a mano y vaya buscando alternativas y confirmando técnicas.

 

share on:

Leave a Response