91 031 22 98 info@zertia.es

La velocidad a la cual las empresas necesitan operar para seguir siendo competitivas en el mundo actual está causando estragos en los departamentos de TI. Los líderes de las empresas necesitan que los CIO generen nuevas fuentes de ingresos y demandan tiempos de salida al mercado más reducidos, niveles de flexibilidad más altos y retornos de la inversión más rápidos.

Por otro lado, el proceso de transformación digital que ha tenido (y tiene) lugar en los últimos años ha empujado a los equipos de TI a modernizar la funcionalidad de sus aplicaciones de forma continua y progresiva. Por no mencionar el empujón que la pandemia mundial del COVID-19 ha supuesto para este proceso de digitalización.

En una situación así, es muy común que nos encontremos con aplicaciones heredadas o legacy que, pese a estar basadas en tecnologías obsoletas, siguen siendo críticas para la operativa del negocio. Además, estas aplicaciones suponen uno de los mayores retos a los que se enfrentan los equipos de TI, dado que deben garantizar la compatibilidad y disponibilidad de la información en este proceso de transición de los sistemas viejos a los nuevos. A menudo, se trata de aplicaciones con ciclos de desarrollo lentos y anticuados, que incluso limitan la actualización del resto de sistemas y nos provocan problemas de seguridad y estabilidad. Pero de ellas depende la continuidad del negocio. ¿Cuál es el reto? Mantener y modernizar. Al mismo tiempo.

A continuación, vamos a repasar algunos de los principales problemas que los líderes de IT se encuentran hoy en día al tratar con estas aplicaciones heredadas o legacy.

Obsolescencia de lenguajes

Los lenguajes de programación se encuentran en un proceso continuo de mejora y modernización, adaptándose a las nuevas tecnologías y facilitando el trabajo de los desarrolladores. Si bien esto abre grandes oportunidades en cuanto a funcionalidades se refiere, el departamento de TI se ve obligado a gestionar estos cambios de manera constante. Además de tener que sustituir o modernizar aplicaciones a las cuales se deja de dar continuidad y, con el tiempo, desaparecen. Esto puede alcanzar complejidades astronómicas si estas aplicaciones a las cuales el vendor deja de dar soporte resultan críticas para el negocio. Por ello, en Zertia os ayudamos a migrar hacia aplicaciones de fabricantes sólidos y con un roadmap de producto fuerte y claro.

Restricciones en el hardware y/o software

Muchas de las aplicaciones legacy precisan de versiones específicas de sistemas operativos concretos para ejecutarse correctamente: esa solución de gestión documental que solo opera en Windows XP, ese CRM que desplegábamos en Windows 7… el problema es que hay aplicaciones que se despliegan en Windows 7, pero que no funcionan en Windows 10 de manera natural. El uso de sistemas operativos obsoletos supone un grave riesgo para las organizaciones en materia de seguridad, por lo que, en muchas ocasiones, el equipo de TI se ve obligado a emplear muchos recursos en encontrar soluciones como middleware o glue code.

Baja mantenibilidad del código

El desarrollo de software no es algo que tradicionalmente haya seguido una línea homogénea e igual para todos, sino que cada desarrollador ha seguido normalmente su propio estilo. Y así nace lo que conocemos como software espagueti y surgen todas esas ramificaciones y modificaciones sin sentido aparente de ciertos pedazos de código. Si la manera en la que el código está escrito es demasiado compleja de entender, su mantenibilidad se torna complicada con el paso del tiempo y las aplicaciones del negocio se ven perjudicadas.

Limitaciones tecnológicas

Antes de la revolución web, casi todas las aplicaciones estaban programadas en un modelo de dos capas, donde la lógica residía en un ejecutable y el dato en una base de datos. Pero las nuevas tecnologías lo han cambiado todo. Ahora, casi todas las empresas interactúan con sus stakeholders en un abanico de canales cada vez más amplio: web, chatbots, aplicaciones móviles, etc. Se trata de tecnologías que suelen ser incompatibles con las aplicaciones heredadas y para las cuales debemos modernizar nuestros sistemas y hacerlos escalables, en la medida de lo posible, para lo que aún está por venir.

Nuevas necesidades funcionales.

Las prioridades cambian, las empresas se adaptan y el software evoluciona. Las necesidades de las organizaciones no son iguales a las de hace 10 o 15 años y, por lo tanto, las aplicaciones que se desarrollaron entonces no sirven para las empresas de hoy en día.

Velocidad de desarrollo.

DevOps es un término imprescindible dentro del vocabulario de cualquier profesional TI moderno. Aunque escribiremos un post profundizando sobre este método, la raíz de la que se nutre DevOps es la falta de agilidad en el desarrollo de las aplicaciones legacy. ¿Por qué? Porque éstas se crearon en un momento en el que la rapidez no era prioritaria y el time-to-market no era un indicador de éxito fundamental para casi ninguna compañía. Por lo tanto, esas aplicaciones ya no cumplen con los requisitos actuales del negocio y se han abierto nuevos caminos y metodologías de trabajo donde diferentes equipos, que antes operaban en silos, han unido fuerzas para acelerar el desarrollo de aplicaciones y su puesta en producción.

Trataremos el resto de problemáticas con las aplicaciones legacy en un segundo post. Mientras tanto, te invitamos a que nos cuentes el caso de tu empresa para que te ayudemos a modernizar tus aplicaciones heredadas y mejorar tu organización.

¡Hasta el próximo post!