Guía

Modernizar software heredado sin una reescritura total

El viejo sistema del que todos se quejan no tiene por qué derribarse y reconstruirse desde cero. Hay un camino más sereno y más seguro, y mantiene el negocio en marcha mientras arregla lo que de verdad duele.

Have a nice dayHave a nice day16 min de lectura
Modernizar software heredado sin una reescritura total

Casi toda empresa consolidada tiene uno: un software al que todos detestan en silencio. Es lento, es feo, media plantilla conoce un truco para el fallo que nadie llegó a corregir, y la única persona que lo entendía se marchó en 2019. El instinto siempre es el mismo: quemarlo y construir uno nuevo. Y ese instinto, más a menudo de lo que parece, es justamente como las buenas empresas pierden un año y una pequeña fortuna a cambio de nada.

He visto fracasar la gran reescritura las veces suficientes como para tener un reflejo al respecto. Un fundador me enseña su crujiente sistema de pedidos o su antiquísima herramienta de planificación, suspira y dice alguna versión de «solo necesitamos reemplazarlo todo». Y quizá algún día lo haga. Pero la reescritura completa —arrancar el viejo sistema, construir uno reluciente en paralelo, pulsar un interruptor— es uno de los movimientos más arriesgados de todo el software. Es cara, tarda mucho más de lo prometido y, durante todo ese tiempo, va a ciegas, confiando en que lo nuevo cubra cada caso extraño que lo viejo resolvía en silencio desde hace quince años.

La buena noticia es que la reescritura total casi nunca es la única opción, y rara vez la mejor. Hay una manera más serena de modernizar: gradual, reversible y considerada con el negocio que aún tiene que ganar dinero mientras usted trabaja. Esta es una guía de ese camino: cómo saber qué necesita arreglo de verdad, cómo sustituir las partes dolorosas sin tirar abajo todo el sistema, y cómo reconocer cuándo una reescritura completa es realmente la decisión correcta.

Por qué la reescritura total es tan tentadora y tan peligrosa

La reescritura completa seduce porque promete un lienzo en blanco. Se acabó el desorden heredado, se acabaron los compromisos, una base de código nueva construida como debe ser con herramientas modernas. En una pizarra parece obvio. En realidad, está firmando reconstruir años de lógica de negocio acumulada —buena parte sin documentar, algo que solo vive en la cabeza de gente que ya se fue— mientras el reloj corre y llegan las facturas.

La trampa más profunda es el problema del universo paralelo. Durante los meses o años que cuesta construir el reemplazo, usted tiene dos sistemas: el viejo, que aún debe sostener el negocio, y el nuevo, que todavía no está listo. Cada cambio que el negocio necesita hay que hacerlo dos veces, o el sistema nuevo se queda atrás de la realidad antes incluso de arrancar. Los equipos se queman manteniendo ambos con vida. Y como nadie puede cambiarse hasta que el nuevo sistema lo haga todo, no hay victoria temprana, ni feedback, ni prueba de que funcione: solo una larga y angustiosa espera hasta un único y enorme día de lanzamiento a todo o nada.

Una reescritura le pide apostar el negocio a un único día de lanzamiento, a años vista, por un sistema que nadie ha usado todavía. Eso no es un plan: es una apuesta.
lo que le digo a cualquiera que busca el botón de reinicio

Hay aquí una sabiduría conocida del sector, y bien merecida: el segundo sistema, la gran reescritura, tiende a tardar el triple de lo estimado y a llegar con menos funciones que aquello a lo que reemplaza. La estimación no falla por descuido. Falla porque, al principio, nadie alcanza a ver todas las pequeñas cosas que el viejo sistema hace bien sin decir nada.

Un viejo puente de madera con varios tablones gastados que se reemplazan uno a uno por tablas nuevas mientras la gente sigue cruzando, ilustrado en un cálido estilo editorial plano
Modernizar bien se parece a cambiar un tablón cada vez: el puente sigue abierto todo el tiempo.

Qué significa de verdad 'heredado' (no es cuestión de edad)

Lanzamos la palabra heredado como si solo quisiera decir viejo. No es así. Muchísimo software que lleva una década funcionando está perfectamente bien: aburrido, estable, ya pagado, haciendo su trabajo. La edad por sí sola no es razón para tocar nada. El error más caro de todo este campo es modernizar algo que funcionaba en silencio solo porque parecía anticuado.

