Los beneficios y las dificultades de la programación por parejas en el lugar de trabajo

La programación en pareja consiste en dos programadores que trabajan juntos en una estación de trabajo.

Formalmente, un programador es el controlador y escribe código. El otro es el observador o navegador que revisa cada línea de código a medida que se escribe.

De manera informal, se sientan juntos en una base de código y hablan sobre cosas y desglosan los problemas. Cualquiera de los dos puede escribir código y ninguno de ellos hace nada más que revisar el teléfono.

Algunas organizaciones adoptan ampliamente la programación en parejas y otras la rechazan. Siempre es un tema de debate y la gente tendrá sus preferencias. Todos somos humanos y hay momentos en que casi todos pueden beneficiarse de la programación en pareja.

Sin embargo, parece un uso ineficaz de los recursos. Tenemos dos programadores. Ambos podrían estar construyendo diferentes funciones durante una semana, al final tendremos el doble de funciones. Pero este no es el caso y es posible que termine con 2 conjuntos de funciones al 95% que no se pueden enviar. La programación conjunta puede aumentar la cantidad neta de funciones realmente completas que envía.

Los beneficios

Menos errores y retenciones de errores

Todos hemos tenido errores locos. Estos pueden deberse a fallas fundamentales en todo el enfoque o un error tipográfico, una instalación incorrecta o la necesidad de reiniciar.

Como equipo, lo más probable es que alguno de ustedes haya cometido un error similar antes. O es probable que uno de ustedes conozca a otra persona que ha encontrado el problema. Y es más probable que asigne el tiempo correcto a un problema antes de volver a la mesa de dibujo.

Puede discutir mejores estrategias. Esto es mejor que mantener el problema oculto todo el día sin compartirlo con otros.

Más fácil de seguir adelante: apoyo moral

A menudo, trabajar en equipo puede aumentar la positividad sobre un problema. Cuando alguien comparte un problema por el que está pasando, se siente menos derrotado y más positivo al intentarlo una y otra vez ...

Más difícil de procrastinar

Trabajar en equipo significa que no puede detenerse y revisar su correo electrónico, Slack o Whatsapp en busca de cualquier distracción deseada.

Esto parece una pequeña cosa. Pero puede cuadriplicar la cantidad de horas que un codificador pasa en el editor y la codificación, en lugar de sentarse en un escritorio comiendo horas del día hasta la hora de irse a casa.

Prácticas recomendadas compartidas

Codificar juntos es una excelente manera de compartir conocimientos en su empresa. Los programadores pueden darse consejos entre ellos a medida que avanzan para mejorar su enfoque y aumentar su velocidad.

Trabajar juntos puede descubrir conocimientos que pueden no estar en su Manual del nuevo empleado.

Incorporación más rápida

Los nuevos empleados pueden ponerse al día mucho más rápido si se emparejan con un miembro experimentado del equipo.

Identificar y reducir las malas contrataciones

Puede ayudar a identificar a las malas contrataciones desde el principio si alguien no es el adecuado para un negocio o fue contratado para el puesto incorrecto. Puede hacer algo al respecto desde el principio antes de perder el tiempo de ambas partes.

Durante una entrevista de contratación, un equipo familiarizado con la programación en pareja será mejor para evaluar si el candidato puede programar con otros. Si el tipo normal que lleva a cabo las entrevistas no está presente, puede estar seguro de que alguien más puede reemplazarlo y brindar un análisis justo.

Incrementar la satisfacción de los empleados

Codificar juntos puede acercar a los empleados a medida que comparten experiencias y tienen más temas de los que hablar. Cuando otras personas entiendan lo que estás haciendo, tendrás más en común. Esto puede afectar muchas áreas comerciales importantes. Incluso puede mejorar los temas de conversación en el almuerzo para reducir la rotación de empleados.

