Los vídeos del blog como la mayoría de los "contenidos" son una recopilación de medios de divulgación externos y desconozco si los mismos tienen contratos de cesión de derechos para reproducirlos, alojarlos o permitir su descarga... Agradecemos su colaboración por informar de enlaces rotos para poder actualizarlos. Este sitio está adaptado sólo para Google Chrome y Microsoft Edge - We appreciate your help by reporting broken links to update. This site is accessible only to Google Chrome and Microsoft Edge browsers.

Programación de a pares - Trabajar en parejas para incrementar la actividad mental, la forma de pensar y ayudarnos entre nosotros

¿Querrías tener a alguien que te esté mirando trabajar todo el día? ¿Querrías desperdiciar la mitad del día, estando sentado en silencio mirando a otro escribir código?.

 La programación de a pares es una de las primeras cosas que las personas suelen notar de Extreme Programming (XP). 

¿Dos personas con un único teclado? Es raro. Y también es extremadamente poderoso y, una vez que uno se acostumbra, muy divertido. La mayoría de los programadores que prueban la programación de a pares la prefieren a trabajar solos

Por supuesto que no. Nadie quiere eso - especialmente las personas que hacen programación de a pares.

Cuando estamos en pareja, una persona escribe código - el conductor. La otra persona es el navegante, y su trabajo es pensar. Como navegante, a veces se piensa en lo que el conductor está escribiendo (no te apures en señalar puntos y comas faltantes... es molesto). A veces se piensa en qué tareas trabajar a continuación, y a veces se piensa sobre cómo armonizar el trabajo en el diseño general.
Cuando se está en parejas, se tiene una presión positiva para realizar estas tareas difíciles y cruciales. Se reparte el conocimiento del código y los consejos en todo el equipo
Esta división le permite al conductor trabajar de forma libre en los desafíos tácticos de crear código riguroso y sintácticamente correcto, sin preocuparse por los temas generales, y le brinda al navegante la oportunidad de considerar la estrategia sin distraerse por los detalles del código. Juntos, el conductor y el navegante crean productos de mayor calidad y más rápido de lo que podrían hacerlo por separado (todos los equipos son diferentes, así que hay que tomar los resultados con pinzas).

Para empezar, a los compañeros de oficina les suele resultar más difícil interrumpir a alguien que está acompañado. Cuando lo hacen, una persona puede manejar la interrupción mientras que la otra sigue concentrada. Más aún, las parejas se prestan más atención y suelen "olvidarse" del ruido de fondo.



Y si eso no fuera suficiente, trabajar en parejas es muy divertido. Nos será más fácil superar bloqueos y problemas. La mayor parte del tiempo estaremos colaborando con personas inteligentes y abiertas. Y además, si nos cansamos de "tipear", le podemos dar el teclado a nuestra pareja y seguiremos siendo productivos.

Cómo hacer programación de a pares
Recomiendo hacer programación de a pares para todo el código productivo. Muchos equipos que trabajan frecuentemente en parejas, descubren que encuentran más defectos en el código escrito de manera solitaria. Una buena regla general es trabajar en parejas para cualquier cosa que necesitemos mantener, lo cual incluye pruebas y "scripts" de construcción.

Cuando se empieza a trabajar en una tarea, le preguntamos a otro programador para que trabaje con nosotros. Si otro programador nos pide ayuda, nos sumamos. Nunca hay que asignar compañeros: las parejas son fluidas, se forman naturalmente y cambian durante el día. En el tiempo, estamos en pareja con todos en el equipo. Esto ayuda a mejorar la cohesión del equipo y distribuye las habilidades de diseño y el conocimiento por todo el equipo.
"Si tú tienes una manzana y yo tengo una manzana e intercambiamos las manzanas, entonces tanto tú como yo seguiremos teniendo una manzana cada uno. Pero si tú tienes una idea y yo tengo una idea, e intercambiamos las ideas, entonces ambos tendremos dos ideas" Bernard Shaw
Es bueno cambiar de parejas cuando necesitamos una perspectiva nueva. Generalmente hago un cambio cuando me siento frustrado o bloqueado. Una persona se queda con la tarea para que la nueva pareja pueda entrar en tema. A menudo ayuda el sólo explicarle el problema a alguien.

Es buena idea rotar parejas varias veces por día, incluso aunque no estemos bloqueados. Esto ayuda a que todos estén informados y se muevan con velocidad. Se puede rotar cada vez que se termina una tarea. Si se trabaja en una tarea grande, se puede rotar cada cuatro horas.

Cuando nos sentamos a programar en parejas debemos asegurarnos de estar cómodos físicamente. Ubicar las sillas lado-a-lado, dejando espacio personal para cada persona, y asegurarse que el monitor sea claramente visible. Cuando estamos conduciendo, ubicar el teclado justo en frente a nosotros. Presten atención a esto - por algún motivo, las personas tienden a estirarse para usar el teclado y el ratón, en vez de acercarlos.

Las parejas producen código a través de la conversación. Debemos pensar en voz alta, tanto si conducimos o navegamos. Ir avanzando de a pasos pequeños de diseño (TDD es lo mejor para esto) - y hablar sobre los presupuestos, objetivos a corto plazo, la dirección general, y cualquier historia relevante de la característica o del proyecto. Si estás confundido sobre algo, realizá preguntas. La discusión puede ayudar a tu pareja tanto como a ti.

Es común que las parejas se sientan cansadas al terminar el día. Las parejas suelen sentir que trabajaron más y lograron más resultados que cuando trabajan solos. Es por esto que el equipo debe practicar el Trabajo Energizante para mantener su habilidad de trabajar de a pares todos los días.

¿Qué es el Trabajo energizante?
Los profesionales trabajan mejor y son más productivos cuando tienen energías y están motivados. Para lograr esto, debemos combinar tiempo de calidad para distendernos, y atención enfocada en el trabajo.

Volver a casa en hora, todos los días. Pasar tiempo con familia y amigos, y hacer actividades que nos saquen la cabeza del trabajo. Comer alimentos sanos, hacer ejercicio, dormir el tiempo suficiente.

En el trabajo, dar toda nuestra atención. Apagar el teléfono y quitar todas las las interrupciones, como el e-mail y los mensajeros instantáneos.

El trabajo energizante se apoya en una visión clara y en crear planes realizables. Debemos proteger a los equipos de las políticas organizacionales destructivas y de las reuniones inútiles.
Traducido de: The art of agile development: Pair Programming, por James Shore
Visto en: Dos Ideas

No hay comentarios :