El software se gana la etiqueta de heredado cuando empieza a estorbarle activamente. Cuando no puede cambiarlo sin riesgo porque nadie lo entiende del todo. Cuando no logra conectarse con las herramientas de las que hoy depende. Cuando una sola persona es la única capaz de mantenerlo con vida. Cuando es tan lento o frágil que su equipo ha levantado todo un folclore de trucos a su alrededor. Esa es la verdadera definición: no el año en que se escribió, sino el coste que le impone hoy y el riesgo que arrastra hacia mañana.

Diagnostique antes de tocar nada

Antes de reescribir una sola línea, necesita un mapa honesto de dónde vive realmente el dolor. La mayoría de las veces, el sistema que todos odian está bien en un 80 %. El problema se concentra en unos pocos puntos concretos —una pantalla lenta, una integración rota, un flujo que obliga a teclear los datos dos veces— y esos pocos puntos generan casi todas las quejas. Encuéntrelos y habrá encontrado todo su proyecto.

La forma de encontrarlos no es primero una auditoría técnica: es una conversación. Siéntese con quienes usan la herramienta a diario y pregúnteles dónde duele. ¿Dónde esperan? ¿Qué vuelven a teclear? ¿Qué evitan porque es doloroso? ¿Dónde guardan una hoja de cálculo privada para sortear el sistema oficial? Esos trucos son oro: cada uno es una radiografía precisa de un problema que merece arreglarse.

  • Las pantallas y los pasos de los que más se queja la gente, no en teoría, sino en su trabajo diario real.
  • Cada punto donde los datos se teclean dos veces porque dos sistemas no se hablan entre sí.
  • Las integraciones que se rompieron, o que nunca existieron, y obligan a copiar y pegar a mano entre herramientas.
  • Todo lo que solo una persona sabe operar o reparar: sus puntos únicos de fallo.
  • Las partes que están realmente bien, para protegerlas y dejarlas en paz.
  • Lo que el negocio necesitará el año que viene y a lo que el sistema actual sencillamente no puede crecer.

Cuando hace esto con honestidad, el proyecto suele encogerse. El dueño que entró diciendo «reemplazadlo todo» sale dándose cuenta de que necesita arreglar tres cosas. Eso no es una decepción: es un alivio. Tres cosas reparables son un proyecto que puede terminar este trimestre. Un reemplazo completo es un año que quizá no sobreviva.

El enfoque strangler: reemplácelo pieza a pieza

Hay un patrón para hacer esto con seguridad, y tiene un nombre algo lúgubre pero memorable: el enfoque strangler, por la higuera estranguladora, una enredadera que crece alrededor de un árbol y se va apropiando de su estructura hasta que, al final, el nuevo crecimiento se sostiene solo y el viejo tronco ha desaparecido. Aplicada al software, la idea es bellamente práctica: no reemplaza el viejo sistema en un único intercambio heroico. Hace crecer el nuevo a su alrededor, pieza a pieza, hasta que no queda nada del viejo que alguien necesite.

En la práctica funciona así. Elige una pieza dolorosa, digamos el módulo de facturación que todos odian. Construye un reemplazo moderno para solo esa pieza. Encamina la facturación al nuevo módulo mientras todo lo demás sigue funcionando en el viejo sistema, intacto. Lo observa un tiempo. Cuando es sólido, esa parte del viejo sistema se apaga y pasa a la siguiente pieza. El viejo sistema se encoge poco a poco, como una vela, en lugar de venirse abajo de golpe.

Un diagrama que muestra una gran caja gris de software heredado reemplazada poco a poco por módulos modernos más pequeños y brillantes conectados por una capa de enrutamiento, una sección cada vez, en un estilo limpio de infografía editorial
Cada módulo nuevo asume una tarea; el viejo sistema se encoge hasta que no queda nada importante dentro.

Lo que hace esto mucho más seguro que una reescritura es que cada paso es pequeño, en vivo y reversible. Nunca va a ciegas. Cada pieza nueva entra en uso real con rapidez, así que descubre pronto si de verdad funciona. Si algo sale mal, solo ha arriesgado un módulo, no todo el negocio, y normalmente puede volver al camino antiguo mientras lo arregla. Cosecha victorias por el camino en lugar de un único lanzamiento aterrador al final. Y el negocio sigue funcionando, con normalidad, todo el tiempo.

