VUCE: La plataforma que incrementó la calidad y aumentó cinco veces la velocidad de entrega
La Ventanilla Única de Comercio Exterior de Uruguay es una plataforma tecnológica conectada al 91% de las agencias en Uruguay, con la cual se interopera desde Argentina, Brasil, Chile, Paraguay, Rusia, México, Vietnam e Israel.
Lidera los avances en la región, fomentando la aplicación de mejores prácticas y promoviendo la interoperabilidad transfronteriza para lograr un comercio exterior sin papeles. La plataforma tecnológica implementa 186 procesos diferentes de 29 agencias, procesando actualmente 400.000 trámites anuales, haciendo posible la eliminación del uso de papel, los traslados y las esperas innecesarias, reduciendo los costos y generando por tanto mayor competitividad. En el presente artículo, se presenta qué cambios permitieron a VUCE aumentar la calidad y la frecuencia de entrega de la plataforma utilizada por 54.000 usuarios.
La plataforma VUCE de Uruguay surge en el 2010 como una iniciativa del proceso de modernización de la Dirección Nacional de Aduanas y la Comisión Interministerial de Asuntos para el Comercio Exterior (CIACEX). Tiene como objetivo impulsar el uso de las tecnologías de la información, velando por la optimización de los procesos y la cooperación de los actores involucrados.
El sistema se comenzó a implementar en el 2013, licitación pública internacional por medio, por parte de un consorcio entre Concepto, proveedor del sistema de la Dirección Nacional de Aduanas, y GeneXus Consulting. El equipo de VUCE se integró parcialmente al proceso de desarrollo de la plataforma desde el comienzo. A partir del 2018 VUCE toma el dominio completo del proceso de desarrollo. En particular, en cada instancia de liberación, el testing manual de la plataforma consumía 120 horas en la semana previa y 40 horas de estabilización de la versión en la semana posterior. Durante esta última fase, existía una experiencia negativa por parte de los usuarios que detectaban errores en sus procesos. Esta problemática impactaba negativamente en el equipo de soporte y desarrollo, ya que se detenía el desarrollo de fixes y nuevos requerimientos. A partir de ese momento, VUCE identifica la necesidad de optimizar el proceso de testing y aumentar la calidad de la plataforma automatizando con GXtest v4.
«El principal problema que teníamos es que al momento de verificar el sistema teníamos que realocar colaboradores de diversos equipos y no alcanzábamos a hacer pruebas de regresión. Sin este tipo de pruebas no podíamos garantizar la calidad de la aplicación, liberábamos con inseguridad y esto traía en consecuencia una sobrecarga en los equipos de soporte, procesos y desarrollo.»
Juan Juncal, Gerente de tecnología - VUCE
Principales factores de cambio en VUCE para reducir 5 veces el tiempo de entrega y mejorar la calidad a sus 54.000 usuarios
«GXtest nos impulsó a un cambio metodológico que nos permitió aproximarnos a la cultura DevOps. Tuvimos que redefinir procesos en todos los equipos de trabajo para que sea sostenible la automatización en el tiempo. Identificamos que el problema no eran las personas ni las herramientas, sino cómo las personas gestionábamos las tareas.»
Juan Juncal, Gerente de tecnología - VUCE
Impacto en la calidad durante la implementación
VUCE definió el conjunto de pruebas de regresión por casos de alto riesgo para el negocio, casos complejos y/o que consumían mucho tiempo. La velocidad de implementación de los 82 flujos se facilitó con la generación de código GeneXus obtenida de la extensión GXtest Recorder. En particular, los flujos de VUCE tenían un promedio de 30 pantallas cada uno, incluían sesiones multiusuario, realización de firmas electrónicas y cargas de múltiples archivos en una misma pantalla. La siguiente gráfica muestra el 88% de flujos automatizados en un total de 440 horas, los flujos en proceso y los pendientes de automatizar por cada módulo del sistema.
Durante la fase de implementación se mejoró el tiempo de respuesta y usabilidad del sistema, en particular, se redujo el tiempo de inicio de los trámites de 50 segundos a menos de 10 segundos.
Incremento de calidad en VUCE en la ejecución de las pruebas
VUCE ejecutó el conjunto de pruebas de interfaz en Chrome y Firefox en un ambiente de pruebas (espejo a producción). En cada liberación, la ejecución del conjunto de pruebas llevó 15 horas durante la noche y se disparó manualmente desde GeneXus IDE. Posterior a cada ejecución, se destinaron 20 horas al análisis de resultados, revisión con desarrollo, mantenimiento de pruebas y documentación. Esto implica una disminución del 86% de horas dedicadas al testing. A partir de la cuarta versión se empieza a ver el retorno sobre la inversión. Como resultado, en el ambiente de prueba se detectaron en promedio 2 bugs por versión, evitando que estos lleguen a los usuarios finales. Adicionalmente, el reporte de bugs en producción por versión se redujo de 8 bugs a 1 bug en promedio por versión. Puede verse en el siguiente cuadro comparativo el promedio de costo en horas y bugs reportados en producción por versión, y el tiempo estimado de entrega, antes y después de la automatización.
«Automatizar nos permite ejecutar las pruebas más de una vez y en más de un ambiente por sprint, sin colaboradores asignados. Las pruebas nos ayudan a validar que los cambios de infraestructura no afecten ninguna funcionalidad.»
Juan Juncal, Gerente de tecnología - VUCE
El cambio metodológico impactó principalmente en el equipo de desarrollo, permitió liberar 5 veces más rápido y con la seguridad de no estar introduciendo bugs conocidos en la plataforma, o cambios que afecten los flujos más críticos del sistema. Adicionalmente tuvo un impacto positivo en el equipo de soporte ya que los usuarios finales reportaron menos errores y se les pudo estimar mejor los tiempos de entrega de nuevos requerimientos y/o fixes.
Actualmente el equipo de tecnología de VUCE tiene como objetivo alcanzar el 100% de cobertura de pruebas de interfaz del sistema. En el corto plazo VUCE implementará un esquema de integración continua, donde se van a integrar los cambios, compilar el código y ejecutar las pruebas de manera desatendida y periódica. En un plazo más largo, VUCE incorporará pruebas unitarias automatizadas desde la etapa del desarrollo, validando no introducir bugs conocidos o críticos en la capa lógica de la aplicación.
«La mejora de la calidad de entrega me gusta medirla en la cantidad de bugs que llegan a producción, con la automatización la cantidad de bugs disminuyó considerablemente. Nuestro plan a futuro es alcanzar un esquema de entrega continua, teniendo un ciclo de desarrollo 100% automatizado. Nuestra visión apunta a implementar el testing lo más temprano posible en el proceso de desarrollo.»
Juan Juncal, Gerente de tecnología - VUCE
La plataforma VUCE de Uruguay surge en el 2010 como una iniciativa del proceso de modernización de la Dirección Nacional de Aduanas y la Comisión Interministerial de Asuntos para el Comercio Exterior (CIACEX). Tiene como objetivo impulsar el uso de las tecnologías de la información, velando por la optimización de los procesos y la cooperación de los actores involucrados.
El sistema se comenzó a implementar en el 2013, licitación pública internacional por medio, por parte de un consorcio entre Concepto, proveedor del sistema de la Dirección Nacional de Aduanas, y GeneXus Consulting. El equipo de VUCE se integró parcialmente al proceso de desarrollo de la plataforma desde el comienzo. A partir del 2018 VUCE toma el dominio completo del proceso de desarrollo. En particular, en cada instancia de liberación, el testing manual de la plataforma consumía 120 horas en la semana previa y 40 horas de estabilización de la versión en la semana posterior. Durante esta última fase, existía una experiencia negativa por parte de los usuarios que detectaban errores en sus procesos. Esta problemática impactaba negativamente en el equipo de soporte y desarrollo, ya que se detenía el desarrollo de fixes y nuevos requerimientos. A partir de ese momento, VUCE identifica la necesidad de optimizar el proceso de testing y aumentar la calidad de la plataforma automatizando con GXtest v4.
«El principal problema que teníamos es que al momento de verificar el sistema teníamos que realocar colaboradores de diversos equipos y no alcanzábamos a hacer pruebas de regresión. Sin este tipo de pruebas no podíamos garantizar la calidad de la aplicación, liberábamos con inseguridad y esto traía en consecuencia una sobrecarga en los equipos de soporte, procesos y desarrollo.»
Juan Juncal, Gerente de tecnología - VUCE
Principales factores de cambio en VUCE para reducir 5 veces el tiempo de entrega y mejorar la calidad a sus 54.000 usuarios
- Automatización de pruebas:
VUCE automatizó un conjunto de 82 flujos de interfaz con GXtest v4 en GeneXus 16, en una KB separada a la de la aplicación ya que la plataforma estaba en el proceso de migración a la misma versión. Los tests fueron implementados con apoyo de la extensión GXtest Recorder, la cual graba el flujo y genera el código GeneXus. Entre las principales valoraciones de la herramienta elegida para la automatización se destacaron:
- simplicidad y potencia de GeneXus en las pruebas.
- posibilidad de integración y gestión de objetos de prueba en la misma KB de la aplicación.
- Metodología:
La ejecución de pruebas de regresión automatizadas implicó un cambio metodológico. VUCE se capacitó en metodologías ágiles y en particular, definió su metodología basada en:
- reuniones de coordinación diarias y semanales.
- visibilidad del trabajo definido.
- ejecución de pruebas automatizadas en cada versión.
- fechas estrictas de liberación.
«GXtest nos impulsó a un cambio metodológico que nos permitió aproximarnos a la cultura DevOps. Tuvimos que redefinir procesos en todos los equipos de trabajo para que sea sostenible la automatización en el tiempo. Identificamos que el problema no eran las personas ni las herramientas, sino cómo las personas gestionábamos las tareas.»
Juan Juncal, Gerente de tecnología - VUCE
Impacto en la calidad durante la implementación
VUCE definió el conjunto de pruebas de regresión por casos de alto riesgo para el negocio, casos complejos y/o que consumían mucho tiempo. La velocidad de implementación de los 82 flujos se facilitó con la generación de código GeneXus obtenida de la extensión GXtest Recorder. En particular, los flujos de VUCE tenían un promedio de 30 pantallas cada uno, incluían sesiones multiusuario, realización de firmas electrónicas y cargas de múltiples archivos en una misma pantalla. La siguiente gráfica muestra el 88% de flujos automatizados en un total de 440 horas, los flujos en proceso y los pendientes de automatizar por cada módulo del sistema.
Durante la fase de implementación se mejoró el tiempo de respuesta y usabilidad del sistema, en particular, se redujo el tiempo de inicio de los trámites de 50 segundos a menos de 10 segundos.
Incremento de calidad en VUCE en la ejecución de las pruebas
VUCE ejecutó el conjunto de pruebas de interfaz en Chrome y Firefox en un ambiente de pruebas (espejo a producción). En cada liberación, la ejecución del conjunto de pruebas llevó 15 horas durante la noche y se disparó manualmente desde GeneXus IDE. Posterior a cada ejecución, se destinaron 20 horas al análisis de resultados, revisión con desarrollo, mantenimiento de pruebas y documentación. Esto implica una disminución del 86% de horas dedicadas al testing. A partir de la cuarta versión se empieza a ver el retorno sobre la inversión. Como resultado, en el ambiente de prueba se detectaron en promedio 2 bugs por versión, evitando que estos lleguen a los usuarios finales. Adicionalmente, el reporte de bugs en producción por versión se redujo de 8 bugs a 1 bug en promedio por versión. Puede verse en el siguiente cuadro comparativo el promedio de costo en horas y bugs reportados en producción por versión, y el tiempo estimado de entrega, antes y después de la automatización.
«Automatizar nos permite ejecutar las pruebas más de una vez y en más de un ambiente por sprint, sin colaboradores asignados. Las pruebas nos ayudan a validar que los cambios de infraestructura no afecten ninguna funcionalidad.»
Juan Juncal, Gerente de tecnología - VUCE
El cambio metodológico impactó principalmente en el equipo de desarrollo, permitió liberar 5 veces más rápido y con la seguridad de no estar introduciendo bugs conocidos en la plataforma, o cambios que afecten los flujos más críticos del sistema. Adicionalmente tuvo un impacto positivo en el equipo de soporte ya que los usuarios finales reportaron menos errores y se les pudo estimar mejor los tiempos de entrega de nuevos requerimientos y/o fixes.
Actualmente el equipo de tecnología de VUCE tiene como objetivo alcanzar el 100% de cobertura de pruebas de interfaz del sistema. En el corto plazo VUCE implementará un esquema de integración continua, donde se van a integrar los cambios, compilar el código y ejecutar las pruebas de manera desatendida y periódica. En un plazo más largo, VUCE incorporará pruebas unitarias automatizadas desde la etapa del desarrollo, validando no introducir bugs conocidos o críticos en la capa lógica de la aplicación.
«La mejora de la calidad de entrega me gusta medirla en la cantidad de bugs que llegan a producción, con la automatización la cantidad de bugs disminuyó considerablemente. Nuestro plan a futuro es alcanzar un esquema de entrega continua, teniendo un ciclo de desarrollo 100% automatizado. Nuestra visión apunta a implementar el testing lo más temprano posible en el proceso de desarrollo.»
Juan Juncal, Gerente de tecnología - VUCE