Llegamos a ustedes gracias a:



Reportajes y análisis

Cómo los equipos de desarrolladores trabajan en remoto

[15/05/2020] A medida que la pandemia de coronavirus continúa cerrando ciudades y oficinas en todo el mundo, los desarrolladores e ingenieros de software se están adaptando rápidamente para operar en equipos remotos y distribuidos.

La buena noticia es que los programadores pueden trabajar fácilmente donde sea que tengan una laptop y una conexión segura a Internet, pero los impactos culturales en los equipos pueden ser significativos. Por supuesto, las herramientas ayudan, y cada vez se implementan más funciones de colaboración en vivo en los principales softwares de codificación. Pero otros problemas relacionados con el trabajo remoto no se pueden resolver con herramientas.

Lograr la concentración al trabajar desde el escritorio de su hogar o sala de estar, con todas las distracciones que lo acompañan, puede ser un desafío. El trabajo distribuido también puede ser una fuente de ansiedad para los gerentes que ya no obtienen visibilidad completa de las actividades de su equipo y desean mantener un alto nivel de velocidad y solidez en los releases.

Así es como las organizaciones de diversas formas y tamaños están adaptando sus equipos y flujos de trabajo al nuevo mundo de trabajo remoto.

Zapier: Veteranos de la colaboración remota

Zapier, especialista en software de automatización, siempre ha sido una empresa completamente distribuida, con más de 300 empleados remotos repartidos en 17 husos horarios y 28 países. "Cuando se trabaja de forma remota, se debe medir las contribuciones por producto y resultados, explica Doug Gaff, vicepresidente de ingeniería, en un intercambio de correos electrónicos con InfoWorld.

Zapier ofrece a sus empleados una gran cantidad de recursos para trabajo remoto, desde sus herramientas y tácticas de comunicación favoritas hasta estrategias de administración remota. Una de las publicaciones más útiles de Zapier respecto a la situación actual es "How to transition to remote work in a hurry por el CEO Wade Foster.

Zapier organiza a sus desarrolladores en "EPD trios, formados por un gerente de ingeniería, un gerente de producto y un diseñador, que colectivamente poseen una pieza distinta del producto. Los EPD trios tienen una velocidad de salida relativa, y todos los resultados se alinean con un conjunto de objetivos compartidos y resultados clave (OKR). "Poseen colectivamente las solicitudes de los clientes, los objetivos de diseño y UX, y la arquitectura técnica y la reducción de la deuda. Y lo más importante es que pueden abogar por las respectivas posiciones e intereses de cada uno, agrega Gaff.

Un valor clave en Zapier es "default to transparency, lo que significa que la mayoría de las comunicaciones se realizan en canales públicos utilizando herramientas como Slack, Zoom y Quip (propiedad de Salesforce), que actúa como una base de conocimiento. Sin embargo, esto puede conducir a una sobrecarga de información, hasta el punto en que nadie puede encontrar nada o hacer su trabajo, como lo detalla la publicación del blog de Zapier "Five tips for communicating on a remote team. Ser claro, específico y directo en sus comunicaciones es una buena manera de reducir la carga cognitiva de sus colegas.

Gaff admite que puede ser más difícil construir relaciones profesionales significativas cuando se trabaja de forma remota. "Una forma en que facilitamos esta construcción de relaciones es recreando momentos en Slack. Tenemos cientos de canales de Slack dedicados a pasatiempos e intereses para que las personas puedan discutir temas fuera de su trabajo y conocerse. El tiempo dedicado a estos canales es visto como la integración de equipos, y es importante que los líderes también participen en ellos, explica.

Sin embargo, esto tiene que venir con límites. "Cuando uno trabaja de forma remota, siempre existe la tentación de trabajar 24/7, señala. "Esto puede conducir a hábitos poco saludables y agotamiento. Los trabajadores remotos necesitan la disciplina para alejarse del trabajo al final de cada día. Es el trabajo de un gerente alentar estos límites y seguirlos también.

Gaff comenta que, a medida que los equipos se adaptan al trabajo remoto, se debe cultivar una cultura de confianza. "Las personas están experimentando una alta carga cognitiva: controlando el estrés familiar, aprendiendo a trabajar de forma remota, potencialmente controlando enfermedades. Lo mejor que puede hacer es buscar antipatrones culturales. Por ejemplo, en algunas culturas de oficina, presentarse en un momento particular es una prueba de estar trabajando. Eso no funciona en la vida remota.

Twilio: De parcial a totalmente remoto

El trabajo remoto no es nuevo para el especialista en API de comunicaciones Twilio, pero la pandemia ha causado un cambio masivo. Antes del brote de coronavirus, el CEO Jeff Lawson le dijo a TechCrunch que alrededor del 10% de la empresa trabajaba de forma remota. "Para que una compañía como nosotros pase de ser parcialmente virtual a completamente virtual en un corto período de tiempo, cabe la posibilidad de que se presenten inconvenientes, pero ha funcionado bastante bien, asegura.

Parte de ese 10% de los trabajadores remotos incluía el equipo de Marcos Placona, gerente de evangelización de desarrolladores en Twilio. "Mi equipo siempre ha trabajado de forma distribuida con informes directos en los Estados Unidos, el Reino Unido y en toda Europa, comenta Placona a InfoWorld.

Las diversas zonas horarias hacen que sea "difícil trabajar de esta manera, admite, "pero tenemos controles regulares con el equipo y con las personas de manera individual semanalmente.

