Contenido producido por el director de nuestro equipo de desarrollo, Luiz Henrique Felix.
Al principio de la pandemia no sabíamos cómo iban a ir las cosas, cuando nos dieron la noticia de que tendríamos que trabajar desde casa nos asustamos un poco, yo llevaba poco más de un mes en el trabajo y sabía que nos esperaba un gran reto.
Las primeras semanas en la oficina en casa fueron las más difíciles, porque necesitábamos mantener de alguna manera la misma dinámica que teníamos en persona, sólo que ahora, a distancia, ¿y cómo podíamos hacerlo?
Fue entonces cuando comenzaron mis estudios sobre metodologías ágiles, que describiré en los próximos párrafos.
Cuando empecé a estudiar metodologías ágiles, lo primero que encontré fue el «Manifiesto Ágil «, una declaración de principios que sustenta el desarrollo ágil de software. Se basa en doce principios, cuya idea central es la satisfacción del cliente mediante la entrega rápida y la mejora continua. Para conseguirlo, utilizamos el diálogo entre los equipos como principal herramienta, junto con la inclusión de otros equipos para estar más cerca del desarrollo, como el comercial y el de soporte, de forma que con el feedback recogido de todos, podamos estar siempre mejorando el software y satisfaciendo las necesidades del cliente.
Una de las cosas que aprendí en el camino fue el verdadero significado de la palabra ‘MVP – Minimum Viable Product’ o Producto Mínimo Viable’. MVP no es más que entregar un software, donde el cliente ya puede utilizarlo, incluso sin tener todas las características previstas en la hoja de ruta ya implementadas. De esta manera podemos acelerar la entrega y también mejorar el software, porque con el cliente ya usándolo, podemos mejorarlo en base a la retroalimentación recogida, lo que significa que todos ganan.
Para que las entregas se produzcan en el plazo definido en la hoja de ruta, utilizamos algunos métodos que nos ayudan en estas entregas, junto con el marco Scrum. Este marco no es un proceso lineal, sino un conjunto de conceptos y técnicas dentro del cual se pueden emplear otros procesos o técnicas. Analizar la eficacia relativa de las prácticas de gestión y desarrollo para poder mejorarlas. Nos da varias técnicas que se pueden utilizar para la gestión, y una de ellas son las reuniones diarias y las reuniones de sprints. Las reuniones diarias son reuniones de no más de 15 minutos, que hacemos para alinear cuáles serán las actividades a realizar en el día y cuál será la dirección del equipo, yo como gerente de estos equipos hago tres preguntas básicas: qué hicieron ayer, qué harán hoy y si hay algo que pueda impedir que la actividad que se realizaría hoy, no se realice. Con estas tres preguntas obtenemos una visión global y sabemos si podemos tener algún posible problema, además de abordar los impedimentos. Las reuniones sprint son encuentros que suelen celebrarse cada semana y duran hasta una hora. Yo y los equipos, nos reunimos con la junta, y presentamos el progreso de las actividades que se realizaron en el período, recoger sus comentarios y ajustar las actividades sobre la base de estos comentarios, así que tenemos una dirección para el siguiente sprint.
Junto con Scrum, usamos ITIL, Information Technology Infrastructure Library o Biblioteca de Infraestructura de Tecnología de la Información. Que es un conjunto de mejores prácticas detalladas para la gestión de servicios de TI que se centra en la alineación de los servicios de TI con las necesidades del negocio y busca promover una gestión dirigida a la prestación eficiente de servicios al cliente. En la práctica, ITIL funciona como una guía, en la que en lugar de definir procesos, seguimos las mejores prácticas, lo que en cierto modo hace que la gestión de los equipos y los procesos de flujo de trabajo sean más dinámicos, porque no estamos atados a x o y procesos. También utilizamos una técnica de flujo de trabajo de procesos llamada Kanban, que es un término japonés que significa «tarjeta». El sistema lleva el nombre de la empresa que lo desarrolló, Toyota. No es más que un sistema ágil y visual para el control de la producción o la gestión de tareas, en el que utilizamos un tablero virtual con columnas denominadas de la siguiente manera: atraso, hacer, depender de algo/de alguien, homologación y logros‘ y tarjetas que «se mueven» entre estas columnas a medida que se realizan las actividades. Kanban facilita enormemente el avance del desarrollo del proyecto, ya que podemos saber de forma visual y clara en qué proceso nos encontramos, informando siempre dentro de las tarjetas de cada una de las actividades, de forma que podemos utilizar esta información reportada en las reuniones de sprint y revisión.
Entre todos estos métodos, marcos y herramientas, el más importante siempre será el que mejor se adapte a la necesidad de tu equipo, un consejo que doy es: no te estanques en el framework o metodología x o y, porque esto puede en lugar de ayudar, acabar entorpeciendo y limitando a tu equipo, en su lugar utiliza lo mejor de cada uno en función de tu realidad, siempre teniendo en cuenta el objetivo final, que es el desarrollo ágil de software y la buena gestión de equipos.Siempre estamos revisando nuestros equipos para tener tiempo de cambiar la dirección de los mismos si es necesario, lo que hace que el proceso de desarrollo sea mucho más dinámico.