¿Qué es pair programming? ¿Es recomendable?
Una práctica común en el mundo de la programación consiste en que dos personas trabajan en un sólo computador, compartiendo así un teclado y un mouse. A esta práctica se le conoce como pair programming y tiene numerosas ventajas dependiendo de la situación.
Al hacer pair programming, una persona es quien tiene el control, mientras la otra observa, revisa el código y va haciendo sugerencias, muchas veces alternándose. Esta es una práctica común que usa en los bootcamps,
¿Cuáles son las ventajas?
Mayor Disciplina. En general, armándose buenas parejas pasa que se trabaja de manera más eficiente con menos descansos.
Mejor código. Dado trabajo de pares, es más probable se cree un código de mejor calidad y así también con menos errores. Dado principalmente por la revisión y entrega de sugerencias constante.
Flujo de trabajo constante. En parejas el flujo de trabajo se recupera más rápidamente: un programador pregunta al otro «¿por dónde quedamos?. Las parejas son más resistentes a las interrupciones ya que un desarrollador se ocupa de la interrupción mientras el otro continúa trabajando.El flujo de trabajo esdistinto al trabajar solo.
Y finalmente hay una virtud muy útil cuando se trabaja de forma maratónica, ya sea porque se acerca un plazo de entrega o se está en una competencia y es la resistencia a la fatiga, los programadores estamos acostumbrados a trabajar muchas horas seguidas, pero durante los periodos finales cometemos muchos más errores que cuando estamos descansados, en ese caso pair programming sirve para que uno de los miembros revise los detalles menores (errores que introduciremos) mientras el otro trabaja en el big picture.
¿ Cuándo NO ocupar la metodología de pair programming?
Como en todas las estructuras de trabajo no hay balas de plata ni fórmulas mágicas, en ciertas ocasiones el trabajo de un programador puede ser relativamente mecánico, en ese caso y cuando los errores no son críticos, el pair programming es una práctica que no es muy útil, puesto que hay dos personas haciendo el trabajo de una sola, lo que puede ser visto como un desperdicio de tiempo en la empresa.
Tampoco es aconsejable obligar a dos personas que no se relacionan bien a trabajar en conjunto, el pair programming requiere que dos personas pueden comunicarse bien, una debe liderar el proceso y la otra lo sigue, pero esos roles son dinámicos a lo largo de la jornada y también es común que ambos intercambien de asientos durante el proceso.
¿Es factible hacer pair programming en modalidad remota?
Sí, totalmente. Hoy dada mayor popularidad del trabajo remoto, esto es algo que cada vez se ve más frecuentemente.
Para poder hacer un trabajo de pair programming en línea, lo que en general se usa son herramientas de video conferencias, git y archivos tipo google docs que se puedan compartir en tiempo real.
Lo clave que debes considerar en este caso es: coordinar horarios y objetivos de sesiones, establecer canales de comunicación adecuados y transparentes. Como recomendación extra, fijarse en horarios según zonas locales y antes de empezar a trabajar, hacer revisiones previas de herramientas y tener todas las condiciones para poder trabajar.
Conclusión
Pair programming es una buena práctica para trabajar, pero su uso depende de las circunstancias. En general la recomendamos como una herramientas de aprendizaje, la usamos bastante con nuestros estudiantes en Desafío Latam y en casos de sesiones resolviendo temas de mayor complejidad o donde haya mayor cansancio mental.