Cómo es realmente el ritmo

  1. 1
    Elija la pieza más dolorosa y más autónoma
    Quiere mucho dolor y bordes limpios: un módulo que duela bastante y que no tenga los dedos metidos en todo lo demás. Ese es su primer objetivo.
  2. 2
    Coloque una capa fina delante del viejo sistema
    Una pequeña capa de enrutamiento decide qué peticiones van al viejo sistema y cuáles a la nueva pieza. Esa es la costura que hace posible todo lo demás.
  3. 3
    Construya y lance solo esa única pieza
    Reemplace un módulo, póngalo en manos reales y encamine hacia él solo esa porción del trabajo. Semanas, no años, y el resto del sistema nunca se movió.
  4. 4
    Estabilice y luego pase a la siguiente pieza
    Una vez que el nuevo módulo es de fiar, la parte equivalente del viejo sistema queda en reposo. Repita con la siguiente pieza dolorosa, aprendiendo sobre la marcha.
  5. 5
    Retire el viejo sistema cuando esté vacío
    Con el tiempo, el sistema heredado no hace nada de lo que nadie dependa. Solo entonces lo apaga, en silencio, sin dramas, porque todo lo importante ya se mudó.

Fíjese en lo que distingue esto de la reescritura: no hay un único día de lanzamiento que temer. No hay un universo paralelo que mantener. El sistema nuevo está en producción desde la tercera semana, ganándose el sustento y enseñándole cosas, en lugar de esperar en un laboratorio un lanzamiento que no deja de aplazarse.

A veces ni siquiera hace falta reemplazarlo

Antes de reemplazar nada, conviene preguntarse si el viejo sistema necesita reemplazo o solo dejar de ser una isla. Un número sorprendente de problemas de «necesitamos un sistema nuevo» son en realidad problemas de «nuestros sistemas no se hablan». El viejo software hace bien su trabajo; solo está en un silo, obligando a la gente a trasladar datos a mano de un lado a otro.

En esos casos, el arreglo más barato y rápido no es un sistema nuevo. Es un puente. Envuelve el viejo software con una conexión —una integración que le permite intercambiar datos automáticamente con sus otras herramientas— y una capa moderna encima para las partes que la gente realmente toca. El motor anticuado sigue ronroneando debajo; el equipo obtiene una superficie limpia y el fin del copiar y pegar. No es glamuroso, pero a menudo es el mayor retorno por euro de todo el esfuerzo.

EnfoqueRiesgoTiempo hasta el valorCuándo encaja
Integrar / conectarBajoDías–semanasEl sistema funciona pero vive en un silo
Nueva interfaz sobre el viejo motorBajoSemanasLa lógica está bien, el dolor es la experiencia de uso
Reemplazar pieza a piezaMedioSemanas por piezaMódulos concretos le están frenando
Reconstrucción completaAltoMeses+Los cimientos de verdad no pueden llevarle adelante
Cuatro formas de modernizar, del toque más ligero al más pesado. Empiece arriba y solo baje cuando no le quede más remedio.

Cuándo una reescritura completa es de verdad la decisión correcta

He dedicado toda esta guía a quitarle de la cabeza la gran reescritura, así que seamos justos: a veces es de verdad la respuesta. Hay cimientos tan podridos que ningún parche, puente o reemplazo pieza a pieza los salva, y fingir lo contrario solo retrasa lo inevitable mientras gasta dinero apuntalando un cadáver.

Las señales honestas son concretas. La tecnología sobre la que se construyó el sistema está muerta o agonizando: sin soporte, sin actualizaciones de seguridad, sin nadie que pueda trabajar en ella. El negocio ha cambiado tan a fondo que el viejo modelo ya no se corresponde en absoluto con la realidad. O el sistema está tan enredado que hasta los cambios pequeños rompen rutinariamente cosas en lugares sin relación, lo que suele significar que no hay costuras limpias para aplicar un enfoque strangler de entrada. Cuando dos o tres de esas cosas son ciertas a la vez, el trabajo gradual deja de ser la opción más segura.

Y aquí está la recompensa silenciosa de hacer primero el trabajo gradual, aunque al final acabe reconstruyendo: para cuando llegue ahí, entenderá el sistema mucho mejor que al principio. Cada módulo que reemplazó le enseñó algo que los autores originales nunca dejaron por escrito. Una reescritura guiada por ese conocimiento es un animal completamente distinto, mucho más seguro, que la que se lanza con el optimismo del primer día.

Un tranquilo dueño de una pequeña empresa y una desarrolladora revisan juntos un plan sencillo en un escritorio, con un ánimo sereno y confiado, ilustrado en un cálido estilo editorial plano
Los mejores planes de modernización resultan aburridos a propósito: pasos pequeños, siempre un camino de vuelta, el negocio nunca en riesgo.