La codificación puede ser una búsqueda solitaria cuando estás solo detrás de una computadora y te dicen que produzcas funciones. Reducir cualquier alienación en una empresa es importante. Ésta es una de las razones por las que sugeriría tener un sistema de programación en pareja para las empresas emergentes y las grandes empresas.

Problemas: cuando el emparejamiento sale mal

La programación en pareja puede estropear las cosas y necesita un enfoque sensato.

No exagere (o no lo haga)

Obligar a las personas a pasar todo el día juntas no es sensato y es posible que terminen odiándose entre sí.

Las ráfagas de 1,5 a 2,5 horas suelen funcionar mejor. Menos es demasiado corto y es una pérdida de tiempo.

Recompensa la contribución compartida

Si ha dado plazos importantes a dos programadores y luego asigna uno para ayudar al otro con su tarea, se dirige a un posible desastre. Cuando revisa quién ha completado sus tareas y uno siente que no ha hecho nada, las métricas personales sufren. Mentalmente esto es malo. Pero si está vinculado a algún sistema de recompensa, te disparas en el pie. Como scrum master, debes asegurarte de tener en cuenta el emparejamiento y la asignación de tareas de manera justa.

Codificadores cansados

Más café y maridaje no siempre es la respuesta. Cuando está cansado y estresado, es posible que no se esté comunicando correctamente.

Esto puede causar más problemas en el código y entre ellos. Algunas personas se desempeñan mejor de esta manera y otras no, por lo que es posible que corra un riesgo.

Código complejo: emparejar o discutir

Para un código más complejo, podría ser una distracción intentar emparejar. A veces, sentarse y explicar el problema puede ser más beneficioso.

Sentarse formalmente juntos y escribir código línea por línea en realidad podría distraer.

otros pensamientos

Pero, ¿qué pasa con los trabajadores remotos?

Los empleados que trabajan de forma remota pueden emparejar el programa con herramientas para compartir pantalla en línea. He depurado el código de amigos en Bruselas mientras estaba sentado en un café en Kazajstán. Créame, es posible.

¿Alguna prueba?

Estos son reflejos de mis experiencias. He percibido estos beneficios al trabajar con varias empresas y diferentes bootcamps.

Como científico, acepto que nunca he hecho una prueba doble ciego sobre los beneficios. Por supuesto, nunca ha sido una prioridad lo suficientemente grande en comparación con simplemente hacer las cosas.

Pero me encantaría un estudio con más de 100 participantes trabajando en el mismo conjunto de problemas. Un grupo de 50 podría trabajar en parejas y el otro grupo podría trabajar solo. Me gustaría ver qué pasa. Podría ser un buen estudio para cualquier profesor de informática.

Conclusión

Como pueden ver, soy un fanático de la programación por parejas. Algunos programadores no creen que sea un uso eficaz de su tiempo. Si eres un gerente, depende de ti evaluar la situación y aprovechar al máximo a tu equipo. De cualquier manera, definitivamente es algo que todas las empresas deberían permitir en ocasiones.

Debería implementarse dinámicamente en lugar de hacerse cumplir. Cualquier campo de entrenamiento debe incorporarlo a su curso para construir un codificador completo.

Lo usamos a menudo en mi propia agencia de desarrollo, desde abordar nuestros problemas más difíciles hasta incorporar personal nuevo. Es un proceso que disfrutamos usar para impulsar el desempeño y el conocimiento en toda la empresa. ¡Por supuesto, no lo hacemos cumplir todo el día y todos los días! Pero nos gusta y nos lo quedamos.

Como dice el viejo refrán “ Un problema compartido, es un problema reducido a la mitad. "

Ejecuto un podcast sobre mentalidad de crecimiento y puesta en marcha de tecnología. Si te gustó esto, aprenderás más suscribiéndote.

Si ha utilizado la programación por pares, me encantaría conocer su opinión al respecto. ¿Qué prácticas o consejos usas para decidir cuándo emparejar o no?