El pair programming es la práctica de programación por la cual dos desarrolladores escriben código conjuntamente, usando un solo teclado y ratón. Se habla de mob programming cuando más de dos programadores hacen pairing.
En cada pair o pareja, existen dos roles. El compañero que escribe código piensa en su mejor implementación en ese instante. El otro compañero ha de pensar de una forma más estratégica: ¿Estamos omitiendo ciertos casos de uso? ¿Funcionará el enfoque adoptado? ¿Hay alguna forma de simplificar el diseño?
En cambio, no hay pair progamming cuando uno de los desarrolladores programa mientras que el otro simplemente mira. Pair programming es una conversación entre dos desarrolladores que intentan programar simultáneamente, abordando decisiones de diseño y testeo.
Algunos autores como Mike Cohn* recomiendan hacer pair programming no siempre, pero a tiempo parcial, en especial para desarrollar las partes de la aplicación que tengan más riesgo. Que todo el código que va a producción haya sido escrito mediante pair programming no es demasiado realista.
Algunas de las principales ventajas asociadas al pair programming son las siguientes:
Puede que haya distintas voces que cuestionen el uso del pair programming. A veces, los mismos programadores serán reticentes al cambio. A continuación, mencionamos algunas de las objeciones más comunes.
Pair programming es una de las prácticas de programación que propone Extreme programming. Scrum nada prescribe sobre su uso, aunque su aplicación cabe perfectamente. De hecho, debe ser una técnica conocida por el Scrum Master y cuya utilización podría sugerir al Equipo Scrum.
*Mike Cohn (2009). Succeeding with Agile: Software Development using Scrum.
Foto principal: Vector de Tecnología creado por stories – www.freepik.es