Equipos de desarrolladores remotos: ¿Cómo comparte información sobre las funciones recientemente implementadas?

Como se sugiere en la respuesta de Ira Cooper, parece que faltan dos cosas importantes en este equipo: un líder del equipo y un rastreador de problemas.

He estado y trabajé con muchos equipos remotos y parcialmente remotos en mi carrera, y este consejo es válido para todos. Se trata de liderazgo y comunicación, que siempre son importantes pero especialmente críticos para tener en cuenta cuando el equipo no está ubicado.

En este escenario en el que Jack era libre de piratear una refactorización que soñaba … ¿cómo sabía que su equipo lo encontraría beneficioso? ¿Cómo decidió pasar su tiempo en este esfuerzo en comparación con otro trabajo de error / función? ¿Por qué está en los hombros de Jack “asegurarse de que lo adopten”?

Todas las buenas tiendas en las que he trabajado han tenido:

Un líder de equipo que vigila los requisitos comerciales, el cronograma del proyecto, los recursos disponibles y la comunicación del equipo. El líder del equipo tiene el poder de “asegurarse de que lo adopten” cuando se introducen nuevas técnicas, herramientas o métodos. Y…

Un rastreador de problemas al que todo el equipo tiene acceso. Esta es la “única fuente de verdad” sobre todo el trabajo que realiza el equipo, pendiente, en progreso y completo. Los nuevos informes de errores o las solicitudes de funciones se agregan a la cartera de pedidos, se refinan, se estiman y se incorporan a la secuencia de trabajo activa cuando llega el momento. Los tickets se cierran solo cuando se cumplen los criterios acordados, por ejemplo, la empresa acepta el trabajo o los otros desarrolladores firman una revisión de código.

Para el seguimiento de problemas puede usar:

  • Rastreador de problemas de Github
  • Rastreador de problemas de Bitbucket
  • Jira
  • Trac
  • Bugzilla

¡Solo usa algo! ¡Cualquier cosa!

Jack lo ha hecho por el camino equivocado … si está al final, sin hablar con su equipo a menos que el cambio no sea muy grande.

Es crítico que los empleados remotos se comuniquen TODO el tiempo. En realidad, es más crítico que en persona, porque puede ser fácilmente malentendido. Por lo tanto, debe enviar el mensaje varias veces y de varias maneras.

En una situación como esta, haría cosas como:

  1. Explícalo diariamente para ver qué piensa su equipo.
  2. Escriba un correo a su equipo con su diseño.
  3. Ponga el código para su revisión.
  4. Proporcione medidas sobre por qué es mejor.

Con todo eso hecho … Hay alguna posibilidad de que aún puedan ignorarlo, pero las posibilidades son bastante remotas. Si la administración es CCd, en el # 4, diría que cerca de 0.

Al final … ¡El objetivo de Jack debería ser tener al equipo esperando ansiosamente su brillante trabajo! Sin preguntarme qué les había hecho Jack.

La diferencia está en la comunicación y en obtener retroalimentación temprana y frecuente.

Depende mucho del proceso seguido por el equipo. Un equipo que no sigue ningún proceso está en peligro. Lea la respuesta de Ira Cooper y la respuesta de Paul Bissex primero.

Asumiré que el equipo tiene un proceso y que el trabajo realizado por Jack ya fue planeado y acordado por el equipo. También asumiré que el equipo usa un sistema de control de versiones (por ejemplo, git, mercurial, etc.), usa herramientas de comunicación y herramientas de productividad de algún tipo.

El primer objetivo aquí es difundir la información. El enfoque más simple y directo sería enviar un correo electrónico a todos sus compañeros de equipo. “No leo correos electrónicos” no es excusa para un desarrollador del siglo XXI.

Una desventaja obvia de un correo electrónico es que puede permanecer en la bandeja de entrada de otro desarrollador durante unas horas o un día entero hasta que lo lea. Si la información necesita difundirse muy rápido, utilice una herramienta de mensajería instantánea. Me gusta usar Slack, pero Google Hangout también funciona. Slack tiene más funciones orientadas al equipo y mantiene las conversaciones mejor organizadas.

Segundo objetivo, hacer cumplir el cambio. Si existen múltiples funciones que alcanzan el mismo objetivo, es probable que las personas usen ambas. Así que elimine la característica más antigua por completo. Para facilitar la transición a otros desarrolladores y para que el resto del sistema funcione, mantenga la interfaz con la nueva función. Y dado que Jack es un caballero desarrollador (o quiere ser visto como uno), debe documentar los cambios claramente en sus mensajes de compromiso y en la herramienta wiki / documentación del equipo.

More Interesting

Me gusta la programación y la informática, pero no me gusta la programación competitiva. ¿Qué tengo que hacer?

¿Por qué la gente a menudo cambia de compañía en el sector de TI?

¿Por qué tan pocos ingenieros de software de Silicon Valley trabajan en problemas importantes?

¿Qué sitios web debe visitar un ingeniero de software?

¿Cuáles son las posibilidades (estadísticamente) de ser empleado como ingeniero de software después de graduarse de Hack Reactor?

¿Cómo es ser un ingeniero de software indio? Qué desafíos enfrentas?

¿Cuáles son las características de un buen desarrollador / ingeniero de software?

¿Qué puede hacer un ingeniero de software para competir y sobrevivir en la industria de TI después de los 40 años? ¿Tengo que pasar obligatoriamente a un rol de gerente?

¿Qué sabes sobre ingeniería geotécnica?

¿Cuál es el mejor consejo que puede dar a un programador junior?

¿Por qué aumenta la demanda de los ingenieros de software cuando el software solo se puede reutilizar?

¿Cuáles son las diferencias entre un ingeniero de software que trabaja en París y el Área de la Bahía, en términos de compensación general después de impuestos, seguridad laboral y oportunidades de desarrollo? ¿Podría alguien que ha trabajado en ambos lugares arrojar algo de luz?

¿Cuáles son algunas habilidades comunes requeridas para un ingeniero informático / de software?

Cómo trabajar de forma remota como ingeniero de software incrustado junior

¿Qué deben saber todos los ingenieros de software sobre R?