Ayudar a nuestros desarrolladores a mantenerse productivos mientras trabajan de manera remota

Por: Jared Spataro, vicepresidente corporativo para Microsoft 365.

Desde que Microsoft se movió al trabajo remoto hace unas semanas, hemos descubierto mucho como compañía. Hace unos días, mi colega en nuestro equipo interno de TI, Nathalie D’Hers, compartió nueva maneras en las que su equipo permite a miles de empleados trabajar de manera remota. En su texto, D’Hers menciona los desafíos únicos que los equipos de desarrollo enfrentan cuando se mueven al trabajo remoto. Esto aumentó mi interés por saber qué hacen los equipos de ingeniería en Microsoft para habilitar el trabajo remoto para los desarrolladores, así que le pregunté a Aleš Holeček, vicepresidente corporativo del equipo de ingeniería en la organización de experiencia de Office, que compartiera sus principales consejos y reflexiones. Creo que las encontrarán interesantes y útiles, como yo. Te cedo la palabra Aleš.

Mantener productivo a nuestro equipo es clave para que nuestros servicios funcionen para nuestros clientes. Dado que mucho del trabajo es en línea, nos movilizamos para poder responder de manera rápida y efectiva. Aquí, compartiré algunas de las maneras en las que trabajamos para hacer esto tan transparente como sea posible, incluidos aprendizajes tempranos sobre cómo el cambio al trabajo remoto ha impactado nuestra productividad hasta ahora.

El impacto del trabajo remoto en las personas

Fomentar la cultura de equipo

El desarrollo de software es un deporte de equipo, en el que los ingenieros necesitan trabajar en conjunto para resolver problemas complejos. En Microsoft, esto por lo general significa trabajar juntos en entornos colaborativos. Cuando trabajamos de manera remota, perdemos la capacidad de ir al escritorio de alguien, caminar por los pasillos, y reunirnos para almuerzos en grupo. Esto hace que desconectarse sea muy fácil para los miembros del equipo. Para retener un entorno de equipo colaborativo, hemos establecido prácticas de equipo, que incluyen:

  • Un canal de cultura en Microsoft Teams para utilizarlo para reuniones virtuales “en la máquina de café”.
  • Almuerzos y recesos de café virtuales.
  • Caminatas al exterior durante llamadas de seguimiento con compañeros de equipo.
  • Un tablero de bingo en una llamada de conferencia, con cosas como “ladrido de perro”, “entró un niño a la habitación”, etc.

Mantenerse informados

Mantener informados a los empleados es un aspecto clave del trabajo remoto. Nuestro equipo creó una lista en línea de información útil – desde sugerencias para el trabajo remoto y orientación para toda la compañía sobre hardware y tips actuales para auto hospedar. Se actualiza a diario, si no es que cada hora, con la información más reciente, conforme la recibimos.

Recursos

Existen muchos buenos artículos que le pueden ayudar a su gente a trabajar de manera remota. Recomendamos este texto de Scott Hanselman en nuestra división de desarrolladores. Él ha trabajado de manera remota en los últimos 13 años y recién desempolvó sus mejores prácticas para compartirlas con la gente que ha comenzado a hacer el cambio. (Scott también lanzó un increíble hilo en Twitter que muestra montajes de trabajo en casa para desarrolladores)

Herramientas y procesos amigables con el trabajo remoto

Nuestro trabajo no se detiene mientras estamos en casa.

Montaje de tecnología

Comenzamos con el montaje de su tecnología y de asegurarnos que tienen el hardware y las conexiones de red correctas. La mayoría de nuestros ingenieros ya tienen una laptop provista por Microsoft para permitirles realizar sus tareas de manera remota. También invitamos a nuestros empleados a llevar monitores, hardware y periféricos para imitar su configuración de trabajo de la oficina. Esto es en especial importante para los desarrolladores que utilizan configuraciones de dos o tres monitores.

