7 para trabajo remoto

Los equipos de desarrollo de software distribuido llegaron para quedarse. Aproveche estas mejores prácticas para superar los desafíos de trabajar de forma remota, mantener ágiles los equipos y maximizar la productividad y la calidad.

por Isaac Sacolick

7 para trabajo remoto

Los equipos ágiles y de desarrollo de aplicaciones han estado trabajando de forma remota durante la mayor parte del año pasado. Los desarrolladores descubrieron cómo usar Zoom, Microsoft Teams y Google Meet para realizar reuniones virtuales. Algunos usan Slack para comunicaciones asincrónicas, mientras que otros se enfocan en las capacidades de colaboración integradas en herramientas ágiles como Jira, Azure DevOps y Asana. Los principales equipos de desarrollo remoto también mejoraron sus canales de CI / CD y otras automatizaciones de DevOps para reducir el trabajo y abordar los procesos propensos a errores.

Ir más allá de las prácticas básicas de colaboración es fundamental para los equipos de desarrollo remoto. Según una encuesta reciente , el 65 por ciento de los ejecutivos de TI dijeron que al menos una cuarta parte de su fuerza laboral continuaría trabajando de forma remota. Y, de hecho, las empresas que ofrecen oportunidades laborales más remotas pueden ser un buen cambio. Una segunda encuesta sobre el futuro del trabajo y el desarrollo de software informa que casi el 60% de los encuestados aumentó la productividad del desarrollador de software cuando trabajaba de forma remota.

Entonces, si los desarrolladores que trabajan de forma remota es una nueva norma, ¿qué deberían hacer los equipos de desarrollo ágiles para mantener la productividad y la calidad del software, o mejor aún, mejorarlos? Me he centrado en la colaboración en artículos anteriores sobre las prácticas a distancia para los equipos ágiles y DevOps remotos y equipos de ingeniería , incluyendo reuniones en ejecución y el intercambio de conocimientos. En este artículo, sugiero siete mejores prácticas más en torno al proceso de desarrollo de aplicaciones.

Utilice una planificación ágil continua para mantener hojas de ruta y atrasos

El proceso de desarrollo debe comenzar discutiendo los objetivos, prioridades y requisitos con el propietario del producto ágil, el equipo de desarrollo y otras partes interesadas. Estas discusiones conducen a la redacción de historias , la estimación y el desarrollo de soluciones.

Las soluciones de software robustas, innovadoras y seguras a menudo requieren más de un sprint de planificación. Además, la mayoría de las partes interesadas del negocio quieren visibilidad del plan de lanzamiento y la hoja de ruta para planificar las actividades de cambio de transformación digital , como el marketing para aplicaciones orientadas al cliente y la capacitación para aplicaciones de experiencia de empleados.

Es difícil lograr este nivel de planificación si los equipos solo tienen trabajos pendientes para los próximos uno o dos sprints, y la organización de reuniones de planificación trimestrales es menos productiva para los equipos de desarrollo remotos.

Una mejor práctica es planificar continuamente agregando, estimando y priorizando características e historias a la acumulación de trabajos pendientes en cada sprint. Los mejores equipos apuntan a al menos cuatro sprints de una acumulación de historias de tamaño y talones de historias estimados. Los equipos que hacen esto tienen más tiempo para involucrar a las partes interesadas en la definición de MVP, desarrollar soluciones arquitectónicamente sólidas y trabajar con las dependencias.

Utilice una herramienta de pizarra para generar ideas y documentar soluciones

Una imagen vale más que mil palabras y colaborar con las partes interesadas en las personas del cliente, el mapeo de viajes y las declaraciones de problemas es una buena práctica. Los equipos deben invertir tiempo para desarrollar una comprensión compartida de los objetivos y necesidades del usuario final, pero esto no es fácil cuando las personas no pueden entrar en una sala para intercambiar ideas sobre oportunidades y soluciones.  

