Cada vez con más frecuencia nos encontramos que los sistemas de TI heredados/antiguos/legados se están convirtiendo en un obstáculo para la transformación digital de las empresas. Son muchos los clientes que vienen a consultarnos cómo pueden adaptar sus aplicaciones existentes a las necesidades actuales de su negocio. Por este motivo, vamos a publicar una serie de artículos en los que daremos las claves para llevar a cabo la modernización y migración de aplicaciones.
Estos posts se basan en los proyectos realizados por Xeridia, principalmente en el sector financiero y de seguros, pero sin duda las ideas, el enfoque y la experiencia se pueden extender a clientes de cualquier sector, al tratarse de una actividad claramente transversal.
Y sin más demora entro en materia. A continuación agrupo y describo las razones más importantes de nuestros clientes para pedirnos este tipo de proyectos. Normalmente los requerimientos de modernización y migración de aplicaciones provienen de las propias unidades de tecnología, no de negocio, por lo que detallaré esas razones para intentar un mejor entendimiento.
- Obsolescencia de lenguajes y herramientas, propias y de terceros, integradas en las arquitecturas de desarrollo y explotación del cliente.
Los proveedores de Informática van evolucionando sus productos mediante nuevas versiones que dejan las más antiguas sin evolución y soporte ante potenciales problemas, por ejemplo incidentes de seguridad. A continuación, aporto algunos ejemplos de peticiones de modernización de aplicaciones que nuestros clientes nos han solicitado para esquivar esta obsolescencia:
- Una antigua solución para hacer aplicaciones del terminal financiero que el fabricante ya no tiene en su catálogo y por tanto no actualiza.
- Aplicación que se compró por una importante necesidad de negocio y que tenía un lenguaje no habitual en la instalación. Ese lenguaje sólo era utilizado por esta aplicación y además está fuera de su periodo de mantenimiento.
- Una evolución tecnológica decidida por el cliente en sus lenguajes de programación, pasando de C a Java.
- El cliente que necesita dejar de utilizar una versión antigua de Visual Basic.
- Un caso extremo y algo anecdótico fue el de un cliente que hace unos meses nos pedía oferta para migrar desde el lenguaje RPGII, con el que decía no tener demasiadas posibilidades de transformación digital.
- Una pieza de software parte importante de la arquitectura de desarrollo de aplicaciones del cliente, y cuyo fabricante anuncia el fin de su vida útil. Aquí el cliente pidió no solo una herramienta alternativa y la migración correspondiente, sino que la interfaz de los programadores fuese exactamente la misma para evitar pérdida de productividad de su equipo de trabajo.
- Llevar a un nuevo entorno técnico una aplicación que tiene valor funcional.
Nuestro cliente tiene una aplicación en los sistemas informáticos corporativos que da un servicio muy importante, para la que nadie de negocio pide mejoras y que está en una plataforma con algún problema (coste, rendimiento, tecnología obsoleta, etc.). En este caso la migración incluyó una participación significativa del equipo de Sistemas.
- Simplificación del entorno tecnológico, por ejemplo, reduciendo el número de bases de datos o sistemas operativos en la instalación.
Nuestros clientes normalmente toman sus decisiones con el objetivo de simplificar su entorno tecnológico. Pero no siempre es posible y, con el paso del tiempo, esa simplificación, si se desea, se tiene que hacer mediante proyectos específicos que nos demandan.
Reducir el número de tipos de bases de datos o sistemas operativos a mantener reducirá los importantes costes asociados. Y lo normal es que ese proceso de reducción suponga migración de aplicaciones.
- Dificultad para disponer de los perfiles adecuados para crear o mantener las aplicaciones, a corto o medio plazo.
No es necesario aquí recurrir a la anunciada dificultad de disponer de programadores Cobol para entornos mainframe. En nuestro caso lo más habitual es que nuestro cliente no quiera o no pueda disponer de personas dedicadas a determinadas tecnologías.
A veces no se tienen las personas y punto; en otras puede que el cliente no vea rentabilidad en dedicar personas a esa tecnología, bien porque sea minoritaria o bien porque no tenga futuro para él a medio plazo.
- Falta documentación.
Este tipo de demanda la incluimos en el ámbito de modernización de las aplicaciones. Al cliente le proporcionamos análisis automáticos que aportan mucha información (código muerto, funciones no llamadas, capacidades para entender el código, propuesta de estructura de aplicaciones, etc.) Estos datos pueden ser un fin en sí mismos, o bien el punto de partida para un proceso de migración.
- Problemas con el rendimiento o consumo de recursos de alguna aplicación específica.
Cuando un cliente se dirige a nosotros con un problema de rendimiento, lo habitual es que utilicemos herramientas específicas de análisis para resolver el problema a corto plazo y de monitorización para el seguimiento posterior.
Pero en ocasiones la solución es modernizar la aplicación con el cambio de algún componente o migrarla a otra plataforma donde los recursos son más abundantes y más baratos. En este bloque incluimos las mejoras de los entornos de desarrollo.
- Reducción de costes.
No quiero engañaros, en buena parte de este tipo de proyectos nuestros clientes o bien tienen un problema técnico significativo o bien están interesados en la reducción de costes.
Las ofertas de Xeridia incluyen la mejora técnica de presente y futuro de los proyectos de migración y modernización, y un coste económico óptimo. Este enfoque, y no centrarse exclusivamente en la reducción de costes, ayuda a nuestros clientes en el proceso de venta interna de sus proyectos.
Lo positivo es que en la práctica totalidad de los proyectos ese coste óptimo ha supuesto una reducción drástica del coste de propiedad actual. Bien por el uso de otras plataformas, por eliminar o reducir costes de propiedad de lenguajes, por cambio o eliminación de costes de herramientas, por el automatismo de nuestros procesos de migración comparados con opciones más manuales, por menor consumo de recursos al mejorar el rendimiento, etc.
En las próximas entregas aportaré algunas características de este tipo de proyectos, incluiré algunos ejemplos significativos y compartiré lecciones que hemos aprendido en Xeridia al realizarlos.
Desde Xeridia te podemos ayudar con la modernización y transformación de tus aplicaciones, y te damos una razón importante para abordar estos proyectos: son viables técnica, funcional y económicamente, y se pueden realizar con un estricto control de los riesgos.
Avelino Carrizo es Gerente de Consultoría de Sector Financiero en Xeridia