
Contenidos
Situación actual
Llevamos ya tres semanas trabajando en remoto todo el equipo al 100% debido a la situación que estamos viviendo por el Covid 19. Cada uno desde el sitio que más le conviene para poder conciliar su vida laboral con su vida familiar y social. El cambio se hizo de un día para otro. Literalmente.
Lo único necesario es un portátil y una conexión a Internet. Esto es lo que más me maravilla de esta profesión!
El confinamiento nos pilló por sorpresa a mitad del desarrollo de una versión y sin embargo seguimos con nuestro ritmo de trabajo habitual. Somos afortunados al poder seguir trabajando en estos momentos. Afortunada también es la empresa por poder seguir manteniendo su negocio sin necesidad de tomar medidas drásticas.
Hasta ahora la productividad no se ha visto afectada. Esto es así por varios motivos. Ya contábamos con las herramientas e infraestructura necesarias en la empresa para trabajar en remoto. Teníamos una metodología de trabajo y todo el equipo la conocía y aplicaba en mayor o menor medida. El equipo ya estaba habituado a trabajar en remoto parcialmente, pues tenemos dos centros de trabajo. Incluso algunos miembros del equipo ya estaban trabajando en remoto varios días por semana.
Ahora me pregunto que hubiese pasado si no hubiéramos cambiado y evolucionado nuestro modo de trabajo hace apenas cuatro años. Creo que esta transición tan rápida no se hubiese podido dar. No al menos sin sufrir una caída de productividad.
Cambios en el modo de trabajo
Hicimos varios cambios significativos.
Uno de los primeros fue implantar un Sistema de Integración Continua. Comenzamos a usar herramientas como BitBucket, Bamboo y Nexus que nos permitiera tener un sistema automatizado de construcción de artefactos y liberar versiones del producto con mayor frecuencia.
Otro cambio fue comenzar a seguir una metodología ágil de desarrollo gestionando el backlog del producto, haciendo sprints con alcances reducidos, etc. Comenzamos a usar masivamente JIRA como herramienta de gestión de tareas, de requisitos, features, testing tasks,... y no solo para gestionar bugs. Definimos una metodología de trabajo identificando fases en el desarrollo y en el testeo, así como los activos que debíamos producir en cada fase.
Otro cambio fue concienciarnos de la importancia de la calidad del código comenzando a usar Sonar, definiendo procedimientos de revisión de diseños y procedimientos de auditorías de código, tanto funcionales como técnicas. Reforzamos el producto incluyendo tests unitarios, tests de integración, tests de ensamblaje y tests de aceptación. Con todo esto logramos que el equipo se concienciara de que el código debía tener una calidad mínima y empezó a cuidarlo.
Otro cambio fue adaptar progresivamente el código del producto para usar el framework de desarrollo Spring en backend y Angular en frontend.
La comunicación es clave
Otro cambio fue el de usar un lenguaje común y específico todos los miembros del equipo con el objetivo de hacer eficiente y eficaz la comunicación entre nosotros. Este cambio ha sido uno de los que más nos ha beneficiado al trabajar estas semanas en remoto.
Tener un lenguaje común y específico es clave para asegurarnos que el mensaje que queremos transmitir al otro va a ser interpretado bien minimizando las ambigüedades que pueda haber. Este lenguaje en realidad es un conjunto de lenguajes y todos ellos tienen en común que son lenguajes específicos de dominio. Identificamos los siguientes lenguajes:
- Del dominio del negocio.
- De diseño software.
- De desarrollo de software.
- De testing de software.
Al estar todo el equipo trabajando en remoto se hace indispensable hacer dailys para poner en común el avance de cada uno, los posibles problemas, bloqueos e interdependencias entre tareas y también para tener una previsión de trabajo de los próximos días. Ya veníamos haciendo estas reuniones diarias pero ahora se vuelven muy necesarias.
Los canales de comunicación también son importantes. Se han de definir y respetar para minimizar las interrupciones. Relacionado con esto último si que hemos notado un mayor número de interrupciones y de reuniones con el equipo de gestión y operaciones que nos obliga a cambiar de contexto y perder flow. Es una parte que tenemos que reorientar y cambiar.
Las comunicaciones han pasado de ser mayoritariamente habladas a escritas. En un principio puede pensarse que es menos eficiente. Sin embargo, las escritas son mas eficaces porque te obliga a pensar con antelación el tema a discutir y a plasmarlo con mayor cuidado para que el otro lo entienda y pueda aportar una respuesta útil. Al usar herramientas colaborativas online como JIRA y Confluence, no hemos tenido ningún contratiempo.
¿Qué nos espera?
La verdad es que a día de hoy no tenemos una previsión certera de cuándo terminará el confinamiento. Habrá que ir viendo como evoluciona la situación con el virus. Sólo nos queda la opción de seguir trabajando en remoto y dar lo mejor de nosotros.
Ahora bien, ¿qué futuros escenarios se pueden dar después cuando volvamos a una situación nominal?
Gracias al trabajo en remoto la empresa ha podido salvar su negocio y los trabajadores, sus puestos de trabajo. Se está demostrando una productividad equivalente aún no teniendo las condiciones ideales de trabajo (niños en casa !). ¿Y a la vuelta qué? ¿Habrá empresas que ofrezcan mayor flexibilidad con el trabajo en remoto? ¿Habrá mayor número de trabajadores que valoren aún más esta opción a la hora de escoger un puesto de trabajo?
Puede que las reglas del juego cambien. Sin embargo, todo gira a un aspecto común y este es el de la confianza por ambas partes: empresa y trabajador. Confiar en que ambos actuarán honesta y profesionalmente para que el trabajo pueda desempeñarse.