El reto más frecuente al momento de querer mantener, modificar y modernizar aplicaciones legacy en nuestro IBM i (AS400 – iSeries), es la escaza (o incluso nula) documentación sobre estas aplicaciones. Es extremadamente difícil dimensionar esfuerzos y saber a ciencia cierta las implicaciones de modificar estas aplicaciones.
Más allá de ser aplicaciones en lenguajes que ya tienen sus añitos como COBOL o RPG, son aplicaciones que han sido desarrolladas y modificadas por varios programadores a lo largo de los años (algunas hasta más de 30 años). Y lo crítico es que la operación del negocio ha vivido de estas aplicaciones y no puede parar.
Tener aplicaciones en estas condiciones en la operación diaria del negocio, derivan en una infraestructura tecnológica que se mueve muy lento; principalmente por el riesgo que implica llevar a cabo un cambio en estas aplicaciones. Cuando el área de negocio pide una mejora en alguna aplicación, los desarrolladores se llevan más tiempo dimensionando y planeando el cambio que llevándolo a cabo.
Por otro lado, tomar decisiones de crear nuevas aplicaciones en lenguajes y plataformas más populares, y migrar la operación del negocio, no pueden tomarse a la ligera. Y aún más cuando se desconoce lo que se tiene actualmente. Eso es lo que hace tan complicada la reingeniería de aplicaciones y cambios de plataforma (salirte del IBM i).
Realmente no hay mucha ciencia detrás del término. Básicamente es recuperar, estructurar y generar documentación a partir de aplicaciones legacy que no cuentan con una documentación clara o actualizada.
El sufijo “retro” se lo gana por ser “retroactivo”, no por ser viejo o algo por el estilo. Simplemente es lllevar a cabo un proceso y obtener un resultado tiempo después de que se llevó a cabo. En este caso, generar documentación posteriormente al proceso de desarrollo.
En teoría, la documentación de software debería hacerse al momento de desarrollar las aplicaciones para no omitir información relevante y que la documentación sea precisa. Al no haberse hecho este proceso cuando se desarrollaron nuestras aplicaciones hace más de 30 años, habrá que realizarlo de manera retroactiva.
Su propósito es proporcionar a los equipos de desarrollo una visión completa del funcionamiento interno de las aplicaciones, sus dependencias, reglas de negocio y estructura de datos, permitiendo su mantenimiento y modernización de manera más ágil y segura.
Este proceso no solo ayuda a entender cómo funcionan las aplicaciones actuales, sino que también facilita la toma de decisiones estratégicas, como la optimización del código, la reducción de la deuda técnica y la planificación de futuras migraciones o modernizaciones.
Las aplicaciones legacy sin documentación presentan múltiples retos que afectan tanto la operación del negocio como la eficiencia del equipo de desarrollo. Algunos de los problemas más comunes incluyen:
Tradicionalmente, la documentación de software ha sido un proceso manual, tedioso y propenso a errores. Los desarrolladores deben analizar líneas de código, identificar relaciones entre módulos y documentar manualmente cada hallazgo, lo que consume mucho tiempo y recursos.
Aquí es donde la automatización juega un papel fundamental. Herramientas como ARCAD Discover permiten realizar un análisis profundo del código fuente, generar documentación estructurada y mapear automáticamente dependencias y flujos de datos dentro de las aplicaciones legacy. Esto ofrece múltiples ventajas:
La retro-documentación es un paso esencial para cualquier empresa que busque mantener y modernizar sus aplicaciones legacy en IBM i. Sin una documentación clara y actualizada, cualquier intento de optimización, migración o mejora se vuelve un riesgo innecesario.
Automatizar este proceso con herramientas como ARCAD Discover no solo acelera la generación de documentación, sino que también reduce la deuda técnica, facilita el trabajo de los desarrolladores y abre el camino hacia una modernización más segura y eficiente.