On Pair Programming
Quizá una estrategia popular de la que muchos programadores han escuchado, sin embargo puede ser complicado de implementar para muchos. Estas prácticas tienen origen en los noventa, junto con muchos otros términos usados para describir distintas estrategias de programación descritas por Jean Bartik. Pair programing o programación en pares consiste prácticamente en poner a 2 programadores a resolver juntos un problema, usualmente compartiendo un único PC (lo cual va en contra del término de computadora personal y quizá por eso puede ser complicado). De esta manera, pueden discutir la estrategia para resolver este problema, quizá una estrategia similar a la seguida por pilotos profesionales, donde uno de ellos va guiando al programador principal, llevando la estrategia y el otro simplemente ejecuta lo que le dicen por ejemplo. Una variante de esta también, es la estrategia de ping pong, esta es una estrategia de prueba, donde ambos programadores intentan desarrollar una prueba que haga fallar el software de su compañero, siendo util para encontrar bugs en el software desarrollado.
Otra utilidad del pair programming, es para facilitar la documentación de algún proyecto. La documentación suele ser un paso del proyecto que suele ser de baja prioridad y en algunos casos, incluso llega a ser olvidado, es ahí donde el pair programming puede ser de gran utilidad, depende el caso, pero en muchas ocasiones ambos miembros trabajan en la documentación y se retroalimentan el uno a otro durante el proceso.
Remote pairing
Dada la situación actual (pandemia por coronavirus), puede no ser buena idea juntar a 2 personas, que durante largas sesiones estarán una a la otra y posiblemente compartan periféricos constantemente, por lo tanto el remote pairing puede ser una excelente herramienta, pues permitiría esta misma experiencia (o al menos algo suficientemente parecido) sin necesidad de tener que juntar a estas 2 personas en el mismo lugar físico, para ello una coneccion estable a internet, uso de webcam y uso de un buen sistema de audio es altamente recomendado, haciendo prácticamente lo mismo que se haría en una sesión de pair programming, pero en línea. Sin embargo, una desventaja de este proceso es la falta del componente humano, por lo tanto ambas partes deben comprometerse aún más.