Hace unos días, compartimos Las principales 9 maneras en las que Microsoft IT habilita el trabajo remoto, que cubre a profundidad escenarios de TI. A continuación, tres aprendizajes clave de acceso remoto para equipos de desarrollo.

  1. A los desarrolladores que trabajan de manera exclusiva en equipos de escritorio se les deben otorgar laptops corporativas con una solución de Windows Virtual Desktop que les permita entrar de manera remota a su entorno de desarrollo.
  2. Si eso no es posible, entonces recomendamos configurar una máquina virtual (VM, por sus siglas en inglés) Hyper-V en su máquina de casa y gestionar la VM para VPN directa y trabajo remoto.
  3. Para aquellos que no necesitan acceso directo a recursos remotos, o que tienen el hardware para soportar VM, los servicios en la nube pueden ayudar. Visual Studio Online es un servicio que crea entornos de desarrollo hospedados en la nube desde cualquier repositorio Git. Pueden conectarse a esos ambientes de manera directa desde Visual Studio Code, que brinda una experiencia que se ve y se siente local. Para tareas que requieren acceso a hardware especializado, los desarrolladores pueden ligar su máquina existente a Visual Studio Online.

Envío

Luego, necesitamos mantener nuestros bien establecidos ritmos de trabajo para enviar software. Nuestros equipos de ingeniería se apoyan en reuniones regulares de actualización y envío para mantener a todos en movimiento. Estas reuniones no deben detenerse, y no lo hacen. En su lugar, las hemos movido en exclusiva a Microsoft Teams. Además de ser el centro para reuniones remotas, Teams tiene aplicaciones específicas para el desarrollo de software, como Azure Boards para planear y dar seguimiento al trabajo, y Microsoft Whiteboard, que permite a los participantes en la reunión bocetar flujos y mapear ideas. Estas herramientas ayudan a reunir a su equipo como si estuvieran en la oficina.

Aprender de los colegas

Trabajar de manera remota puede ser un desafío para los desarrolladores que participan en reuniones con colegas o programación de pares, donde por lo general se sientan juntos y aprenden entre ellos. Nuestros desarrolladores utilizan Visual Studio Live Share para sesiones conjuntas de depuración y aprender de sus colegas. Live Share permite a los desarrolladores trabajar tanto en conjunto como de manera independiente, y se siente muy parecido a una colaboración en persona.

Contratación

La contratación es otro proceso esencial que no puede ponerse en pausa mientras se trabaja de manera remota. Hemos encontrado útil utilizar Live Share para entrevistas técnicas, lo que nos permite comprometer y comunicarnos con los candidatos a través de herramientas con las que ya se sienten cómodos.

Imagen animada que muestra a Visual Studio y Visual Studio Code trabajar de la mano
Desarrolladores colaboran en tiempo real, entre Visual Studio y Visual Studio Code.

Lo que hemos aprendido hasta ahora

Como ustedes, aprendemos sobre la marcha. Sin embargo, nos sentimos aliviados por un vistazo temprano a los números relacionados con la productividad de ingeniería durante este periodo de trabajar por primera vez de manera remota. A través de Microsoft, damos seguimiento al número de veces que los ingenieros enviaron cambios al código de cómputo que la compañía utiliza – un proxy para la productividad. La tabla a continuación muestra las solicitudes de extracción completadas por semana, que comienza a inicios de 2020. Medir solicitudes de extracción completadas es un buen indicador para conocer si mantenemos nuestra velocidad de desarrollo.

Entre artículos de trabajo, compromisos, y solicitudes de extracción, no hemos visto ningún declive. Si algo ha cambiado, es un cambio en la actividad durante el día, donde la actividad comienza más temprano y termina más tarde, y con menos “picos” a mitad del día. El gráfico a continuación muestra versiones por ingeniero por hora en Office Engineering:

Gráfico que muestra versiones por ingeniero por hora a través de la organización Office Engineering
Versiones por ingeniero por hora – organización de Office Engineering.

Permitir a un equipo trabajar de manera remota es un desafío continuo, y entendemos que este es diferente para cada organización. Hemos encontrado que mantener una cultura colaborativa y productiva, impulsar a los desarrolladores con herramientas listas para el trabajo remoto, y revisar los números para garantizar que nos mantenemos productivos, son todas maneras efectivas de ayudar a nuestro equipo de ingeniería con el trabajo remoto. A medida que más organizaciones hacen la transición al trabajo remoto, compartiremos mejores prácticas, historias de éxito y consejos para ayudar a que sea una experiencia fluida y exitosa para todos.

Tags: , , , ,

Publicaciones Relacionadas