¿Qué es el pair programming en desarrollo web y cómo aplicarlo?
En el mundo del desarrollo web, siempre buscamos formas de mejorar la calidad de nuestro código fuente y optimizar nuestro flujo de trabajo del día a día. Una de las metodologías que ha ganado popularidad en los últimos años es el pair programming. .
¿Qué es el pair programming?
El pair programming, lo que podríamos traducir como programación en pareja, es una técnica de desarrollo de software en la que dos programadores trabajan juntos desarrollando en un mismo ordenador. Este enfoque permite una colaboración estrecha, obteniendo diversos beneficios que redundan en la calidad del desarrollo.
En las sesiones de pair programming uno de los programadores se encargará de escribir el código mientras que el otro se ocupará de revisar el trabajo en tiempo real, ofreciendo sugerencias y planificando los siguientes pasos. En la jerga del pair programming, la persona que escribe se conoce como «driver» mientras que la persona que revisa se llama navigator.
Beneficios del pair programming en desarrollo web
El pair programming ofrece múltiples beneficios que lo convierten en una técnica poderosa para el desarrollo en general y el desarrollo web en particular. A continuación, vamos a explicar los más importantes.
Mejora de la calidad del código
El aspecto más relevante de introducir las prácticas de pair programming en tu equipo de desarrollo consiste en la mejora de calidad del código. El tópico lo dice todo: Dos pares de ojos ven mejor que uno… y es que trabajar en pareja ayuda a reducir errores y encontrar mejor los puntos de mejora del código.
A poco de comenzar a aplicar la programación en pareja comprobarás que, el hecho de que dos personas estén revisando el código constantemente, permite identificar problemas de manera más rápida, lo que conduce a un código más limpio, escalable y fácil de mantener.
Aumento de la productividad
Aunque en principio pueda parecer que tener a dos personas trabajando en una sola tarea es menos productivo, lo cierto es que gracias al pair programming al final se pueden ahorrar tiempos. Esto es porque la calidad del código impacta muy positivamente en todas las etapas del desarrollo. Pero además, los desarrolladores también pueden subir de nivel más fácilmente, lo que los hace más productivos también a medio plazo.
Facilita el aprendizaje y la transferencia de conocimientos
Como adelantamos en el punto anterior, el pair programming supone una vía para el aprendizaje muy buena. Gracias a estas prácticas es posible mejorar la colaboración entre los desarrolladores, lo que hace que unos puedan ayudar a los otros en la mejora de sus habilidades.
Tipos de pair programming
Aunque en el fondo pair programming implica siempre que dos desarrolladores se pondrán a desarrollar en un mismo ordenador, existen diversas maneras de aplicar esta técnica. Te mostramos las principales.
Driver y navigator
El tipo de pair programming más común es el que mencionamos antes: uno de los desarrolladores (driver) escribe el código, mientras que el otro (navigator) lo revisa y planifica los siguientes pasos. Este enfoque permite que siempre haya una persona más centrada en los detalles del código y otra en la visión global del proyecto.
Ping pong
Este estilo simplemente nos indica que los roles de driver y navigator van a cambiar de manera frecuente y constante. Este enfoque hace que los dos desarrolladores tomen ambos roles con frecuencia y permite una colaboración más estrecha. También es muy práctico para que ambos tengan una progresión paralela en sus habilidades.
Strong style
Luego tenemos el pair programming llamado strong style (estilo fuerte). En este caso el driver solo escribe código según las instrucciones del navigator. Este enfoque es útil cuando uno de los desarrolladores tiene más experiencia. El objetivo es compartir conocimientos y extender el dominio del ámbito en el que se trabaja.
¿Cómo implementar el pair programming eficazmente?
Aunque esta actividad es interesante conocerla y experimentarla por la práctica, para tomar conciencia de los beneficios y entender los mejores enfoques, vamos a exponer ahora ciertos aspectos fundamentales, que nos ayudarán a implementarlo eficazmente.
Preparativos previos
Antes de empezar a programar en pareja, hay algunos preparativos que debemos considerar.
Selección de herramientas
Es importante contar con las herramientas adecuadas que faciliten el trabajo en conjunto. Todo el mundo debe conocer y entender los programas que vamos a usar para la edición del código, ya sean IDEs o editores Visual Studio Code. Si trabajamos de manera remota excelentes opciones para compartir código y colaborar son Visual Studio Live Share o Tuple.
Establecimiento de normas
Antes de comenzar también debemos establecer normas de colaboración en cada sesión. Por ejemplo los roles que va a tomar cada persona o el estilo del pair programming.
Mejores prácticas en pair programming
A la hora de aplicar el pair programming podemos aplicar otras consideraciones interesantes para que la experiencia funcione de la mejor manera posible. Como sugerencia, podéis cambiar de roles frecuentemente. Esto evita que uno de los programadores se sobrecargue y permite que ambos consigan sacar el mejor partido personal y profesionalmente.
Otro punto importante es mantener un enfoque abierto y colaborativo. Ambos deben tener ganas de aportar en beneficio mutuo. Hacer pair programming sin mantener una comunicación clara y abierta se hace prácticamente imposible.
Superar desafíos comunes
El pair programming también presenta bastantes desafíos, sobre todo al principio, ya que generalmente el trabajo de programación más tradicional se hace en solitario y este enfoque resultará demasiado diferente.
Para encontrar un equilibrio entre desarrolladores es importante cambiar los roles y entender cómo se ven las cosas en ambos lados, tanto como driver como navigator, especialmente si ambos tienen niveles de experiencia diferentes. Esto nos ayudará a ser más pacientes y respetuosos, sabiendo qué necesita cada uno en el rol en el que está.
También es recomendable realizar pausas frecuentes para evitar agotarse y reducir la atención. Esto nos ayudará también a mantener la motivación elevada.