Los equipos de desarrollo deben utilizar mejores herramientas que las pizarras blancas tradicionales cuando intercambien ideas sobre soluciones con los propietarios de productos y las partes interesadas. Dos herramientas a considerar son Miro y Creately ; ambos ofrecen numerosas plantillas para que los equipos comiencen con la creación de diagramas colaborativos. Los equipos que desarrollan interfaces de usuario deben utilizar herramientas de estructura de cables como Balsamiq , Moqups , Adobe XD y otras alternativas .

Los equipos de desarrollo también deben utilizar herramientas de diagramación para planificar la arquitectura y las implementaciones. Tres populares son Gliffy , Lucidchart y Visio .

Invierta tiempo para aprender, aumentar e innovar con los POC

La innovación, el aprendizaje y la experimentación no deberían detenerse porque los equipos de desarrollo trabajan de forma remota. Quizás el almuerzo y las lecciones sean menos impactantes para los equipos de desarrollo remotos, pero hay opciones para que los equipos remotos establezcan una cadencia en el aprendizaje, la experimentación y el intercambio de conocimientos. Aquí algunas ideas:

  • Una vez al mes, elija un servicio de nube pública, haga que un equipo de desarrollo lleve a cabo un POC ágil y luego comparta los hallazgos con otros equipos.
  • Mire hacia adelante las funciones futuras priorizadas por el propietario del producto y cree picos en la acumulación para probar nuevas tecnologías o validar opciones de implementación.
  • Investigue nuevas oportunidades de aprendizaje, especialmente en ágil y scrum , certificaciones devops , ciencia de datos o certificaciones en la nube . Cuando los compañeros de equipo tomen cursos, inscríbalos para proporcionar una actualización virtual a todos sobre lo que aprendieron y cómo los equipos pueden aplicar esos conceptos.

La clave para los equipos remotos no es solo el aprendizaje. Compartir con los compañeros de equipo y aplicar lo aprendido es una excelente manera de que los grupos se mantengan conectados y de reforzar una cultura de aprendizaje permanente.

Sal de tu zona de confort con low-code

Muchas veces, los equipos de desarrollo remoto deben entregar aplicaciones, integraciones y modernizaciones estratégicamente importantes. Pero hay otras ocasiones en las que la organización necesita implementar una capacidad muy rápidamente, o la aplicación solicitada se utilizará solo por un período corto de tiempo, o la aplicación requiere integraciones y flujos de trabajo complejos. Cuando los equipos de desarrollo sienten que sus placas están demasiado llenas o que la aplicación solicitada está fuera de sus puntos fuertes de desarrollo, deben considerar opciones alternativas para desarrollar y respaldar aplicaciones.

Una de esas opciones de aplicación debe incluir el uso de una plataforma de código bajo . Las plataformas de desarrollo ciudadano y de bajo código son opciones importantes para los equipos de desarrollo remoto que probablemente tengan una pila creciente de solicitudes de aplicaciones para digitalizar los flujos de trabajo y modernizar las aplicaciones heredadas.

La mejor práctica aquí es salir de la zona de confort del desarrollador y la suposición de que la mejor herramienta para el trabajo es siempre la codificación. Los desarrolladores son innovadores, solucionadores de problemas y artesanos. Comprender las diferentes opciones de implementación puede conducir a entregar nuevas capacidades más rápidamente. 

Cambie las pruebas y la seguridad a la izquierda

Independientemente de cómo desarrolle aplicaciones y dónde las implemente, los equipos de desarrollo deben probar las aplicaciones para garantizar que las versiones de las aplicaciones cumplan con los requisitos funcionales, los estándares de rendimiento, los requisitos de seguridad y otras obligaciones de cumplimiento. Los equipos de desarrollo remoto no pueden confiar en los usuarios finales para realizar pruebas sólidas de aceptación de usuarios. Deberán automatizar las pruebas de plataforma, API, funcionalidad, rendimiento y seguridad. Los equipos con canalizaciones de CI / CD deben considerar la realización de pruebas continuas , donde la canalización desencadena un subconjunto de las pruebas automatizadas.

