¿Cómo se investiga mientras se programa la pareja?

20

Recientemente comencé en un nuevo trabajo y el emparejamiento me ha ayudado a ser efectivo allí muy rápidamente. Sin embargo, estoy teniendo dificultades cuando debemos hacer una breve investigación conjunta durante nuestro flujo de trabajo, cubriendo características de API, ejemplos de código u opciones de comando. El líder de mi equipo nos insta a hacer toda la investigación en nuestra estación de emparejamiento, en lugar de nuestras computadoras portátiles individuales, y sincronizar nuestra investigación negociando verbalmente los pasos entre los diferentes recursos web.

Investigo, leo y absorbo información de manera diferente a mi compañero de pareja, y me siento mucho más productivo cuando puedo seguir un hilo de investigación a la siguiente página web exactamente cuando quiero, en lugar de tratar de mantener el ritmo exacto y el lugar con lo que La lectura de mi compañero. Somos inteligentes y rápidos, pero no podemos evitar movernos de diferentes maneras y velocidades instantáneas cuando estamos resolviendo cosas. Parece mucho más fácil hurgar individualmente por un minuto hasta que uno de nosotros diga "Lo tengo", luego vuelva a reunirse y codifique.

Cuando empareja el programa, ¿cómo maneja las tareas de investigación cortas? ¿Qué funciona mejor para usted y cómo mantenerse sincronizado con su pareja?

peligro de tráfico
fuente

Respuestas:

14

La programación en pareja es una herramienta. Como cualquier herramienta, hay momentos en que es útil y otros en que no. El uso de las herramientas adecuadas para el trabajo puede involucrar diferentes herramientas en diferentes momentos, incluida una mezcla de esas herramientas.

Por lo tanto, si la situación lo requiere, separe cuando sea necesario y reúnase cuando sea necesario.

Por ejemplo, si ambos están investigando algo y uno de ustedes encuentra algo interesante, entonces quizás ambos puedan verlo juntos. Pero si ambos intentan encontrar una respuesta, a veces separarse para buscar en paralelo es más productivo.

Cuando uno de ustedes encuentre la respuesta, reanude la pair programmingsesión.

En resumen, se llama Pair Programming,no Pair Researching.

jmort253
fuente
8

Cuando emparejo el programa, quien no está escribiendo en la computadora principal tiene acceso a una computadora portátil para investigar. Esto hace que todo el proceso sea menos frustrante para el miembro 'no mecanografiado' del par.

Westcoastdiff
fuente
1
¿No se distrae el no-típer de lo que la pareja está tratando de lograr? ¿Cómo se da cuenta de lo que el otro programador logró mientras no estaban mirando?
Adam Lear
2
Si dos personas trabajan en dos computadoras, ¡eso no es programación de pares!
Johnsyweb
66
Si la persona en la estación de programación de pares está investigando y no programando, entonces el proceso de recuperación simplemente implica un "¡Hola amigo! Mira lo que acabo de encontrar ...". El hecho de que ambas personas estén investigando algo independientemente no significa que dejen de comunicarse.
jmort253
No creo que quiera llegar tan lejos; cuando se escribe el código, quiero mirarlo. Estoy hablando más sobre la situación en la que ambos sabemos lo que tenemos que hacer a continuación, pero no sabemos cómo hacerlo, así que nos tomamos un minuto para buscarlo.
Traffichazard
2
Para aclarar mi respuesta. El miembro que no escribe generalmente solo estaría investigando si el código no se estaba escribiendo en ese momento. Por ejemplo, el miembro que escribe está construyendo o investigando también. @Johnsyweb Creo que es importante reconocer que la programación de pares (o algo así) no es una propuesta de todo o nada.
westcoastdiff
3

La investigación paralela es muy poderosa si busca respuestas en diferentes lugares. "Leíste ese artículo, buscaré el libro y lo sincronizaremos en 10 minutos". Quien presente una (posible) solución debe compartir el conocimiento, por supuesto.

Una excelente manera de manejar esto es mediante el uso de un " pico ". Esto sucede durante la reunión de estimación para ayudar a que las estimaciones sean más precisas. En resumen, pospone la estimación de una tarea específica hasta que se complete el pico (timeboxed) y sepa lo suficiente sobre el problema para ponerle un número con confianza. Esto puede incluir probar alguna nueva lib o componente o escribir un pequeño programa como prueba de concepto.

Martin Wickman
fuente