Los desarrolladores evangelistas en Twilio todavía contribuyen con el código y tienen que rastrear las contribuciones, además de escribir documentación y filtrar montones de comentarios de los clientes. Durante la pandemia, este equipo ha pasado a realizar stand-ups remotos diarios. Se realizan reuniones semanales más amplias de todo el equipo por región, así como una hora loca virtual los viernes.

Zoom es la herramienta de referencia para todas las videoconferencias, Slack para la comunicación de texto y Airtable se usa para la gestión de tareas. Luego está el repositorio de código privado GitHub, que se utiliza para rastrear proyectos internos. GitHub también ofrece una forma de ver en qué están trabajando las personas.

"Una cosa que me tomó por sorpresa es que, aunque trabajo en un equipo distribuido, especialmente en la primera semana, noté que mucha gente luchaba por concentrarse, señala Placona. "Hice hincapié en que era el mismo tipo de trabajo que habíamos venido realizando durante años, pero la razón era que estaba sucediendo demasiado.

"Una solución que encuentro útil son las listas escritas de lo que se debe hacer ese día. Le pedí a las personas que simplemente vayan y envíen algo, hagan una publicación de blog, escriban un código; que marquen algo como hecho en esa lista y se sentirán mejor.

TravelTime: Remoto por naturaleza

La startup TravelTime ofrece una API que les permite a los clientes medir la distancia en el tiempo que tarde llegar del punto A al B, utilizada por la plataforma de búsqueda de propiedades Zoopla y el sitio de trabajo TotalJobs. El personal de TravelTime siempre ha sido principalmente remoto debido a su historia fundacional algo inusual.

El cofundador Charlie Davies, autoproclamado "desarrollador terrible, buscaba ayuda con una biblioteca de KRuby con la que estaba tratando de trabajar. Así conoció a su primer empleado, que lo ayudaba desde su sala de estar en Lituania.

Davies le comenta a InfoWorld por videollamada que su equipo actual de 30 sigue distribuido en el Reino Unido, los Países Bajos y Lituania, aunque quiere limitar que la organización llegue a trabajar en demasiadas zonas horarias.

"La autonomía, la confianza y la inclusión son los pilares con que manejamos el equipo, señala, y agrega que esta horrorizado por los informes de los empleados que monitorean remotamente los niveles de productividad de sus empleados. "Trabajar en un equipo remoto requiere confianza, afirma; "yo creo que se tiene que confiar en las personas que trabajan para uno, y eso es algo bidireccional. Cada uno de nuestros desarrolladores tiene una participación en la empresa, y tenemos un esquema de opción sobre acciones que nos permite trabajar de esa manera, sin monitorear el trabajo de nuestros desarrolladores.

Los desarrolladores completan sus propias hojas de tiempo y usan software como Slack para la comunicación diaria, GitHub para la gestión del código y YouTrack para gestionar las tareas. "En un entorno remoto, su trabajo tiene que hablar por sí mismo, asegura.

Davies tiene un último consejo para cualquiera que esté pasando por esta situación ahora: "No puede micro gestionar. Eso lo volverá loco, no logrará hacer nada y el equipo lo odiará por ello. La confianza y autonomía crean una cultura de autogobierno, señala.

Smarkets: Nunca remotos, hasta ahora

El mercado de apuestas con sede en Londres, Smarkets, contaba con una postura bastante estricta contra el trabajo remoto antes de que llegara la pandemia de coronavirus. Sin embargo, ha cambiado rápidamente a operar de manera remota, estableciendo prácticas de trabajo "normales" a través de Hangouts de Google y Slack para mantener a todos interesados mientras trabajan desde casa.

"Hemos sido firmes contra [trabajar desde casa] porque creemos que tener a todos en la oficina y garantizar que se sienten a almorzar crea un flujo natural de ideas y un nivel de polinización cruzada entre los equipos tecnológicos que es difícil de imitar de forma remota, le comenta Robin Harrison, CTO de Smarkets, a InfoWorld.

Los equipos de desarrolladores de Smarkets trabajan en el modelo DevOps, donde todos los equipos tecnológicos brindan soporte a lo que construyen 24/7; lo que quiere decir que saben cómo hacer las cosas de forma remota, pero no todo el tiempo.

"En términos de desarrollo sobre el terreno, no se presentan demasiados cambios en las métricas para el desarrollo básico, comenta Harrison. "Hacemos un seguimiento de los cambios y confirmaciones mensuales del código base, y ninguno presenta mayores alteraciones, lo que muestra que el proceso de desarrollo sigue avanzando y que los lanzamientos de aplicaciones móviles no han cambiado.

Una cosa que Harrison no ha podido replicar remotamente son las pizarras blancas. "Hay una razón por la que existen las pizarras, la velocidad a la que puede expresar ideas abstractas es muy diferente a la palabra escrita, y la forma en que puede colaborar con colegas es algo que nos falta".

Las herramientas clave para Smarkets son Slack y G Suite, especialmente Hangouts; pero una instancia privada de GitLab como repositorio de código, junto con Jenkins para CI/CD, también es parte clave del rompecabezas del equipo remoto.

"Todo está unido por GitLab, anota Harrison, "por lo que las notificaciones son importantes para que los desarrolladores hagan un seguimiento de lo que está sucediendo con el código base. Las revisiones de código son formales y nuestro flujo de desarrollo requiere un examinador diferente para aprobar el cambio, así que esa herramienta es buena para tal caso.

Esto significa que Smarkets se está ejecutando esencialmente en un modelo GitOps, que extiende el alcance de los desarrolladores sobre las aplicaciones a través de la producción. Incluso cuando todos estén de vuelta en la oficina almorzando juntos, es probable que esta nueva forma de trabajo prevalezca ya que los desarrolladores obtienen una visibilidad completa del código.