Muchas empresas funcionan, día tras día, sobre programas que se escribieron hace quince o veinte años. Facturan, gestionan el almacén o controlan la producción, y por eso nadie se atreve a tocarlos. Pero esos sistemas heredados que un día fueron una ventaja competitiva hoy son, con frecuencia, el freno que impide integrar una nueva herramienta, abrir un canal de venta online o simplemente contratar a alguien que sepa mantenerlos.
La buena noticia es que modernizar sistemas heredados ya no obliga a tirarlo todo y empezar de cero. Con un buen diagnóstico, una migración por fases y un control de versiones serio, se puede pasar de una aplicación antigua a una plataforma moderna sin perder datos críticos ni detener la operación. En este artículo te contamos cómo, con un ejemplo muy concreto: la evolución de un proyecto de Delphi 6 a Delphi 13.
En resumen: los sistemas heredados no se arreglan solos y cada año que pasa son más caros de mantener y más arriesgados. La salida no es reescribir todo, sino auditar el código, migrar por partes con pruebas y control de versiones, y mantener después la aplicación con un plan claro. Así se moderniza sin perder datos ni frenar el negocio. Y si tu aplicación sigue en una versión antigua de Delphi, una pre-auditoría gratuita te dice cuánto costaría llevarla a Delphi 13 antes de tomar ninguna decisión.
Qué son los sistemas heredados y por qué frenan el crecimiento
Un sistema heredado (o legacy) es cualquier software que sigue siendo importante para el negocio pero que se construyó con tecnologías, versiones o prácticas que ya no tienen soporte o que casi nadie domina. No tiene por qué ser "viejo" en años: una aplicación de hace ocho años sin documentación ni pruebas puede ser tan problemática como un programa de los noventa.
El problema no es la edad, sino lo que provoca:
- Coste de mantenimiento creciente. Cada cambio pequeño requiere más horas, porque nadie entiende del todo cómo está montado.
- Dependencia de una o dos personas. Si quien conoce el sistema se va, el conocimiento se va con él.
- Riesgos de seguridad. Librerías y componentes sin actualizar acumulan vulnerabilidades conocidas que ya no reciben parches.
- Imposibilidad de integrarse. Conectar el sistema con una API moderna, una tienda online o una herramienta de IA se convierte en un proyecto en sí mismo.
No es un problema exclusivo de pymes. La Oficina de Rendición de Cuentas del Gobierno de Estados Unidos (GAO) señala en un informe de 2025 que las agencias federales destinan cerca del 80 % de su gasto en tecnología a operar y mantener los sistemas existentes, y que siete de los once sistemas heredados más críticos que analizó tienen vulnerabilidades de ciberseguridad conocidas (GAO). Si a una administración con ese presupuesto le cuesta, una empresa mediana no puede permitirse ignorarlo.
Señales de que tus sistemas heredados necesitan atención
No hace falta esperar a una caída para actuar. Estas son las señales más habituales que vemos en las empresas que nos contactan:
- El programa solo se puede compilar en un ordenador concreto, con una versión antigua del entorno de desarrollo instalada.
- Las actualizaciones de Windows o del servidor provocan errores que nadie sabe resolver.
- El código no está en ningún repositorio, o está en carpetas con nombres como "versión_final_2".
- Los datos viven en una base de datos antigua (Paradox, dBase, Access o un motor sin soporte) que da problemas de bloqueos o de corrupción.
- Pedir una funcionalidad nueva genera siempre la misma respuesta: "eso con este sistema no se puede".
Si te reconoces en dos o más de estos puntos, es buen momento para hacer una auditoría y planificar la modernización antes de que la decisión la tome una avería.

