Cuando hablamos de Programación Remota por Pares hablamos de una metodologÃa de programación extrema (XP por sus siglas en inglés —Extreme Programming—), que forma parte del modelo de desarrollo de software Agile. La principal diferencia en relación con la programación por pares tradicional, en la cual dos programadores se sentaban al lado el uno del otro en el mismo ordenador, tiene que ver con la naturaleza remota de este nuevo tipo de programación por pares. En ella, el par de programadores comparten un mismo espacio de trabajo, pero lo hacen remotamente, utilizando herramientas de colaboración a tiempo real que hacen posible este tipo de actividad.
¿Pero qué es la programación por pares y qué beneficios ofrece? Este tipo de programación ofrece mayores estándares de calidad en lo que a código se refiere, y reduce la incidencia de virus gracias a realizar revisiones de código continuas y hacer posible una colaboración sincronizada. El principio aplicable en este tipo de programación es el de que cuatro ojos ven más que dos. En otras palabras, que dos programadores pueden hacer frente a un mismo problema desde dos perspectivas diferentes y con un conjunto de aptitudes y de conocimiento distinto, lo que aumentará las posibilidades de éxito con respecto a la solución de ese problema. El hecho de que los programadores estén revisando sus avances constantemente puede suponer, no sólo una disminución de los errores y una mayor calidad en el código, sino que también puede contribuir a una dinámica de trabajo más sólida, con menos distracciones y, por tanto, más eficiente.
Obviamente, como todo trabajo que se desarrolle de forma remota, siempre hay que tomar las precauciones de seguridad suficientes para evitar problemas. Utilizaremos siempre conexiones seguras y, a ser posible, reforzaremos la encriptación utilizando algún servicio de VPN seguro, como ExpressVPN.
Esta forma de desarrollo colaborativo y distribuido está en auge por este tipo de ventajas y por el hecho de que la aparición de cada vez más herramientas de comunicación en tiempo real hace que probar esta alternativa esté cada vez más alcance de nuestra mano.
La programación remota por pares surge con un objetivo principal: localizar los errores de tu software para descubrir y subsanar los problemas que pueda tener la app antes de que lo hagan los usuarios. Si quisiéramos medir el éxito de este tipo de programación, tendrÃamos que fijarnos en valores como el conteo de errores o el rendimiento que ofrece el software. Si tenemos menos incidencias, y por tanto un mejor rendimiento gracias a los esfuerzos de programación por pares, este método puede ponerse en valor. Por tanto, si utilizando este sistema encontramos que se reduce el tiempo de desarrollo de software, de resolución de problemas, y además contamos con unos empleados y unos usuarios más satisfechos, el valor de esta metodologÃa será mayor.
Pero imitar el método de programación por pares tradicional no siempre es sencillo. De hecho, se trata de uno de los principales retos que los profesionales del sector tienen que solventar. Los programadores tienen que estar trabajando al mismo tiempo y con el mismo código base para que se considere programación por pares. Dicho de otro modo, debe haber un espacio de trabajo compartido. Para ello, los enfoques que se suelen seguir se dividen en tres vertientes: compartir la terminal (se suelen utilizar herramientas como wemux o tmux), compartir la pantalla (destacan para ello aplicaciones como Zoom, TeamViewer, o USE Together), o la edición de código colaborativa. Caben mencionar unas pocas de las herramientas más utilizadas en este ámbito. Los Cloud IDEs ofrecen ecosistemas de desarrollo alojados en el propio navegador, lo que significa que los desarrolladores tienen acceso a una plataforma multifuncional de desarrollo de forma cómoda y sin complicaciones. Codenvy o Cloud 9 son dos buenos ejemplos de este tipo de herramientas. A pesar de las ventajas que ofrece esta vÃa, algunos programadores prefieren usar su propio código. Para ello, el compartir extensiones en tiempo real, una opción bastante novedosa, pero con gran potencial, se está convirtiendo en la alternativa preferida de muchos. TeletypeforAtom y Visual Studio Live Share son dos de los principales softwares a tener en cuenta si nos decantamos por ella.