
¿Qué es el pair programing (programación en pares) y como hacerlo?
Apr 09 2021
Desarrollar, aunque puede ser una actividad individual es una de esas cosas que mejoran cuando las compartes, como tomarse una cerveza con un amigo, además si bien los problemas pequeños se pueden resolver solo, cuando los problemas son grandes es necesaria la ayuda, hacer pair programing no solo mejora el proceso cognitivo y de aprendizaje, también la creatividad y reduce bugs en el codigó. Como si esto fuera poco quizás puedas hacer un nuevo amigo!
¿Qué es Pair Programing?
Tal cual lo indica su nombre, programar en pares es una actividad usualmente usada en métodos de desarrollo ágiles como XP y sirve mucho para entrenar desarrolladores Junior. La idea básica es que dos desarrolladores resuelvan uno o varios problemas de desarrollo juntos, deben hacerlo usando una sola computadora y en equipo.
En lo general hay dos roles el conductor, y el copiloto, los dos desarrolladores definen quien desempeñara que papel y durante que tiempo, una vez definido se empieza la sesión donde el piloto toma el control de la computadora, y comienza poniendo sus herramientas en orden, explicando a cada paso que es lo que está haciendo y por qué. Mientras tanto el copiloto le ayuda a encontrar soluciones y a detectar errores, también es usual que el copiloto explique maneras de resolver el problema, así como pedir que se le explique algo.
La sesión termina al cumplir los hitos pactados, o el horario determinado y al final es recomendable que se haga una sesión de **retroalimentación o feedback, si aún no has escuchado sobre el feedback te dejo por aquí un video.
Beneficios de programar en pares.
Reduce la cantidad de bugs en el codigó hasta un 50%
La mayor parte de los bugs que introducimos en el codigó es debido a desconcentración u olvido, es muy común que un punto y coma, o no declarar correctamente una variable sea lo que nos provoca un error despúes de eso los errores de lógica son los que más afectan a los desarrolladores, al hacer este proceso con un par, la cantidad de errores se ve reducida drásticamente, hasta en un 50%.
Reafirma el conocimiento
La herramienta por excelencia para los desarrolladores Sr. es el pair programing, es ideal para reafirmar el conocimiento adquirido y explorar nuevas rutas de conocimiento, ya sea en un framework o para un lenguaje en particular.
También los desarrolladores en entrenamiento se ven beneficiados con este ejercicio, y es que en términos de conocimiento, la práctica hace al maestro, además de que desarrollar con el soporte de un desarrollador con más experiencia brinda una sensación de confianza.
Por último, en KondoSoft usualmente hacemos desarrollo en pares entre desarrolladores en entrenamiento, con resultados magníficos, el crecimiento cognitivo es notable, además que hay un elemento lúdico en el proceso, y el hecho de compartir la misma afición por el desarrollo, así como estar en un nivel de conocimiento similar es magnífico para aumentar conocimiento.
Como nota te puedo decir que cuando se hace pair programing entre dos desarrolladores en entrenamiento es importante cambiar los equipos constantemente.
Aumenta la creatividad.
Al explorar opciones diferentes desde un punto de vista ajeno al tuyo es una gran herramienta para explorar nuevas ideas, desde en un ámbito de desarrollo en sí, como en el desarrollo del producto. Es decir, se ve beneficiada la lógica, así como el uso del lenguaje mismo, explorando nuevas maneras de implementar las herramientas que el lenguaje mismo brinda, así como el framework.
La lógica también se ve beneficiada debido a que al ver diferentes puntos de vista, se tiende a atacar el problema desde un punto de inicio diferente.
Excelente para estructurar tus ideas.
Parte importante del pair programing es la comunicación, se dice que hay que "programar en vos alta" cuando se hace programación en pares, esto se refiere a que mientras se va desarrollando vayamos compartiendo a nuestro compañero el como y porque queremos resolver un problema, porque estamos declarando una variable etc. Esto nos obliga estructurar las ideas y así poder compartirlas.
Las ideas son abstractas, es decir no tienen forma cuando se generan, al darle forma y estructura es más sencillo tanto para tu par, como para ti mismo entenderla y ver hacia adelante, es por eso que programar en pares es una herramienta tan poderosa.
¿Qué necesitas para hacer pair programing?
Respeto por tu compañero y por su tiempo.
Parece lógico, pero es muy importante pensar en nuestros pares al momento de hacer pair programing o cualquier actividad en equipo, entender la importancia de nuestro tiempo y el de los demás es muy importante para aprovechar el tiempo de pair programing
Comunicación.
Es muy común en Latinoamérica las novelas emocionales, y esto se debe en gran parte a la deficiente comunicación entre los pares o compañeros de trabajo, más aun cuando hablamos de una actividad tan inmersa como el desarrollo.
Comunicar eficientemente lo que nos molesta, o si hay algo en términos personales que nos esté afectando en ese momento es esencial para que tu par pueda tomar acción y mejorar la experiencia. Una habilidad que ayuda mucho para esto es la inteligencia emocional, si no sabes bien que es, por aquí te dejo un artículo sobre eso, igual te recomiendo veas él video que hice.
Empatía.
La capacidad de entender los sentimientos y pensamientos de nuestro par es especialmente de ayuda para un buen proceso y poder así aprovechar al máximo la sesión de desarrollo.
¿Cómo hago pair programing?
El proceso es fácil, te dejo una lista de cosas que debes hacer para facilitártelo.
- Preguntar a tu par ¿Cómo estás? (escuchar realmente)
- Determinar si hay algo que pueda entorpecer la sesión de desarrollo en pares.
- Acordar quien va a ser el piloto y quien el copiloto, y durante que intervalos de tiempo kikan.
- Determinar hasta cuantos kikan o hitos vas a trabajar en la sesión
- Disfruta el viaje de aprendizaje
Consejos para tener en mente
- Sé copiloto no el pasajero de atrás
- Programa en vos alta
- Se consiente de tus sentimientos
- Toma un descanso si lo necesitas
- Hagan una sesión de retroalimentación o feedbak
- Manten una mentalidad flexible, y acepten la confusión