La parte que nadie menciona: es sobre todo cuestión de personas

Aquí va algo que las guías técnicas se saltan. La parte más difícil de modernizar software antiguo no suele ser el código: son las personas que llevan años adaptándose a él. Conocen sus manías. Tienen memoria muscular para sus atajos raros. Un módulo nuevo, objetivamente mejor, puede sentirse peor durante las dos primeras semanas, sencillamente por ser desconocido. Si ignora eso, hasta una migración técnica perfecta puede fracasar.

El enfoque gradual también ayuda aquí, casi por casualidad. Como el cambio llega en pequeñas piezas, la gente lo asimila poco a poco en lugar de tener que reaprenderlo todo un único lunes por la mañana. Involucre pronto a los usuarios diarios. Deje que den forma al reemplazo antes de que esté terminado. El equipo que ayudó a diseñar la nueva pantalla de facturación la defenderá; el equipo al que se la dejaron caer encima la rechazará, aunque sea idéntica. La modernización es un proyecto de gestión del cambio disfrazado de software.

¿Tiene un sistema que todos amenazan con reemplazar?

Antes de comprometerse con una reescritura, vale la pena una conversación honesta sobre qué necesita arreglo de verdad. Le ayudaremos a mapear dónde vive realmente el dolor y a encontrar el camino más ligero que lo resuelva, a menudo mucho más pequeño de lo que esperaría.

Cómo abordamos el software a medida

Preguntas frecuentes

¿Sale más barato reescribir el software antiguo o modernizarlo?
Modernizar de forma gradual es casi siempre más barato en la práctica, porque una reescritura completa tiende a desbordarse mucho: tiene que reconstruir años de lógica de negocio sin documentar antes de aportar valor alguno. Reemplazar el sistema pieza a pieza, o simplemente conectarlo y renovarlo, le da resultados en semanas y le permite dejar de gastar en cuanto desaparece el dolor. Una reescritura solo gana en coste cuando los cimientos están tan rotos que parchearlos costaría más que empezar de cero.
¿Qué es el enfoque strangler en palabras sencillas?
Es una forma de reemplazar un sistema antiguo poco a poco en lugar de todo de golpe. Construye una versión moderna de una pieza dolorosa, encamina solo ese trabajo hacia ella y deja todo lo demás funcionando en el viejo sistema. Cuando esa pieza es sólida, pasa a la siguiente. Con el tiempo, el viejo sistema hace cada vez menos, hasta que queda vacío y puede apagarlo, sin un único día de lanzamiento aterrador de por medio.
¿Podemos seguir con el negocio mientras modernizamos?
Sí: ese es precisamente el sentido de hacerlo de forma gradual. Como reemplaza una pequeña pieza cada vez y mantiene el viejo sistema vivo debajo, las operaciones normales continúan durante todo el proceso. Cada cambio es lo bastante pequeño como para probarlo en uso real y, si hace falta, revertirlo. Nunca llega a un momento en que el negocio dependa de un cambio a todo o nada sin probar.
¿Cómo sabemos qué partes modernizar primero?
Hable con quienes usan el sistema a diario y busque sus trucos: las hojas de cálculo privadas, el copiar y pegar manual, el «esa parte la hago a mano». Cada truco señala una carencia real y costosa. Ordénelos por la frecuencia con que muerden, y la cabeza de esa lista es por donde empieza. Suele ser un puñado de puntos concretos, no el sistema entero.
¿Cuándo es de verdad la mejor opción una reescritura completa?
Cuando la tecnología de base está muerta o sin soporte, cuando el negocio ha cambiado tanto que el viejo modelo ya no encaja en absoluto, o cuando el sistema está tan enredado que hasta los cambios pequeños rompen cosas sin relación, lo que también significa que no hay costuras limpias para reemplazar pieza a pieza. Cuando dos o tres de esas cosas son ciertas a la vez, una reconstrucción cuidadosa y gradual se vuelve la opción más segura. Aun entonces, mantiene el viejo sistema en marcha y pasa a los usuarios en grupos pequeños, nunca de un gran salto.
Have a nice day
Have a nice day
Redacción

Have a nice day es un estudio de software que ayuda a las pequeñas y medianas empresas a digitalizarse — automatización, IA y software a medida que funciona en el día a día, no solo en las diapositivas.

Servicios relacionados