La realidad de las empresas que se quedaron en Delphi 5, 6 o 7
Entre finales de los noventa y mediados de los 2000, Delphi fue una de las herramientas preferidas para construir software de gestión en España y Latinoamérica: ERP, programas de facturación, TPV, aplicaciones industriales o de control de producción. Permitía desarrollar rápido, generaba ejecutables nativos muy eficientes y se conectaba con casi cualquier base de datos. Muchas de esas aplicaciones siguen hoy en producción, más de veinte años después, porque hacen bien su trabajo.
El problema es que una gran parte se quedó congelada en la versión con la que nació. Los motivos suelen repetirse:
- El salto a Unicode de Delphi 2009. Fue uno de los cambios más profundos en la historia del lenguaje y obligaba a revisar mucho código. Muchas empresas lo fueron aplazando, y cada nueva versión hizo el salto un poco más grande.
- "Si funciona, no lo toques". Mientras el programa seguía facturando, actualizarlo parecía un gasto sin retorno.
- El desarrollador original ya no está. En muchos casos el software lo escribió una sola persona o una pequeña empresa que cerró o cambió de actividad.
- Componentes comerciales abandonados. Librerías de informes, rejillas o comunicaciones que se compraron en su día y que ya no tienen versión para el Delphi actual.
Cómo están hoy esas aplicaciones
Estas son las situaciones que nos encontramos con más frecuencia al revisar proyectos Delphi de esa época:
- Se compilan en una máquina "intocable". El ejecutable solo se puede generar en un ordenador o una máquina virtual con Windows XP o Windows 7, porque es el único entorno donde el IDE antiguo y sus componentes siguen funcionando. Ambos sistemas llevan años sin recibir parches de seguridad.
- Funcionan con problemas en Windows 10 y 11. Pantallas borrosas o descuadradas en monitores de alta resolución, errores de permisos al escribir en la carpeta de instalación o impresoras que dejan de responder tras una actualización.
- Los datos viven en tablas Paradox o dBase a través del BDE. Con bloqueos en red, índices dañados y la necesidad periódica de "reparar tablas" para que el programa vuelva a arrancar.
- No pueden atender exigencias nuevas. Adaptar la facturación a normativas como VeriFactu, conectar con una tienda online, ofrecer una app móvil o integrarse con la API de un banco se resuelve con parches externos o, directamente, no se puede hacer.
- Nadie sabe si el código fuente está completo. En algunos casos ni siquiera hay certeza de que el código guardado corresponda al ejecutable que está en producción.
Qué distancia te separa de Delphi 13 según tu versión
No todas las aplicaciones Delphi antiguas parten del mismo punto. De forma orientativa:
- Delphi 5, 6 o 7 (1999 a 2002): el recorrido completo. Hay que abordar Unicode, sustituir el BDE si se usa, actualizar o reemplazar componentes de terceros y, después, pasar a 64 bits y modernizar la interfaz. Es el caso más habitual y el que más análisis previo necesita.
- Delphi 2005, 2006 o 2007: una situación muy parecida. El gran escollo sigue siendo Unicode, aunque el código suele estar algo más ordenado.
- Delphi 2009 a XE7: el código ya es Unicode. El trabajo se concentra en componentes, en el acceso a datos (el BDE deja de incluirse en la instalación a partir de XE8) y en la compilación a 64 bits.
- Delphi XE8, 10.x, 11 o 12: normalmente es una actualización más sencilla, centrada en componentes, avisos del compilador y aprovechar las mejoras del lenguaje y del IDE.
La buena noticia es que ese código no está perdido. La lógica de negocio que contiene, ajustada durante años a la forma de trabajar de la empresa, es precisamente lo más valioso, y en la mayoría de los casos se puede conservar al migrar a Delphi 13. Lo que hace falta es saber cuánto cuesta ese salto antes de decidir.
Caso práctico: migrar sistemas heredados de Delphi 6 a Delphi 13
Delphi es un buen ejemplo de tecnología que sigue muy viva pero que arrastra muchísimas aplicaciones antiguas. Delphi 6 salió en 2001 y todavía hoy hay empresas que facturan con programas compilados en esa versión. Mientras tanto, Embarcadero presentó Delphi 13 Florence en septiembre de 2025, con novedades como el operador ternario en el lenguaje, mejoras en VCL y FireMonkey y funciones de IA integradas en el IDE, tal y como explica Marco Cantù, responsable de producto de Delphi, en su blog oficial.
Entre una versión y otra hay casi veinticinco años de cambios. Estos son los puntos que más trabajo dan y cómo los abordamos:
Unicode y el manejo de cadenas
Desde Delphi 2009 el tipo string es Unicode. Un proyecto escrito en Delphi 6 asume que cada carácter ocupa un byte, y eso afecta a lecturas de ficheros, comunicaciones con dispositivos, llamadas a DLL y cálculos con punteros. La propia Embarcadero recomienda revisar este punto antes que ningún otro en su hoja de ruta para migrar aplicaciones Delphi antiguas. Aquí la clave es localizar cada uso conflictivo y cubrirlo con pruebas antes de tocarlo.
Del BDE a FireDAC sin perder datos
Muchas aplicaciones de esa época acceden a los datos con el Borland Database Engine (BDE), que dejó de instalarse con Delphi a partir de la versión XE8. La alternativa natural es FireDAC. La migración de datos es la parte más delicada: se hace con scripts reproducibles, se valida registro a registro contra el origen y se ensaya varias veces antes del corte definitivo. Ningún dato se da por migrado hasta que cuadra.
Componentes de terceros
Rejillas, informes, controles de impresión o conexiones con hardware suelen depender de componentes comerciales que quizá ya no existen. Para cada uno decidimos si hay versión actual, si existe un sustituto equivalente o si conviene reescribir esa parte.
64 bits, estilos y alta resolución
Una vez estabilizado el proyecto, llega la parte agradecida: compilar en 64 bits (posible desde Delphi XE2), adaptar la interfaz a pantallas de alta resolución y aplicar estilos modernos. Es entonces cuando el usuario final nota el cambio.
Este mismo enfoque lo aplicamos a otros lenguajes y plataformas: Visual Basic, versiones antiguas de PHP o Java, aplicaciones de escritorio que deben pasar a la web y bases de datos que deben pasar a la nube. Si quieres ver el método general, lo explicamos en detalle en cómo migrar tu software legacy sin parar tu operación.
Pre-auditoría gratuita: cuánto cuesta evolucionar tu código Delphi
La pregunta que más nos hacen las empresas con aplicaciones en versiones antiguas de Delphi es siempre la misma: "¿cuánto me va a costar actualizarla?". Sin ver el código, cualquier cifra sería una adivinanza. Por eso ofrecemos una pre-auditoría gratuita del código fuente Delphi, pensada para que tengas una estimación fundada del coste de la evolución antes de comprometer presupuesto.
En la pre-auditoría revisamos:
- Tamaño y estructura del proyecto: número de unidades, formularios y líneas de código, y cómo están organizados.
- Versión de origen y dependencias: con qué versión de Delphi se desarrolló y qué componentes de terceros utiliza, comprobando si existen versiones compatibles con Delphi 13 o alternativas equivalentes.
- Acceso a datos: si se usa BDE, dbExpress, ADO u otra tecnología, y qué implica pasar a FireDAC.
- Impacto de Unicode: las zonas del código que trabajan con cadenas, ficheros, punteros o llamadas externas y que habrá que revisar.
- Puntos de riesgo: integraciones con hardware, DLL externas, impresión o comunicaciones que requieren atención especial.
Al terminar te entregamos un informe claro, sin tecnicismos innecesarios, con:
- Una estimación del esfuerzo y del coste de la evolución a Delphi 13, en rangos realistas.
- Los principales riesgos detectados y cómo mitigarlos.
- Las opciones posibles: migrar tal cual, migrar y modernizar la interfaz y la arquitectura, o reescribir solo las partes que no compensa conservar.
- Una propuesta de plan por fases, para que puedas decidir con datos y sin compromiso.
Para hacerla solo necesitamos acceso al código fuente (con acuerdo de confidencialidad, si lo prefieres) y una breve conversación sobre cómo se usa la aplicación. Tu código no se modifica en ningún momento: la pre-auditoría es únicamente de análisis.
Las cinco piezas para modernizar sistemas heredados con éxito
Una migración aislada no basta. Para que la tecnología deje de frenar el crecimiento, trabajamos cinco frentes que se refuerzan entre sí:
- Desarrollo de software a medida. Cuando lo heredado ya no tiene arreglo, construimos la nueva solución desde cero, del 0 al 100, alineada con los objetivos del negocio. Puedes ver cómo lo hacemos en nuestro servicio de desarrollo de software a medida para empresas.
- Migración de tecnologías antiguas a nuevas. Actualizamos sistemas obsoletos para ganar rendimiento y seguridad, como en el caso de Delphi, siempre con un plan de vuelta atrás. Más detalle en nuestra página de desarrollo en Delphi.
- Mantenimiento de aplicaciones. Tras la migración, aseguramos estabilidad, optimización continua y evolución, para que el sistema no vuelva a quedarse atrás.
- Auditoría de código. Analizamos los repositorios para detectar vulnerabilidades, eliminar deuda técnica y mejorar la arquitectura. Es el punto de partida de cualquier modernización seria.
- Control con GitHub. Implantamos flujos de trabajo con ramas, revisiones de código, integración continua y buenas prácticas de versionado. Si quieres entender qué se revisa en un repositorio, te recomendamos la diferencia entre auditoría de Git y auditoría de código.

