Modernización de sistemas

Tu negocio sigue funcionando. El sistema cambia por debajo.

Reemplazar una parte es la mitad más chica. Mantener la vieja respondiendo bien hasta que la nueva se gane el cambio es donde se van el cronograma y el presupuesto.

El sistema no cambió. Lo que se le pide, sí.

Tu sistema hace lo que se construyó para hacer, la mayoría de los días. Se fue extendiendo durante años por gente que ya no está, con plazos que eran reales en su momento, y cada una de esas decisiones tuvo sentido el día en que se tomó.

Lo que se le pide ahora no es lo que se le pedía entonces. Canales nuevos que atender, reportes nuevos que producir, reglas nuevas que cumplir, y gente que espera una respuesta en el momento y no al final del día.

Cada una de esas cosas llega como un pedido de cambio, y cada uno lo estima gente que no puede establecer del todo qué más va a tocar. La documentación describe una versión que ya no existe, y quien podría haber respondido de memoria se fue.

Así que toda estimación carga un margen para lo desconocido, y ese margen crece cada año se haga algo o no. Eso es lo que cuesta la brecha, y no es caída de servicio. Es la velocidad a la que el negocio todavía puede cambiar de opinión.

Los agentes de IA sólo pueden actuar sobre lo que pueden leer.

Lo que se le pide a estos sistemas es nuevo: que un agente pueda averiguar qué contienen y actuar sobre eso, sin una persona en el medio traduciendo.

La mayoría de los sistemas que llevan años corriendo no pueden responder eso, y la razón no es su edad. Es que lo que saben está repartido entre código, stored procedures, jobs programados y convenciones que nadie escribió, la misma razón por la que son difíciles de explicarle a un desarrollador nuevo.

Esa superposición es la parte útil. Una descripción de qué contiene el sistema, dónde están sus límites y qué operaciones son seguras de llamar es la mayor parte del trabajo en los dos casos, lo que significa que no tiene que ser un programa aparte con su propio presupuesto.

Conviene resolverlo antes de fijar el plan de modernización, porque cambia qué significa terminado.

Escribir el reemplazo ya no es la parte lenta.

Los modelos leen bien código desconocido, y producen rápido algo que parece equivalente. Esa parte del trabajo se abarató de verdad, y no hay razón para esperar que se encarezca.

La prueba no se abarató. Antes de poder apagar el componente viejo, alguien tiene que establecer que el nuevo se comporta igual, incluidos los casos que nadie escribió, los que existen porque un cliente se quejó una vez y se agregó una regla sin decirlo.

Esa evidencia no se genera. Se construye, a partir del comportamiento del propio sistema: los datos que ya procesó, las excepciones que ya maneja, las salidas que ya produjo y en las que alguien río abajo ya confía.

Un programa que produce código nuevo rápido y evidencia despacio no se volvió más rápido. Movió el riesgo al final, que es el lugar más caro para encontrarlo. La mayor parte de nuestro esfuerzo va a la segunda mitad.

Qué parte cambiar primero, y por qué ésa.

El orden no es cuestión de gusto, y no sale de la tecnología. Sale de tres cosas que son ciertas sobre cada parte de tu sistema.

Cada cuánto tiene que cambiar

Las partes que el negocio pide cambiar una y otra vez son donde se está pagando de verdad el costo del sistema actual. Una parte que nadie necesitó tocar en años sale barato dejarla quieta, por vieja que se vea desde afuera.

Qué se detiene si se detiene

Un componente que puede fallar una hora sin que nadie afuera lo note carga un riesgo distinto al de uno que deja de facturar. Eso no lo pone automáticamente más tarde en el orden, lo pone en otro tipo de trabajo, con otra evidencia requerida antes de moverlo.

Si alguien todavía puede explicarlo

Donde nadie puede decir qué hace una parte, ninguna estimación para cambiarla es real. Esas partes se leen antes de agendarlas, y esa lectura es lo que convierte un plan en algo con lo que el negocio puede comprometerse.

Qué se mide se acuerda antes de cambiar nada

Ésas son las líneas de base, y se toman mientras el sistema sigue intacto, porque después no se pueden recuperar.

A percentage carries four things: qué se midióqué era antesqué es ahoraquién lo midió. Without those, it is a number that reads like evidence and is not.

Cuatro preguntas que esta página espera recibir.

  1. ¿Cómo empiezan si acá nadie puede explicar del todo el sistema?

    Ése es el caso normal, y es la razón por la que el primer entregable es la explicación y no un plan. Se construye desde lo que el sistema hace, su comportamiento, sus datos, sus interfaces, y no sólo desde entrevistas, porque las entrevistas son justamente donde están los huecos.
  2. ¿Esto puede pasar con el sistema en producción?

    Normalmente sí, y esa restricción es lo que decide cómo se puede secuenciar el trabajo siquiera. Donde no se puede, conviene establecerlo antes de fijar el presupuesto y no después.
  3. ¿Cuánto falta para que se vea algo?

    La lectura del sistema existe antes de que cambie una línea de código, así que hay algo para revisar temprano. Después, qué parte se mueve primero lo deciden los criterios de arriba, y una de las cosas que esos criterios pesan es en cuánto tiempo el negocio puede ver la diferencia.
  4. ¿Qué pasa con el equipo que mantiene el sistema hoy?

    Son la fuente principal de todo lo que no se puede leer del código, y son para quienes se escribe la explicación. Una modernización que deja al equipo sin poder cambiar el resultado movió el problema en vez de resolverlo.

Empieza por la explicación, Agenda una sesión de trabajo no por el plan.

Una lectura de tu sistema, entregada como documento: qué hace hoy, qué partes cargan el costo del cambio, y en qué orden trabajaríamos. Es tuya siga o no siga algo después.