Los equipos de desarrollo remoto también deberían sentir una mayor urgencia para implementar estrategias de prueba de cambio a la izquierda , donde las pruebas sólidas se establecen y automatizan al principio del proceso de desarrollo. Nadie quiere implementar defectos en producción o responder a incidentes de producción, pero las barreras para solucionarlos (y los costos y tensiones) pueden ser significativamente mayores cuando muchas personas trabajan de forma remota.

Otras dos áreas de enfoque para los equipos de desarrollo remoto incluyen la seguridad de cambio a la izquierda y el uso de indicadores de funciones al introducir nuevas capacidades. La mejor práctica aquí es que los equipos de desarrollo remoto deben centrarse más en mejorar la calidad de las implementaciones que en aumentar las frecuencias de implementación. Las implementaciones de alta calidad son más importantes que la velocidad.

Automatice la gestión de cambios de bajo riesgo

Lo último que quieren los equipos de desarrollo remoto es pasar horas en una reunión de la junta asesora de cambios para obtener la aprobación de las implementaciones de aplicaciones de bajo riesgo. Esta reunión puede no ser una gran utilización de tiempo, pero la formalidad del proceso es importante para los equipos operativos y de seguridad, que a menudo rastrean los incidentes de producción hasta estas aprobaciones de cambios. Además, muchas empresas deben tener un proceso de aprobación de cambios para el cumplimiento de SOC 2 y otras auditorías.

Junto con los líderes de operaciones y cumplimiento, los equipos de desarrollo que han implementado CI / CD, pruebas continuas y prácticas de seguridad de cambio a la izquierda deben explorar opciones para digitalizar o automatizar aprobaciones para cambios de bajo riesgo. Las herramientas pueden ayudar a aliviar las formalidades de aprobación de cambios , por ejemplo, mediante la aprobación automática de cambios estándar en Jira Service Manager.

Desarrollar una cultura de afuera hacia adentro buscando información de otros desarrolladores

Los equipos de desarrollo también deben buscar otras mejores prácticas. A continuación se muestran algunos buenos ejemplos:

  • Tiffany Jachja , defensora de los desarrolladores de Harness, recomienda mantener una mentalidad de salud primero (por ejemplo, horarios flexibles, descansos, buena ergonomía) y crear una cultura que promueva el intercambio digital.
  • Semi Koen comparte varias recomendaciones para trabajar desde casa y sugiere evitar las distracciones digitales y permanecer visible en las herramientas de colaboración.
  • Varios desarrolladores brindan recomendaciones para reuniones remotas de scrum, y Ekram Aktas recomienda centrarse en los obstáculos y permitir que los desarrolladores “en la zona” se pierdan la reunión.
  • Por último, si tiene preguntas o inquietudes sobre el trabajo de desarrollo remoto, o si está interesado en obtener la perspectiva de un desarrollador sobre el trabajo de forma remota, le recomiendo que consulte los “10 mitos que descubrí trabajando de forma remota como desarrollador” de Tom Cafferkey .

Los equipos de desarrollo que buscan asesoramiento, opiniones y mejores prácticas externas pueden aprovechar las ideas y soluciones de otras personas para superar sus desafíos de trabajo remoto. También pueden obtener información sobre la lluvia de ideas, la innovación y la creación de soluciones que pueden aplicar a las oportunidades y desafíos más amplios del negocio.

Fuente: https://www.infoworld.com/article/3601728/7-best-practices-for-remote-development-teams.html

Isaac Sacolick es el autor del bestseller de Amazon Driving Digital: The Leader’s Guide to Business Transformation through Technology , que cubre muchas prácticas como la planificación ágil , devops y ciencia de datos que son fundamentales para programas de transformación digital exitosos. Sacolick es un reconocido CIO social, influyente en la transformación digital y editor colaborador de, CIO.com y Social, Agile y Transformation.

Deja una respuesta