El mantenimiento es la línea del presupuesto que más gente intenta quitar, y la que más caro sale quitar. No porque sea una cuota inventada, sino porque lo que cubre no se ve hasta que falla.
¿Por qué hay que mantener algo que ya funciona?
Porque la aplicación no vive sola: por debajo tiene librerías, un servidor, una base de datos y navegadores que cambian. Ella se queda quieta, el suelo no.
Es la parte que cuesta explicar y la que más se nota a los dos años. Lo que se mueve sin que nadie toque nada:
- Las librerías de terceros. Aparecen vulnerabilidades y se publican parches. Una aplicación que no los aplica acumula avisos de seguridad conocidos y públicos.
- Los navegadores. Cambian cada seis semanas. Cosas que funcionaban dejan de hacerlo, y ahí no hay nada que hayáis hecho mal.
- Los servicios con los que habla. El día que vuestro banco, vuestra pasarela de pago o vuestro ERP cambian su API, la integración deja de funcionar. Y avisan poco.
- La ley. Facturación, protección de datos, requisitos de conservación. Cambian, y el software tiene que cambiar con ellos.
Una aplicación sin mantener no se rompe de golpe. Se va quedando obsoleta hasta que un día hay que rehacer medio proyecto de urgencia, que sale mucho más caro que haberla cuidado.
¿Qué entra en el mantenimiento?
Correcciones, actualizaciones de seguridad, copias de seguridad comprobadas, vigilancia de que sigue en pie, y soporte a tu equipo cuando algo no va.
En concreto:
Corregir lo que no funciona como se acordó. Si algo hace lo que no debía, eso se arregla y no se factura. Es la diferencia entre un fallo y una mejora.
Seguridad. Actualizar dependencias, aplicar parches, revisar los avisos que salen.
Copias de seguridad que se prueban. Una copia que nunca se ha restaurado no es una copia: es una carpeta. Restaurarla de vez en cuando forma parte del trabajo.
Vigilancia. Saber que la aplicación está caída antes de que os llame un cliente.
Soporte. Que alguien de tu equipo pueda preguntar y le respondan.
¿Qué no entra?
Las funcionalidades nuevas. Si la aplicación hace lo acordado y queréis que además haga otra cosa, eso se presupuesta aparte y lo decidís vosotros.
La frontera es esa y conviene tenerla clara desde el principio, porque es donde se generan casi todos los malentendidos entre cliente y proveedor: si no funciona como se acordó, es mantenimiento; si funciona pero queréis que haga más, es un cambio.
Escrito así parece obvio. En la práctica, casi ningún contrato lo dice, y entonces cada petición se convierte en una negociación.
¿Cómo se cobra normalmente?
De dos maneras: una cuota mensual que cubre lo anterior, o una bolsa de horas que se consume. Las dos son razonables; lo que no lo es, es no tenerlo por escrito.
Lo importante no es la fórmula sino que estén definidas tres cosas: qué cubre, en cuánto tiempo se responde a una incidencia grave, y qué pasa con las horas que no se usan. Si un presupuesto de mantenimiento no responde a esas tres, no está presupuestando nada.
Y desconfía de lo que sea sospechosamente barato: mantener de verdad cuesta tiempo, y lo que no se paga, no se hace.
¿Qué pasa si no lo contrato?
Que la aplicación sigue funcionando, hasta que un día no. Y ese día no elige el momento.
No es una amenaza comercial, es cómo funciona: mientras nada del entorno cambie, todo va bien. El problema es que el entorno cambia solo. Lo que solemos ver cuando llega alguien con una aplicación abandonada tres o cuatro años es que actualizar todo de golpe cuesta más que lo que se ahorró, porque hay que saltar muchas versiones a la vez y cada salto rompe algo.
Si aun así decides no contratarlo, hay una versión mínima razonable: que alguien revise las dependencias y las copias dos veces al año. No es mantenimiento completo, pero evita el escenario malo.
Cómo lo hacemos nosotros
El mantenimiento se presupuesta aparte del desarrollo, con lo que cubre por escrito, y lo decides tú. Las funcionalidades nuevas van por su lado y las priorizas tú.
Y si algún día dejas de contratarlo o te llevas el proyecto a otro equipo, el código y los accesos son tuyos — el mantenimiento es un servicio, no una correa.
Si tienes una aplicación a medida que lleva tiempo sin tocarse y no sabes en qué estado está, dínoslo: mirarla y decirte qué tiene es rápido, y te vale igual aunque después no hagas nada con nosotros.