Cómo es un proyecto de modernización con MiTSoftware
Cada sistema es distinto, pero el recorrido suele seguir estas fases:
- Diagnóstico y auditoría. En los proyectos Delphi empieza con la pre-auditoría gratuita. Después revisamos en profundidad el código, las dependencias, la base de datos y cómo se usa el sistema en el día a día. El resultado es un informe con riesgos, prioridades y una estimación realista.
- Repositorio y entorno reproducible. Antes de cambiar una línea, ponemos el código bajo control en GitHub y conseguimos compilarlo de forma repetible fuera del "ordenador de siempre".
- Migración por fases. Avanzamos módulo a módulo, con pruebas en cada paso y los datos validados en paralelo, sin parar la operación.
- Puesta en producción acompañada. Planificamos el corte en el momento de menor impacto y mantenemos un plan de retorno por si algo no sale como se esperaba.
- Mantenimiento y evolución. Una vez estable, el sistema entra en un ciclo de mejoras continuas y actualizaciones, con nuestro equipo de revisión, mantenimiento y consultoría de software.
Preguntas frecuentes
¿Es mejor migrar o reescribir desde cero? Depende del estado del código y del valor que contiene. Si la lógica de negocio funciona y está razonablemente bien organizada, migrar suele ser más rápido y seguro. Si el sistema está muy degradado o la tecnología no tiene futuro, una reescritura por fases puede salir más a cuenta. La auditoría inicial sirve precisamente para tomar esta decisión con datos.
¿Se pueden perder datos en una migración de Delphi 6 a Delphi 13? No si se hace bien. Trabajamos siempre sobre copias, con scripts de migración que se pueden repetir y validaciones que comparan origen y destino antes del corte final.
¿Se puede pasar directamente de Delphi 6 o 7 a Delphi 13, sin versiones intermedias? Sí. No hace falta recorrer cada versión: se migra directamente a Delphi 13 resolviendo de una vez los cambios acumulados (Unicode, acceso a datos, componentes y 64 bits).
¿La pre-auditoría gratuita me obliga a contratar la migración? No. El informe es tuyo y puedes usarlo para decidir, para comparar presupuestos o para planificar el proyecto con tu propio equipo.
¿Qué pasa si no tenemos todo el código fuente o los componentes originales? Es más habitual de lo que parece. En la pre-auditoría identificamos qué falta y valoramos las alternativas: sustituir componentes, reconstruir partes concretas o recuperar lo posible de copias antiguas.
¿Cuánto tiempo lleva modernizar sistemas heredados? Una auditoría inicial suele llevar entre una y tres semanas. La migración completa va de pocos meses a más de un año, según el tamaño, el número de integraciones y la calidad del código de partida.
¿Podemos seguir trabajando mientras dura el proyecto? Sí. El objetivo de la migración por fases es justamente que el negocio no se detenga.
Pide tu pre-auditoría gratuita
Si tu empresa tiene una aplicación desarrollada en Delphi 5, 6, 7 o en cualquier versión anterior a Delphi 13, el primer paso es saber en qué estado está y cuánto costaría ponerla al día. Solicita tu pre-auditoría gratuita de código Delphi y te entregaremos una estimación del coste de la evolución, sin compromiso.
Si tus sistemas heredados usan otra tecnología, te ofrecemos una sesión de consultoría técnica gratuita de 30 minutos para revisar tu caso y decirte qué conviene priorizar.