Me crucé con este concepto tan raro y extraño cuando comencé a estudiar la esencia y los secretos de Scrum, durante mis primeras lecturas de posts especializados sobre el asunto. Y me quedé anonadado cuando descubrí su significado.

Pair Programming … (?¿)

En una primera instancia me quedé inmóvil y pensativo. Me preguntaba constantemente:  “¿Pero qué es eso? Suena muy raro, no? Debe ser una super técnica especializada y concreta que seguro que es imposible de entender ni implementar”.

Pero no es así. No es tan grave.

Pair Programming es lo mismo que el clásico:  Sentarse Juntos. Ni más, ni menos.

No sé por qué razón, tenemos la enorme manía de ponerle nombres complejos en inglés a todo lo que es evidente y lógico en castellano. Tendemos a transformar los términos engrandeciéndolos y engrosándolos para darles mayor importancia.

Se reconocen perfectamente en nuestro idioma. Pero bueno, así lo bautizaron:  Pair Programming.

 

Beneficios del Pair Programming

El sentarse juntos aumenta en gran medida las capacidades de análisis y de percepción de los problemas, porque es bien sabido que cuatro ojos, ven más que dos. Lo que no se le ocurre a uno, se le ocurre al otro, es una evidencia.

En el Pair Programming se promueve la autogestión, ya que, por ejemplo, uno de los miembros se puede encargar del código del desarrollo mientras que el otro, del análisis, la dirección y la revisión. En otro momento, ambos pueden trabajar juntos en el código para luego, planificar. Es indiferente. Los miembros deciden en todo momento cómo ser más eficientes. Juntos o apoyándose.

Si te sientas con un compañero a realizar alguna tarea, ésta será despachada mucho antes, pues entre ambos, el avance aumentará, y por consiguiente, la tarea en vez de terminarse en 6, se hará en 4.

Además, se generará un buen traspaso de conocimiento entre las personas implicadas, evitando así, que se creen las famosas “islas de conocimiento”.

Los nuevos miembros que entren en el equipo también se verán beneficiados al ser más sencilla su integración y adaptación al entorno. Y la fatiga, se compartirá. Cuando uno flaquee, siempre quedará el otro para animarle a continuar. Para eso están los compañeros.

Existe mucha literatura especializada sobre este término, podéis indagar en las redes para averiguar más detalles acerca del Pair Programming, pero en mi opinión, no hay mucho más secreto en ello. Es lo que es. Y los beneficios que aporta, son muchos.

 

El Pair Programming en la empresa

Hay quien sostiene que el Pair Programming disminuye la productividad, pues el equipo pierde un 50% de capacidad al haber dos programadores por ordenador en cada puesto. Otros promueven que la productividad se ve beneficiada al estar dos mentes trabajando en una misma tarea.

Existe debate, pues.

Fuera como fuese, el caso es que en muy pocas empresas se llega a adoptar fielmente esta técnica de forma estable y contínua en el tiempo. Si que es verdad que se suele usar en momentos puntuales o según las necesidades y requerimientos del día a día, pero que yo conozca, no es una práctica oficial y estándar en la empresa.

Principalmente porque genera cierta desconfianza por parte de las capas superiores, ya que los costes, aumentan. Pues en definitiva, dónde antes había una persona, ahora, hay dos. Y eso se convierte en un problema significativo para los presupuestos.

Se han hecho estudios concretos sobre el Pair Programming, los cuales llevan a concluir que, tras un periodo inicial de adaptación para los individuos que conforman estos mini equipos, el resultado lleva a mejorar en un 15% los fallos localizados y corregidos, y un 30% menos las líneas de código totales.  Deducimos pues, a partir de estos datos, que el Pair Programming permite poder controlar mejor los estándares de programación, mejorar la eficiencia y proporcionar un aumento en la calidad final. Es muy interesante.

 

El Pair Programming y Scrum

No son excluyentes entre sí, ni mucho menos. El Pair Programming es una técnica muy común y muy utilizada en los entornos Ágiles.

Un equipo auto-organizado puede decidir hacer uso del Pair Programming siempre que quiera para llevar a cabo alguno de los PBI’s (Product Backlog Items) que tengan asignados para su Sprint.

El mismo Dev Team designará a los integrantes de estos mini equipos y harán uso del Pair Programming, fomentando así las relaciones entre los integrantes de los mismos y aumentando su probabilidad de éxito. Con el tiempo, la comunicación fluirá y el aprendizaje será continuo. Y por extensión, la calidad y la visión del producto mejorarán significativamente.

Así que no tengas miedo a explorar la técnica del Pair Programming y tratar de probarla en tu entorno ágil para poder sacar tus propias conclusiones.

Con coraje. Así se trabaja Scrum.

 

En Solving Ad Hoc te ofrecemos una experiencia a medida de tus necesidades reales de cambio y adaptación, con la Agilidad como compañera de viaje en tu Transformación Digital: