La Factura Que Empezó una Discusión

Una clienta lanzó su nuevo sitio de reservas en línea la primavera pasada. Todo funcionaba bien. Los clientes podían reservar citas, pagar en línea y recibir su confirmación por correo. Ella estaba encantada.

Tres meses después, le envié la primera factura de mantenimiento. Me llamó casi de inmediato.

"Pero ya lo construiste", me dijo. "Ya está terminado. ¿Por qué te sigo pagando?"

Escucho esta pregunta todo el tiempo. No es una pregunta grosera, y tampoco es irrazonable. Si usted compra una mesa, no le sigue pagando al carpintero cada mes para seguir siendo dueño de ella. Entonces, ¿por qué el software es distinto?

Aquí está la respuesta honesta: porque el software no es una mesa. Se parece más a un jardín. Si deja de cuidarlo, no se queda quieto esperándolo. Cambia solo, y casi siempre no a su favor.

El Software No Es un Edificio. Es un Sistema Vivo.

Cuando termina de construir una casa, la casa queda terminada. La gravedad no recibe una actualización el mes siguiente. Los ladrillos no dejan de funcionar porque el vecino cambió algo.

El software es distinto. No existe en el vacío. Vive dentro de un entorno que se mueve todo el tiempo:

  • Los navegadores cambian. Chrome, Safari y Edge lanzan actualizaciones cada pocas semanas. Cada actualización puede dejar de dar soporte, sin avisar, a una función vieja de la que depende su sitio.
  • Las amenazas de seguridad cambian. Se descubren fallas nuevas todo el tiempo en las herramientas que los desarrolladores usan a diario. En 2021, una falla en una herramienta de registro muy usada llamada Log4j obligó a empresas de todo el mundo a corregir sus sistemas en cuestión de días, porque había atacantes explotándola activamente.
  • Las piezas de base cambian. Casi todos los sitios web y aplicaciones se construyen sobre docenas de piezas de código más pequeñas, escritas por otras personas. Esas piezas también se actualizan, a veces para corregir un error, a veces para cerrar un hueco de seguridad. Si su software no se mantiene al ritmo, poco a poco se desincroniza de todo lo que lo rodea.

Nada de esto es culpa de su desarrollador, y tampoco es culpa suya. Así funciona el software moderno. Vive dentro de un mundo que sigue moviéndose, lo toque usted o no.

Lo Que Realmente se Rompe, en Palabras Simples

Le doy un ejemplo real. El formulario de contacto de un cliente dejó de funcionar de la noche a la mañana. Nadie tocó el código. Lo que pasó fue que una actualización de rutina del navegador dejó de dar soporte, sin avisar, a una técnica vieja de la que dependía el formulario. Un día funcionaba. Al día siguiente, cada visitante que intentaba enviarlo no obtenía nada. Sin mensaje de error, sin aviso. Solo silencio, y una fuga lenta de clientes potenciales perdidos hasta que lo detectamos.

Esto es exactamente lo que un plan de mantenimiento existe para detectar, casi siempre antes de que un cliente lo note.

Lo Que Debería Incluir un Plan de Mantenimiento Razonable

No todos los acuerdos de mantenimiento son iguales, pero uno justo debería cubrir:

  • Parches de seguridad. Aplicar actualizaciones que cierran fallas conocidas, antes de que alguien las encuentre y las use en su contra.
  • Actualización de dependencias. Mantener actualizadas las piezas de base de su software, en pasos pequeños y manejables, en lugar de una renovación dolorosa cada varios años.
  • Corrección de errores pequeños. Esos detalles que aparecen después del lanzamiento: un botón que se comporta mal en ciertos celulares, un campo de formulario que no guarda bien la información.
  • Revisión de compatibilidad. Asegurarse de que su sitio siga funcionando bien cuando los navegadores, celulares y sistemas operativos se actualizan solos.
  • Monitoreo. Alguien vigilando caídas, lentitud o errores, idealmente antes de que sus clientes los reporten.

Lo que no debería ser es vago. Un buen acuerdo le dice, más o menos, cuántas horas o tareas están incluidas, qué se considera una emergencia y qué tan rápido puede esperar una respuesta.

El Costo Real de Saltarse el Mantenimiento

Saltarse el mantenimiento se siente como ahorrar dinero. Por un tiempo, lo es. Nada se rompe visiblemente de inmediato.

Pero el riesgo se acumula en silencio. Una corrección pequeña, de diez minutos, hoy, se convierte en una emergencia de varios días dieciocho meses después, cuando ya se acumularon varias actualizaciones y nadie estaba vigilando. He visto negocios perder una semana completa de pedidos en línea porque una integración de pagos dejó de funcionar en silencio y nadie lo estaba revisando. He visto un hueco de seguridad abierto por más de un año, simplemente porque nadie tenía la tarea de cerrarlo.

Este es un riesgo distinto al de perder su información en una falla técnica, que en realidad tiene que ver con copias de seguridad y continuidad del negocio, algo sobre lo que escribí por separado aquí. El mantenimiento saltado es más sutil. Nada dramático pasa. Su software simplemente se va desincronizando poco a poco del mundo que lo rodea, hasta que un día algo de lo que usted depende deja de funcionar, casi siempre en el peor momento posible.

Además, se acumula. Cuanto más se retrasan las actualizaciones, más difícil y costoso se vuelve ponerse al día después. Eso está relacionado con un concepto llamado deuda técnica, que explico con más detalle en este artículo. El mantenimiento es una de las formas más simples de evitar que esa deuda se acumule desde el principio.

Preguntas Para Hacer Antes de Firmar un Acuerdo de Mantenimiento

Antes de aceptar cualquier acuerdo de mantenimiento continuo, pregunte:

  • ¿Qué está incluido exactamente cada mes, y qué tiene costo adicional?
  • ¿Qué tan rápido van a responder si algo se rompe por completo?
  • ¿Voy a recibir un resumen en lenguaje simple de lo que se hizo, o solo una factura?
  • ¿Quién es dueño del código y de las credenciales de acceso, en caso de que algún día nos separemos?
  • ¿Qué pasa si me salto un mes? ¿Se acumula algo, o simplemente se reinicia?

Un desarrollador de confianza va a responder estas preguntas sin ponerse a la defensiva. Si alguien no puede explicarle con claridad qué está pagando, eso vale la pena notarlo.

La Conclusión

Su software no está terminado el día que se lanza. Está vivo, dentro de un mundo de navegadores, amenazas de seguridad y código de otras personas que sigue cambiando debajo de él. Un plan de mantenimiento razonable no es una táctica de venta. Es la forma de evitar que algo valioso se vaya deteriorando en silencio mientras nadie lo está vigilando.

Si no está seguro de si su configuración actual está protegida, o está evaluando una propuesta de mantenimiento y quiere una segunda opinión, hablemos de su situación.