El que trabaje en o con la administración habrá escuchado más de una vez proyectos de software milagrosos que quedan en tremenda decepción. Es la definición que yo le doy a la aplicación #RadarCovid, implementando muy buena tecnología, pero que ha fallado en la implementación. Un ejemplo más de cómo se gestiona el software en la administración pública, sí, la que pagamos todos!
Esto no es un fenómeno extraño en la administración: demasiados agentes involucrados para que si uno falle, falle todo! A veces, por desconocimiento, por desidia, por dejadez, ….
Software en la administración
Este tema es bastante conocido por mi, entre otras cosas porque gran parte de mi trabajo consiste en desarrollo de software en y para la administración. No puedo hablar de proyectos concretos, pero si que mucho software llevan años en funcionamiento, con tecnología ya muy obsoleta, poco adaptada a los tiempos modernos.
Os pongo un ejemplo: cuando entré en mi empresa en 2002 trabajaba con un sistema basado en Oracle 8, puesto en marcha en 1998. Sobre 2004, empezó a hablarse de la versión 2 del mismo, que nunca llegó a ver la luz, ni la versión 3, ni la 4, ni la 5, y hoy, 2021, sigue perfectamente operativa.
Los problemas de software con tecnologías antiguas en todas las administraciones
Mantener en producción un sistema con tecnologías antiguas es un arma de doble filo: el coste de actualizar esos desarrollos puede ser muy costoso, y por ende, terminan no actualizándose.
Como los objetivos cambian, no es raro trabajar con el software y “acompañarlo” de un Excel para complementar.
A veces, esas tecnologías están totalmente desaconsejadas, en muchos casos por problemas de seguridad informática, pero también porque los sistemas operativos se actualizan, y librerías o conectores quedan inoperativos ante la evolución lógica.
En lo que se refiere a la aplicación de Oracle 8 que he comentado, es totalmente incompatible con Windows 10 y tecnologías de 64 bits. No existen conectores compatibles, y su extinción está asegurada como los sistemas operativos de los servidores se actualicen.
El software debe ser algo vivo
Salvo casos muy concretos y muy extraños, lo normal es que cuando se diseña una aplicación sea para cumplir un objetivo. Una vez conseguido, siempre surgen nuevas demandas: mejoras por los usuarios, cambios legislativos que requieren actualizaciones, corrección de errores, …. Y lo normal es que el software vaya incluyendo dichas demandas.
Cuando pasan los años, es normal que se piense en actualizar y mejorar lo existente, dando un paso adicional si se tienen que utilizar tecnologías modernas: bases de datos NoSQL, tecnologías web, desarrollos API-REST, ….
En el caso del Oracle 8, el menor de las actualizaciones sería migrar a unas base de datos más actual …. A 1998!!!!!
Actualmente, algunos sistemas operativos Windows aún permiten dichos conectores, pero no será eterno que un día, sean imposibles de instalar.
El problema de los Excel para gestionar bases de datos
Esto es un clásico: tengo una aplicación para gestionar “algo”, pero como no se actualiza con lo que necesito, tengo un Excel adicional para completar la gestión. Señores, esto es una chapuza en toda regla!!!!
Y lo peor de todo es que no solo ocurre en empresas medianas o en la administración, sino también incluso en grandes empresas tech.
Es ahí donde me pregunto: ¿para que sirven los gestores que no se anticipan a los problemas ocasionados por mala planificación de software?
En muchos casos suponen pérdida de datos (al no poder vincular), duplicidad de tiempo (todo se hace en el doble de tiempo al tener que hacerlo en doble o triple sitio), problemas de uniformidad de datos, ….. Y lo que es peor: para tener una visión de algo hay mirar en sistemas no vinculados.
Un disparate.
Pues, esto es lo que vivo yo en mi día a día, si bien mi filosofía me impide hacer esto y aportar soluciones competentes, gracias a que mis jefes han confiado en mí y en mis soluciones y en mis anticipaciones, casi no he tenido problemas en evolucionar los sistemas que me han encomendado, desde hace muchos años.
En este blog he ido contando muchas de las cosas que he ido aprendiendo desde hace ya muchos años relacionadas con bases de datos, desarrollo de software, tecnologías web, ….. De visual Basic 6, a Vue o Python.
A día de hoy, mis desarrollos están basados en tecnologías web, apostando por API-Rest, Asp clásico en backend (aquí tengo que actualizarme, lo sé), Python para tareas varias y JavaScript en el frontend, lenguaje que siempre he odiado y al que ahora adoro.