Tabla de contenidos
En la programación de pares, dos desarrolladores trabajan en una computadora para resolver una tarea juntos. El método debe aumentar la calidad del código, distribuir el conocimiento de manera uniforme y aumentar la comunicación y la productividad en el equipo a largo plazo.
La programación por pares es un método que está particularmente extendido en el desarrollo de software ágil. Por ejemplo, es parte de Extreme Programming, pero en la práctica se usa a menudo, independientemente de otros métodos ágiles, según sea necesario.
El método proporciona que dos programadores trabajen juntos en una estación de trabajo. Idealmente, ambos programadores tienen los mismos derechos: ambas personas deben contribuir con sus propias ideas y discutir las posibles soluciones juntas.
Piloto y navegante
Hay dos roles en la programación por parejas: el piloto (conductor) y el navegador (socio). El piloto es quien opera la computadora y escribe el código. Mientras trabajas, es una buena idea comentar en voz alta sobre el progreso actual para que el navegador siempre pueda entender los pensamientos detrás del código.
El navegador observa, proporciona comentarios sobre el código actual y piensa si el enfoque puede mejorarse aún más. Tiene el panorama general a la vista mientras el piloto se enfoca en los detalles de la sección actual del código.
Los roles generalmente se intercambian regularmente para que ambos socios puedan contribuir por igual al proyecto: Todos tienen fases en las que pueden planificar y mejorar al socio, y fases en las que implementa lo planeado y lo mejora el socio.
Revisión de código mientras trabaja
Dado que dos personas trabajan en una tarea, los errores y los enfoques poco limpios de las soluciones tienden a notarse más rápidamente cuando se programa en pareja. El navegador está constantemente ocupado examinando el código y tratando mentalmente el problema. Puede expresar críticas de inmediato, señalar posibles problemas y descubrir ambigüedades.
Esto da como resultado un código de mejor calidad durante el trabajo, que de otro modo solo sería posible mediante revisiones de código posteriores. Es cierto que el desarrollo en la pareja suele tardar un poco más. Pero la calidad más alta generalmente también significa que se necesita mejorar menos.
Transmitir conocimientos mientras trabajas
Otra ventaja de la programación por parejas es que el conocimiento se puede transmitir muy bien a través del trabajo colaborativo. Durante el trabajo, el conocimiento especializado siempre emerge con una relevancia práctica concreta. Por ejemplo, el conocimiento de diferentes áreas especializadas se puede compartir entre sí precisamente en aquellos puntos en los que es realmente relevante.
Si algo no está claro en algún momento, también puedes preguntar de inmediato. Esto, a su vez, mejora la comprensión de los contextos técnicos y los principios específicos de la empresa. Es común que en la programación por parejas no existan equipos permanentes que trabajen juntos de manera permanente. Idealmente, los equipos cambian regularmente.
El objetivo es que el conocimiento se distribuya lo más uniformemente posible dentro del equipo. En lugar de especialistas en temas individuales, esto debería crear empleados versátiles que puedan comprender y trabajar en tantas áreas del proyecto como sea posible. Dos programadores con niveles de conocimiento muy diferentes también son una combinación útil para la programación en parejas en determinadas situaciones.
Los programadores experimentados pueden, por ejemplo, transmitir sus conocimientos a colegas más jóvenes mientras trabajan y aumentar gradualmente las habilidades de todo el equipo. La programación en pareja también puede ser útil para familiarizar a los nuevos empleados, ya que los nuevos colegas experimentan el conocimiento específico de la empresa en acción y lo aplican ellos mismos.
Leer: ¿Qué es la refactorización de código?
Incrementar las habilidades sociales en el equipo
La buena comunicación es un requisito previo importante para la programación por parejas: las ideas deben comunicarse y discutirse de manera continua. Por un lado, los participantes deben ser capaces de expresar sus ideas y soluciones propuestas en palabras de forma comprensible. Por otro lado, deben ser capaces de abordar objetivamente las críticas para que la discusión siga siendo productiva.
La programación en pareja obliga a los miembros del equipo a trabajar constantemente en sus habilidades de comunicación profesional y a representar sus ideas con confianza. Dado que los nuevos socios suelen trabajar juntos en un problema una y otra vez, la programación en pareja puede ayudar a largo plazo a formar un equipo bien coordinado.