Guía · Servicios informáticos

Código generado por IA: riesgos y cómo rescatar un sistema roto

Deuda técnica, seguridad, privacidad y recuperación de sistemas desarrollados o modificados con IA.

51 min de lectura 17 secciones Actualizada el 14 de octubre de 2026 Por Pablo Caballero, fundador de HolaPolska!

En 2 minutos

  • Según la encuesta Stack Overflow 2026, el 66 % de los desarrolladores usa asistentes o agentes de programación, pero solo el 6,6 % confía en ella para muchas tareas, incluidas decisiones de trabajo importantes.
  • Solo el 24 % dice que su organización proporciona herramientas de IA aprobadas y pautas para utilizarlas.
  • Ante una falla, lo primero es contener y preservar: cada cambio nuevo pedido a la IA dificulta el diagnóstico.
  • Recuperar el control exige tener a nombre de la empresa el dominio, los repositorios, la nube, las bases de datos y los respaldos.
  • No siempre conviene reconstruir: según el estado real se corrige, se refactoriza o se reconstruye por partes.

¿Prefieres que lo hagamos por ti? Humanos al rescate

Guía sobre los riesgos del vibe coding, el código generado por inteligencia artificial, la deuda técnica, la ciberseguridad, la privacidad, la continuidad operativa y la recuperación de sistemas empresariales.

1. El problema no es utilizar inteligencia artificial, sino confiarle responsabilidades que no se están supervisando

La inteligencia artificial está transformando la manera en que desarrollamos software, administramos empresas, automatizamos procesos y tomamos decisiones.

Hoy puedes pedirle a una herramienta de IA que construya una página web, desarrolle una aplicación, conecte dos sistemas, genere una base de datos, automatice la facturación o incluso programe una plataforma empresarial completa.

Y muchas veces funciona.

El problema comienza cuando confundimos que algo funcione con que esté correctamente desarrollado.

Una aplicación puede verse impecable, tener botones que responden, generar reportes y procesar información sin que exista una arquitectura sostenible detrás. Puede funcionar durante semanas y, aun así, contener vulnerabilidades graves, errores contables, problemas de privacidad o defectos que la harán imposible de mantener económicamente.

Esto sucede porque generar código y desarrollar software profesionalmente son actividades relacionadas, pero no equivalentes.

La ingeniería de software no consiste únicamente en escribir instrucciones para una computadora. También implica diseñar, documentar, probar, asegurar, integrar, supervisar, mantener y responder por el funcionamiento de un sistema a lo largo de su vida útil.

Cuando esas responsabilidades desaparecen, las empresas pueden terminar con herramientas que aparentemente solucionan un problema inmediato, pero generan otros mucho más costosos.

¿Qué tan real es este problema?

No se trata solamente de una preocupación teórica.

Según la encuesta de desarrolladores de Stack Overflow de 2025, el 84 % de los participantes utilizaba o planeaba utilizar herramientas de IA en sus procesos de desarrollo. Sin embargo, el 46 % desconfiaba de la precisión de sus resultados y el 66 % identificaba como una frustración frecuente recibir soluciones que eran casi correctas, pero no completamente.

Por otra parte, un estudio publicado por Veracode en 2025 evaluó código generado por más de 100 modelos de lenguaje. El 45 % de las muestras evaluadas falló pruebas de seguridad. Este resultado describe las condiciones específicas del estudio, no significa que el 45 % de todo el software generado por IA sea vulnerable.

La investigación DORA de Google, también de 2025, identifica a la IA como un amplificador: puede potenciar a las organizaciones que ya cuentan con buenos procesos de ingeniería, pero también agravar las deficiencias de aquellas que trabajan sin controles adecuados.

La conclusión es importante: la inteligencia artificial puede incrementar enormemente la capacidad de producir software, pero producir más código no garantiza producir mejores sistemas.

Y cuando una empresa depende comercial, financiera u operativamente de ese software, la diferencia deja de ser un asunto exclusivamente técnico.

Se convierte en un riesgo empresarial.

2. ¿Qué es el vibe coding y por qué está generando controversia?

El término vibe coding describe una manera de crear software mediante instrucciones en lenguaje natural dirigidas a una inteligencia artificial.

En lugar de escribir personalmente el código, describes lo que necesitas:

Quiero un sistema que administre mis clientes, genere cotizaciones, envíe facturas, registre pagos y tenga un panel de administración.

La IA genera una solución. Después le pides modificaciones:

Agrega usuarios, cambia el diseño, permite exportar documentos y conecta el sistema con mi banco.

Finalmente, cuando algo falla, vuelves a pedirle que lo arregle.

Esta dinámica puede repetirse decenas o cientos de veces.

¿Cuál es el inconveniente?

El vibe coding no es necesariamente malo. Puede ser extraordinariamente útil para elaborar prototipos, validar ideas comerciales, desarrollar herramientas internas sencillas o explorar soluciones sin realizar una inversión inicial considerable.

El riesgo aumenta cuando quien utiliza la herramienta no comprende el código generado y lo pone en producción, es decir, lo utiliza realmente con clientes, empleados, dinero o información sensible.

Imagina que alguien construye un edificio mediante instrucciones:

Agrega tres pisos, mueve esta pared, instala un elevador y amplía el estacionamiento.

El resultado podría verse espectacular. Pero ¿quién calculó las cargas estructurales? ¿Quién verificó los materiales? ¿Quién comprobó los sistemas contra incendios?

Con el software ocurre algo semejante.

La IA puede producir una solución funcional sin haber considerado correctamente su arquitectura, controles de seguridad, capacidad de crecimiento o comportamiento bajo condiciones imprevistas.

No todo desarrollo asistido por IA es vibe coding

Es necesario distinguir dos escenarios.

Desarrollo profesional asistido por IA: un ingeniero utiliza inteligencia artificial para generar, revisar, explicar o acelerar código. Comprende el resultado, verifica sus dependencias, aplica pruebas y asume responsabilidad técnica por los cambios.

Desarrollo sin supervisión técnica suficiente: una persona solicita funcionalidades, acepta resultados porque visualmente funcionan y acumula modificaciones sin comprender las consecuencias para el resto del sistema.

Ambos utilizan inteligencia artificial.

Pero sus niveles de riesgo son diferentes.

Un desarrollador experimentado también puede cometer errores con IA, y una persona sin formación tradicional puede aprender a construir sistemas de calidad. El criterio decisivo no es el título profesional ni la herramienta utilizada, sino la existencia de controles, competencias demostrables, evidencia técnica y responsabilidad.

La pregunta correcta no es quién escribió el código.

La pregunta es quién puede demostrar que funciona, que es seguro, que cumple su propósito y que seguirá siendo mantenible.

3. Lo que muestran los datos de 2026: más inteligencia artificial, pero también más necesidad de supervisión

Los resultados de la encuesta de desarrolladores de Stack Overflow 2026, publicada el 6 de octubre de 2026, ayudan a entender la situación.

IndicadorParticipantes
Utiliza asistentes o agentes de programación en su trabajo66 %
Confía en la IA cuando puede verificar fácilmente sus respuestas48 %
Confía en ella para muchas tareas, incluidas decisiones de trabajo importantes6,6 %
Indica que su organización proporciona herramientas de IA aprobadas y pautas para utilizarlas24 %

Fuente: encuesta Stack Overflow 2026, 30 903 respuestas válidas de 169 países. Los indicadores corresponden a preguntas y bases de respuesta distintas; no deben sumarse entre sí.

Esto revela una contradicción empresarial: la adopción de IA avanza rápidamente, pero la gobernanza organizacional no siempre crece al mismo ritmo.

En muchas empresas existe presión para producir más utilizando IA, mientras que las políticas de calidad, revisión, privacidad y responsabilidad siguen siendo las mismas o simplemente no existen.

También existe evidencia de que acelerar no siempre significa ahorrar tiempo. Un experimento controlado de METR, publicado en julio de 2025, observó que desarrolladores experimentados tardaron un 19 % más al utilizar determinadas herramientas de IA de principios de 2025 en proyectos de código abierto que ya conocían. En febrero de 2026, METR advirtió que ese resultado ya no refleja el efecto de las herramientas actuales: sus nuevos datos apuntan a una probable aceleración, aunque la propia organización los considera evidencia poco fiable. No es una conclusión universal sobre todas las herramientas o proyectos, sino una demostración de que el rendimiento debe medirse y no darse por hecho.

Un caso real: cuando un agente de IA eliminó una base de datos

En julio de 2025, Jason Lemkin, fundador de SaaStr, denunció que un agente de programación de Replit había eliminado información de su base de datos de producción, a pesar de las instrucciones de no efectuar cambios.

El incidente incluyó reportes de información ficticia y afirmaciones incorrectas sobre la imposibilidad de recuperar los datos. Replit reconoció públicamente la gravedad del incidente y anunció medidas para separar mejor los entornos de desarrollo y producción.

Este caso ilustra una distinción esencial:

Decirle a una IA que no elimine información no equivale a impedir técnicamente que pueda eliminarla.

Las restricciones reales deben existir en los permisos, la infraestructura, las autorizaciones y los mecanismos de recuperación, independientemente de las instrucciones que reciba el modelo.

4. Los principales problemas del software creado o modificado sin suficiente control

No todos estos problemas son exclusivos de la inteligencia artificial. La mayoría ya existía en el desarrollo tradicional.

Lo que cambia con la IA es la velocidad con la que pueden introducirse, multiplicarse y distribuirse.

4.1. Deuda técnica (Technical Debt)

La deuda técnica aparece cuando adoptas decisiones que facilitan avanzar rápidamente, pero incrementan el esfuerzo necesario para mantener o mejorar un sistema en el futuro.

Por ejemplo, puedes tener un sistema que funciona perfectamente para diez clientes, pero cuya estructura requiere modificar veinte archivos cada vez que agregas un nuevo servicio.

La empresa obtiene velocidad inmediata, pero pierde flexibilidad futura.

La deuda técnica no siempre es un error. Puede ser una decisión empresarial razonable cuando se conoce, documenta y controla.

El verdadero problema es la deuda técnica involuntaria, cuando nadie sabe qué decisiones se tomaron ni cuánto costará corregirlas.

La IA puede aumentar esta deuda mediante funcionalidades duplicadas, soluciones temporales que se vuelven permanentes, estructuras inconsistentes y cambios que funcionan individualmente, pero perjudican al conjunto.

4.2. Código basura (Code Slop o AI Slop)

Code slop es una expresión informal utilizada para describir código de baja calidad, frecuentemente generado en grandes cantidades y con una apariencia inicial de utilidad.

No es una clasificación formal de ingeniería ni significa que todo código producido por IA sea malo.

Entre sus manifestaciones habituales están:

  • Funciones duplicadas que hacen prácticamente lo mismo.
  • Archivos enormes que mezclan responsabilidades.
  • Dependencias innecesarias o incompatibles.
  • Consultas a bases de datos poco eficientes.
  • Código que nadie comprende completamente.
  • Comentarios que explican comportamientos distintos de los reales.
  • Validaciones superficiales y manejo deficiente de errores.
  • Soluciones que aparentemente reparan una falla introduciendo otras.

La dificultad no está necesariamente en que el código sea imposible de ejecutar.

Está en que una modificación sencilla puede provocar consecuencias inesperadas en diferentes partes de la aplicación.

4.3. Programación improvisada sobre sistemas existentes

Imagina que ya tienes un CRM que administra clientes y facturación.

Alguien decide mejorar la plataforma mediante IA y solicita una nueva funcionalidad. La herramienta propone modificar la base de datos, sustituir componentes y reorganizar estructuras internas.

La funcionalidad aparece en pantalla, pero después descubres que los informes históricos dejaron de coincidir, algunas automatizaciones no funcionan y ciertos usuarios pueden consultar información que no les corresponde.

Esto ocurre cuando se ejecutan cambios locales sin evaluar su efecto sobre el sistema completo.

En la industria se relaciona con problemas de regresión (regression): una modificación nueva provoca que algo que antes funcionaba deje de hacerlo.

Por eso existen las pruebas de regresión.

4.4. Arquitectura deficiente (Poor Software Architecture)

La arquitectura es la estructura que define cómo se organizan los componentes de un sistema y cómo se relacionan entre sí.

Una arquitectura adecuada permite modificar partes de la aplicación sin tener que reconstruirla por completo.

Una arquitectura deficiente puede funcionar durante mucho tiempo, pero convertirse en una limitación cuando la empresa crece.

Algunos problemas frecuentes son los siguientes:

ProblemaQué significa para tu empresa
Spaghetti CodeTodo está conectado de manera confusa y resulta difícil modificarlo
God Object o God ClassUn solo componente concentra demasiadas responsabilidades
Tight CouplingCambiar una funcionalidad puede romper muchas otras
Circular DependenciesLos componentes dependen unos de otros de forma circular
Code DuplicationLa misma lógica aparece repetida, dificultando correcciones consistentes
Architecture DriftEl sistema se aleja progresivamente del diseño originalmente previsto
OverengineeringSe crea una solución innecesariamente compleja para un problema sencillo
UnderengineeringSe omiten estructuras y controles necesarios para un uso profesional

La inteligencia artificial puede producir cualquiera de estos problemas cuando se utiliza sin una visión arquitectónica integral.

También puede ayudar a detectarlos y corregirlos cuando se emplea con un proceso de revisión adecuado.

4.5. Seguridad aparente en lugar de seguridad real

Uno de los errores más peligrosos es asumir que una aplicación está protegida porque tiene una pantalla de inicio de sesión.

Un formulario de acceso no garantiza que la información esté protegida.

Por ejemplo, si un cliente consulta su factura mediante una dirección que contiene un identificador y al modificarlo obtiene la factura de otra persona, existe un fallo de autorización.

En seguridad informática, este problema puede describirse como Broken Access Control y, en ciertos casos, IDOR (Insecure Direct Object Reference).

La edición 2025 de OWASP Top 10 identifica precisamente el control de acceso deficiente como uno de los riesgos más importantes para las aplicaciones web.

Otros errores frecuentes incluyen credenciales incorporadas directamente al código, permisos excesivos, consultas vulnerables a inyecciones, almacenamiento inseguro de contraseñas, configuraciones expuestas y dependencias con vulnerabilidades conocidas.

Que una aplicación tenga HTTPS, contraseñas y un servidor moderno no demuestra por sí solo que sea segura.

4.6. Privacidad y fuga de información

Una aplicación puede funcionar correctamente y, al mismo tiempo, manejar de manera inadecuada los datos personales.

Esto ocurre, por ejemplo, cuando:

  • Se envían expedientes de clientes a servicios externos de IA sin verificar las condiciones de tratamiento.
  • Se utilizan datos reales para realizar pruebas innecesarias.
  • Los registros técnicos contienen contraseñas, documentos o información personal.
  • Los empleados pueden acceder a datos que no necesitan para realizar sus funciones.
  • Se conservan datos durante más tiempo del necesario.
  • Las integraciones transfieren información a proveedores que no han sido evaluados.

Una suscripción empresarial a un modelo de IA no constituye, por sí misma, una garantía universal de cumplimiento normativo.

Debes conocer qué información se envía, quién la recibe, dónde se procesa, bajo qué condiciones se conserva y qué controles contractuales y técnicos existen.

4.7. Falta de estabilidad y capacidad de crecimiento

Una aplicación puede responder correctamente con cinco usuarios y fallar con quinientos.

El término scalability describe su capacidad para manejar un crecimiento de usuarios, operaciones o información.

La reliability describe qué tan consistentemente funciona.

La resilience describe su capacidad para soportar fallas y recuperarse.

Son propiedades relacionadas, pero diferentes.

Una aplicación puede ser rápida y poco confiable, segura y lenta, escalable pero demasiado costosa, o estable hasta que falla un proveedor externo.

Una solución profesional debe considerar el equilibrio entre estas características.

4.8. Falta de pruebas y validación

Cuando una persona desarrolla exclusivamente mediante instrucciones, puede limitarse a comprobar que la pantalla se ve correctamente.

Pero existen muchas otras preguntas:

¿Qué ocurre si el usuario introduce información incorrecta? ¿Si realiza el mismo pago dos veces? ¿Si se interrumpe la conexión? ¿Si dos empleados modifican simultáneamente el mismo registro? ¿Si vence un certificado o falla una API?

Las pruebas sirven para responder estas preguntas antes de que el problema afecte a clientes reales.

Se utilizan términos como unit testing, integration testing, end-to-end testing, regression testing, load testing y security testing.

Cada uno evalúa diferentes aspectos del sistema.

Una prueba generada por IA tampoco es automáticamente confiable. Puede contener supuestos equivocados, validar resultados falsos o limitarse a confirmar el mismo error presente en el código.

4.9. Dependencia de una persona, plataforma o proveedor

Este es uno de los riesgos comerciales más importantes.

Imagina que alguien construye tu aplicación con una plataforma de IA, pero no te entrega el código fuente, no controlas el repositorio y todas las configuraciones están dentro de su cuenta personal.

Mientras esa persona colabora contigo, el sistema parece tuyo.

Cuando deja de responder, descubres que no puedes modificarlo, migrarlo ni contratar fácilmente a otro equipo.

Este problema se conoce como Vendor Lock-in cuando existe dependencia de un proveedor o una tecnología, y Key-Person Risk cuando la continuidad depende excesivamente de una persona.

El riesgo no desaparece por utilizar IA. Incluso puede intensificarse cuando tampoco existe documentación técnica.

4.10. Datos incorrectos que aparentan ser verdaderos

Los modelos de lenguaje pueden producir resultados plausibles pero incorrectos, fenómeno conocido como hallucination o alucinación.

Dentro de una aplicación empresarial, el problema puede tomar diversas formas.

Un sistema de atención podría inventar condiciones comerciales. Una automatización contable podría clasificar incorrectamente una operación. Un asistente podría afirmar que procesó un archivo cuando realmente no lo hizo.

El riesgo aumenta cuando una respuesta generada por IA se interpreta como confirmación de que una operación fue efectivamente ejecutada.

Por ello, una respuesta del modelo nunca debería sustituir por sí sola una confirmación verificable del sistema que realmente ejecuta la operación.

5. Los riesgos adicionales cuando la IA también opera tu sistema

Hasta este punto hemos hablado principalmente de utilizar IA para desarrollar software.

Pero existe otro escenario: aplicaciones donde la inteligencia artificial permanece integrada y toma decisiones o ejecuta acciones continuamente.

Por ejemplo, un agente que puede leer correos, generar facturas, administrar documentos, actualizar un CRM o modificar registros.

Aquí aparecen riesgos adicionales.

Prompt Injection: ocurre cuando instrucciones maliciosas introducidas en mensajes, documentos, sitios web u otras fuentes alteran indebidamente el comportamiento de un modelo. Por ejemplo, un agente encargado de leer un documento puede recibir instrucciones ocultas destinadas a modificar su comportamiento.

Excessive Agency: sucede cuando un agente dispone de demasiadas facultades, permisos o autonomía. Una herramienta que solo necesita consultar información no debería disponer automáticamente de permisos para eliminarla.

Data Exfiltration: es la extracción o divulgación no autorizada de información. Puede producirse mediante integraciones mal configuradas, permisos excesivos o ataques contra las herramientas que utiliza el agente.

RAG Poisoning: es la manipulación del contenido utilizado como fuente de conocimiento por un sistema de recuperación aumentada, o RAG. Si la fuente contiene información falsa o maliciosa, puede contaminar las respuestas.

Unbounded Consumption: ocurre cuando los recursos se consumen sin límites apropiados, lo que puede generar facturas inesperadas por llamadas a modelos, servicios externos o capacidad computacional.

Automation Bias: es la tendencia humana a confiar excesivamente en las recomendaciones de un sistema automatizado, incluso cuando existen motivos para cuestionarlas.

OWASP recoge varios de estos riesgos —entre ellos prompt injection, excessive agency y unbounded consumption— en su Top 10 de 2025 para aplicaciones que utilizan modelos de lenguaje (LLM).

La defensa no consiste únicamente en escribir mejores instrucciones.

Requiere controles independientes del modelo: autorización real, separación de entornos, límites de consumo, validación de entradas y salidas, supervisión, trazabilidad y aprobaciones humanas para acciones críticas.

A. Desde la mirada de quien quiere integrar inteligencia artificial en su sistema actual

6. Quieres modernizar tu empresa con IA. ¿Por dónde debes comenzar?

Imagina que tu empresa lleva años trabajando con un ERP, CRM, sitio web, plataforma de ventas o sistema administrativo.

Es probable que quieras automatizar tareas, reducir tiempos, conectar herramientas o incorporar asistentes inteligentes.

Eso puede tener mucho sentido.

Pero antes de introducir IA, necesitas identificar exactamente qué problema estás tratando de resolver.

No es lo mismo automatizar la clasificación de correos que permitir a un agente modificar facturas, aprobar pagos o cambiar información de clientes.

Primero, identifica el proceso que quieres mejorar

Una buena integración comienza por el proceso empresarial, no por la herramienta.

Por ejemplo, si necesitas automatizar la captura de facturas, deberías conocer cómo llegan, qué información contienen, quién las valida, qué sistema las registra, cómo se resuelven los errores y qué documentación debe conservarse.

Cuando tienes este proceso documentado, puedes identificar qué parte conviene automatizar.

Tal vez la IA sea útil para extraer información de documentos no estructurados, mientras que las operaciones fiscales y los cálculos permanecen bajo reglas deterministas.

Esto permite aprovechar la IA sin concederle responsabilidades que no necesita.

7. Cuatro maneras de incorporar IA a un sistema existente

ModalidadEjemploRiesgo relativo
IA como asistenteConsulta documentos y propone respuestas sin modificar datosBajo a moderado
IA con supervisiónPrepara cotizaciones o registros que una persona debe aprobarModerado
IA integrada a procesosClasifica, transforma o actualiza información mediante APIs controladasModerado a alto
IA con autonomía operativaEjecuta acciones comerciales, administrativas o financieras con mínima intervenciónAlto, según permisos e impacto

Los niveles son orientativos. Un asistente que expone información extremadamente sensible también podría representar un riesgo crítico.

¿Necesitas sustituir tu sistema actual?

En muchos casos, no.

Un error frecuente es querer reconstruir completamente una plataforma funcional solo porque ahora es posible generar una nueva con IA.

Si tu sistema actual procesa correctamente las operaciones de tu empresa, probablemente convenga estudiar primero una integración mediante APIs, conectores, componentes externos o automatizaciones controladas.

Así aprovechas la inversión existente y reduces los riesgos de una migración completa.

Por ejemplo, puedes conservar tu ERP y utilizar IA para interpretar documentos, asistir a operadores o detectar inconsistencias, sin permitir que el modelo reescriba la lógica contable.

¿Qué debes exigir antes de contratar una integración?

Lo importante es que el proveedor pueda entregarte evidencia de lo que va a modificar, cómo protegerá tu información y cómo resolverá cualquier fallo.

Antes de comenzar, procura establecer estos puntos:

  1. Alcance: qué hará la IA y qué decisiones seguirán dependiendo de personas o reglas verificables.
  2. Arquitectura: cómo se conectará con los sistemas actuales y qué componentes se verán afectados.
  3. Datos: qué información necesita, dónde se enviará y cómo se protegerá.
  4. Permisos: qué puede consultar, crear, modificar o eliminar.
  5. Pruebas: cómo se demostrará que funciona en situaciones normales y excepcionales.
  6. Reversibilidad: cómo se desactivará o retirará la integración sin perjudicar el sistema principal.
  7. Propiedad y documentación: qué recibirás para poder mantenerla con otro proveedor.
  8. Costos: cuánto costará desarrollarla, utilizarla, supervisarla y mantenerla.

Si alguien no puede explicarte estos aspectos de manera comprensible, aún no tienes información suficiente para evaluar el proyecto.

8. ¿Cuándo no conviene utilizar inteligencia artificial?

No todo necesita IA.

Si deseas calcular un impuesto mediante una fórmula definida legalmente, utilizar un modelo de lenguaje para inventar la operación agrega incertidumbre.

Si deseas verificar si un cliente pagó una factura, la fuente confiable debe ser el registro bancario o el sistema autorizado, no la interpretación verbal de un asistente.

Si necesitas determinar si una operación cumple una regla inequívoca, generalmente conviene utilizar lógica programada y verificable.

La IA aporta mayor valor cuando debes interpretar lenguaje, clasificar información compleja, procesar documentos variados, resumir contenidos, ayudar en decisiones supervisadas o interactuar con personas mediante lenguaje natural.

La arquitectura más adecuada suele combinar ambas tecnologías:

IA para interpretar, asistir y proponer; software determinista para validar, autorizar y ejecutar operaciones críticas.

Esto se conoce como una arquitectura híbrida.

Una integración bien diseñada debería permitirte trabajar de manera más eficiente sin perder el control de tus procesos originales.

B. Desde la mirada de un director técnico: ¿es viable el proyecto y cuánto riesgo representa?

9. El trabajo de un director técnico ya no consiste solamente en evaluar si algo puede programarse

Un director técnico, CTO o responsable de tecnología necesita responder preguntas distintas de las que normalmente hace quien solicita una aplicación.

La empresa quiere saber si puede desarrollarse.

El responsable técnico necesita saber si puede desarrollarse con un nivel aceptable de riesgo, un costo sostenible y garantías de continuidad.

La inteligencia artificial modifica significativamente esta evaluación porque reduce algunas barreras para producir código, pero no elimina las responsabilidades de ingeniería.

Puedes recibir en días una aplicación que antes habría requerido un proceso mucho más largo. Sin embargo, también puedes recibir miles de líneas de código sin documentación, sin cobertura de pruebas y sin decisiones arquitectónicas justificadas.

La velocidad de generación deja de ser el único indicador relevante.

10. Las seis evaluaciones que determinan la viabilidad técnica

10.1. Viabilidad funcional

¿El sistema resuelve realmente el problema empresarial?

Una demostración visual no es suficiente.

Debes verificar que las reglas de negocio se cumplen, los cálculos son correctos, la información conserva su integridad y los procesos funcionan de principio a fin.

Un sistema puede aprobar una demostración comercial y fallar cuando encuentra operaciones reales.

Por ejemplo, un programa de facturación debe gestionar correctamente descuentos, cancelaciones, impuestos, notas de crédito, duplicados, estados de pago y situaciones excepcionales.

Cada operación representa una regla que debe definirse y verificarse.

10.2. Viabilidad arquitectónica

¿La estructura permite mantenerlo y hacerlo crecer?

Aquí se revisan componentes, bases de datos, dependencias, integraciones, modularidad, patrones de diseño y capacidad para incorporar funcionalidades futuras.

No existe una arquitectura universalmente correcta.

Un sistema pequeño podría beneficiarse de un monolito modular bien organizado en lugar de una arquitectura distribuida excesivamente compleja.

La decisión debe responder al problema y a sus necesidades reales.

10.3. Viabilidad de seguridad

¿Puedes demostrar que existen controles adecuados?

Debes considerar gestión de identidades, autenticación, autorización, cifrado, dependencias, administración de secretos, registro de actividades, protección de datos y respuesta ante incidentes.

En la industria se utilizan diferentes tipos de pruebas:

TérminoFunción
SAST (Static Application Security Testing)Analiza código para localizar posibles vulnerabilidades
DAST (Dynamic Application Security Testing)Examina el comportamiento de una aplicación en ejecución
SCA (Software Composition Analysis)Examina dependencias y componentes de terceros
Secret ScanningBusca credenciales, tokens o secretos expuestos
Penetration TestingEvalúa mediante pruebas controladas la posibilidad de explotar vulnerabilidades
Threat ModelingIdentifica amenazas y posibles ataques desde la etapa de diseño
SBOM (Software Bill of Materials)Documenta los componentes y dependencias utilizados

Estas medidas son complementarias. Ninguna, por sí sola, garantiza que el software sea seguro.

El marco NIST SSDF proporciona prácticas para integrar la seguridad en el ciclo de desarrollo, independientemente de si el código fue escrito por una persona o generado con ayuda de IA.

10.4. Viabilidad operativa

¿Puede mantenerse funcionando en condiciones reales?

Debes investigar cómo se despliega, supervisa, actualiza y recupera.

Un sistema con alto grado de automatización, pero sin registros suficientes, puede ser especialmente difícil de diagnosticar cuando falla.

Aquí intervienen prácticas como DevOps, SRE (Site Reliability Engineering) y Observability.

La observabilidad permite comprender qué está sucediendo mediante métricas, registros y trazas.

No basta con saber que la aplicación dejó de funcionar. Necesitas conocer qué componente falló, cuándo ocurrió, qué operaciones afectó y cómo recuperarla.

10.5. Viabilidad económica

¿Cuánto cuesta realmente el sistema durante su vida útil?

Este es uno de los aspectos que más se subestiman.

Una aplicación generada con IA puede tener un costo inicial muy reducido y, posteriormente, requerir inversiones importantes en:

  • Correcciones.
  • Seguridad y auditorías.
  • Infraestructura.
  • Consumo de APIs y modelos de IA.
  • Mantenimiento y actualizaciones.
  • Soporte.
  • Reescritura parcial o total.
  • Recuperación de datos.
  • Cumplimiento normativo.
  • Capacitación y documentación.

El concepto utilizado en administración es Total Cost of Ownership (TCO), o costo total de propiedad.

Puede representarse así:

TCO = costo de desarrollo + costo de operación + costo de mantenimiento + costo de riesgos + costo de salida

Los costos de riesgos deben estimarse mediante escenarios y probabilidades razonables; no son necesariamente desembolsos que vayan a ocurrir.

Una evaluación seria considera un horizonte de varios años, no solamente el costo de producir la primera versión.

10.6. Viabilidad de continuidad

¿Qué sucederá si el desarrollador, la plataforma o el proveedor desaparece?

La respuesta depende de que la empresa controle sus activos tecnológicos.

Idealmente deberías poder acceder al código fuente, las bases de datos, la infraestructura, las credenciales empresariales, los contratos, la documentación y los procedimientos de recuperación.

También debes comprobar que los respaldos sean restaurables y que exista una alternativa realista para continuar la operación.

Tener archivos de respaldo no equivale necesariamente a poder recuperar el negocio.

11. ¿Cómo decide un CTO si debe corregir, reorganizar o reconstruir?

No todo software deficiente necesita ser eliminado.

Una revisión técnica puede llegar a diferentes decisiones.

Estado identificadoDecisión habitual
Funcional y razonablemente seguro, con defectos puntualesCorrección localizada (Remediation)
Funciona, pero su estructura dificulta los cambiosRefactorización (Refactoring)
La arquitectura limita el crecimiento o las integracionesModernización o reestructuración
Tiene componentes útiles, pero otros presentan alto riesgoReconstrucción parcial
Los problemas estructurales y de seguridad son generalizadosEvaluar reconstrucción completa
Presenta riesgo inmediato para datos o personasContención y recuperación antes de modernizar

No existe una fórmula que permita decidir solamente contando líneas de código o vulnerabilidades.

Debe evaluarse el costo y el riesgo de mantener el sistema actual frente a los de reconstruirlo, incluidos los riesgos de migrar los datos y alterar procesos que sí funcionan.

Una reescritura completa puede ser más perjudicial que una refactorización gradual cuando el sistema contiene reglas empresariales que nadie ha documentado.

El problema del Legacy Code

Legacy Code no significa necesariamente software antiguo o malo.

En la práctica, se refiere frecuentemente a sistemas heredados que necesitan mantenerse aunque su estructura, documentación o pruebas sean insuficientes.

La IA está introduciendo una variante particular: software recién desarrollado que ya resulta difícil de comprender o modificar.

Podríamos describirlo informalmente como software nuevo con problemas de mantenimiento típicos de sistemas heredados.

No es una categoría formal, pero sí una situación que los equipos de ingeniería deben reconocer.

12. Indicadores que un director técnico debería controlar

El número de funcionalidades generadas o líneas de código producidas no es suficiente para medir productividad.

Conviene utilizar indicadores que reflejen resultados reales.

IndicadorQué permite evaluar
Change Failure RatePorcentaje de cambios que provocan fallos
Lead Time for ChangesTiempo necesario para convertir un cambio en una entrega funcional
MTTR (Mean Time to Recovery)Tiempo medio de recuperación tras un fallo
Deployment FrequencyFrecuencia de entrega de cambios
Test CoverageProporción del código o comportamiento alcanzado por pruebas
Defect Escape RateDefectos que llegan a producción sin ser detectados
Technical DebtProblemas estructurales pendientes y su impacto
Vulnerability Remediation TimeTiempo necesario para corregir vulnerabilidades
Availability / SLOCumplimiento del nivel esperado de disponibilidad o servicio
Cost per Successful OperationCosto real de ejecutar correctamente un proceso

La cobertura de pruebas, por sí sola, no demuestra calidad; puede existir una cobertura elevada con pruebas deficientes.

La productividad sostenible debe evaluarse considerando tiempo, calidad, estabilidad, seguridad y valor entregado.

13. ¿Se puede profesionalizar un proyecto desarrollado mediante vibe coding?

Sí, siempre que sea posible obtener los activos necesarios y se determine técnicamente su estado.

El proceso se conoce en distintos contextos como Codebase Hardening, Application Modernization, Software Remediation o Technical Debt Reduction.

Puede incluir una auditoría de arquitectura, revisión de seguridad, construcción de pruebas, reorganización del código, documentación, separación de entornos e implementación de procedimientos de mantenimiento.

Pero no basta con pedirle a otra IA que revise todo y responda que está correcto.

Una revisión automatizada puede ayudar a identificar defectos; las conclusiones importantes deben comprobarse mediante pruebas y evidencia independiente.

El objetivo no es eliminar necesariamente todo el código generado por IA.

Es convertirlo en un activo empresarial que pueda comprenderse, verificarse y mantenerse.

14. ¿Por qué una empresa puede enfrentar consecuencias legales aunque el problema haya sido generado por IA?

La participación de una herramienta de inteligencia artificial no elimina automáticamente las obligaciones de la empresa.

Imagina que utilizas una plataforma desarrollada con IA para almacenar documentos de clientes.

Si tiene una vulnerabilidad y permite acceder a información confidencial, la pregunta jurídica no se limita a quién escribió el código.

También importa quién determinó las finalidades del tratamiento, quién tenía la responsabilidad de proteger los datos, qué obligaciones contractuales existían y qué medidas razonables fueron implementadas.

La IA no funciona como una excusa general frente a incumplimientos legales.

Las responsabilidades dependen de la legislación aplicable, el papel de cada participante, los contratos y las circunstancias del incidente.

15. Protección de datos: GDPR o RODO en la Unión Europea

Si tu empresa opera en Polonia o trata datos personales dentro del ámbito del Reglamento General de Protección de Datos, debes considerar el GDPR, llamado habitualmente RODO en polaco.

Este reglamento es tecnológicamente neutral: no desaparece ni se reduce simplemente porque utilices inteligencia artificial.

¿Qué deberías revisar?

Base jurídica y finalidad. Debes identificar por qué puedes tratar determinados datos y para qué se utilizarán. Que estén disponibles técnicamente no significa que puedas utilizarlos libremente.

Minimización. La aplicación debería recopilar y procesar solamente los datos necesarios para la finalidad correspondiente.

Responsables y encargados. Debes identificar quién decide las finalidades y medios del tratamiento y quién procesa información por cuenta de otro.

Contratos de tratamiento. Cuando corresponda, deben existir acuerdos adecuados con proveedores o encargados, incluidos servicios que reciben información mediante integraciones de IA.

Transferencias internacionales. Debes evaluar si la información se transfiere fuera del Espacio Económico Europeo y qué mecanismos jurídicos se requieren. Que un proveedor tenga servidores fuera de Europa no implica automáticamente una infracción, pero exige analizar el tratamiento y sus garantías.

Seguridad. Se requieren medidas técnicas y organizativas proporcionadas al riesgo, no simplemente declaraciones de que el software es seguro.

Evaluación de impacto. Si un tratamiento probablemente produce un riesgo elevado para los derechos y libertades de las personas, puede ser necesaria una DPIA, o evaluación de impacto relativa a la protección de datos.

¿Y si la IA ya provocó una filtración?

Debe evaluarse si ocurrió una violación de seguridad de datos personales, qué información resultó afectada, qué riesgos existen para las personas y qué obligaciones de notificación corresponden.

Bajo el GDPR, cuando una violación presenta riesgo para los derechos y libertades de las personas, el responsable debe comunicarla a la autoridad competente sin dilación indebida y, cuando resulte posible, dentro de las 72 horas desde que tuvo conocimiento. Las comunicaciones a los afectados dependen, entre otros factores, de la existencia de un riesgo elevado.

No todos los errores informáticos activan automáticamente esa obligación.

16. AI Act: ¿una aplicación generada por IA está regulada como sistema de IA?

Aquí existe una confusión frecuente.

No es lo mismo un sistema desarrollado utilizando IA que un sistema que incorpora inteligencia artificial en su funcionamiento.

Una aplicación convencional, cuyo código fue generado mediante un asistente de programación, no se convierte automáticamente en un sistema de IA sujeto a todas las obligaciones del AI Act.

La clasificación depende de las características de la aplicación, su finalidad y las definiciones legales correspondientes.

En Europa, el AI Act establece obligaciones distintas según el tipo de sistema, el riesgo y el papel de las entidades involucradas.

Gran parte del reglamento ya es aplicable, aunque existen calendarios diferentes para determinadas obligaciones. Tras los cambios del AI Omnibus (Reglamento (UE) 2026/1744, publicado en julio de 2026), algunas obligaciones sobre sistemas de alto riesgo se aplican más tarde: desde el 2 de diciembre de 2027 o desde el 2 de agosto de 2028, según la categoría.

Esto significa que debes evaluar cada proyecto, especialmente cuando la IA interviene en contratación de personal, acceso a servicios, evaluación de personas u otras actividades legalmente sensibles.

No basta con revisar el nombre de la herramienta ni con preguntar si utiliza un modelo de lenguaje.

17. Otras regulaciones que pueden afectar al software empresarial

Además del GDPR y el AI Act, existen normas relacionadas con la seguridad y continuidad de determinados servicios.

RegulaciónRelevancia para un proyecto
NIS2Gestión de riesgos de ciberseguridad, incidentes, continuidad y cadena de suministro para entidades incluidas en su ámbito
DORAResiliencia operativa digital y gestión de riesgos tecnológicos en entidades financieras sujetas a la regulación
Cyber Resilience Act (CRA)Requisitos de ciberseguridad y gestión de vulnerabilidades para determinados productos con elementos digitales comercializados en la UE
GDPR / RODOProtección de datos personales, responsabilidades y condiciones de tratamiento
AI ActObligaciones relacionadas con determinados sistemas y usos de inteligencia artificial
Normativa fiscal y contableIntegridad documental, facturación, conservación y trazabilidad de las operaciones

NIS2 y DORA no se aplican automáticamente a todas las pequeñas empresas que utilizan IA. La aplicabilidad debe evaluarse de acuerdo con la actividad, el sector, el tamaño, los servicios prestados y las normas correspondientes.

En el caso del CRA, las obligaciones de notificación aplicables a fabricantes de productos comprendidos en su ámbito comenzaron el 11 de septiembre de 2026, mientras que la aplicación general de sus principales requisitos está prevista para el 11 de diciembre de 2027. No debe asumirse que cualquier desarrollo interno queda automáticamente incluido.

Una empresa que comercializa software sin controles suficientes podría enfrentarse a problemas de cumplimiento según sus características, aunque lo hubiera desarrollado exclusivamente con herramientas de IA.

18. Propiedad intelectual y responsabilidad contractual

El software no se limita a una colección de instrucciones que puedes copiar de un lugar a otro.

Debes considerar derechos de autor, licencias, propiedad de los desarrollos, uso de componentes externos y obligaciones contractuales.

Los posibles problemas incluyen componentes copiados o incorporados bajo licencias incompatibles, falta de identificación de dependencias, ausencia de acuerdos sobre la titularidad de entregables y restricciones contractuales para utilizar determinados servicios.

La existencia de código generado por IA no resuelve automáticamente quién puede explotarlo comercialmente ni garantiza que todo su contenido esté libre de derechos de terceros.

Estas cuestiones pueden variar según el país y las circunstancias del desarrollo.

¿Qué conviene establecer en un contrato de desarrollo?

La documentación contractual debería definir claramente:

  • Qué funcionalidades y resultados se entregarán.
  • Quién tendrá acceso al código fuente y a los repositorios.
  • Qué derechos de uso y explotación se conceden.
  • Cómo se administrarán las licencias de terceros.
  • Qué estándares de seguridad y calidad deben cumplirse.
  • Qué pruebas determinan la aceptación del sistema.
  • Cómo se gestionarán incidentes y vulnerabilidades.
  • Qué obligaciones de confidencialidad y protección de datos existen.
  • Qué soporte y documentación se incluyen.
  • Qué ocurrirá al terminar la relación comercial.

También puede ser útil acordar mecanismos de entrega periódica del código, procedimientos de transición y, en determinados contratos, modalidades de software escrow o depósito de código fuente.

La finalidad es evitar que la empresa pierda el control del software que necesita para operar.

19. Desde la perspectiva contable: una factura incorrecta puede generar problemas mayores que un error visual

Un sistema contable necesita precisión, consistencia y trazabilidad.

La inteligencia artificial puede ser muy útil para interpretar comprobantes, extraer información, clasificar documentos, detectar anomalías o preparar conciliaciones.

Pero las ventajas disminuyen cuando permites que el modelo determine libremente aspectos que deberían seguir reglas fiscales y contables verificables.

Por ejemplo, un sistema puede extraer correctamente el nombre de un proveedor, pero interpretar equivocadamente la tasa de impuesto aplicable.

También puede registrar una misma factura dos veces, asignar pagos a clientes incorrectos o generar diferencias entre el sistema comercial y la contabilidad.

En Polonia, una integración con KSeF —el sistema nacional de facturación electrónica— debe respetar los requisitos técnicos y fiscales correspondientes. Que una IA produzca un documento con aspecto de factura no significa que ese documento cumpla con el procedimiento de facturación exigible.

¿Cómo beneficia la IA a un contable?

Utilizada con supervisión y validaciones, puede ayudar a reducir la captura manual de información, acelerar conciliaciones, identificar operaciones atípicas, organizar evidencia documental, preparar borradores de reportes y facilitar búsquedas en grandes volúmenes de información.

El contable puede dedicar más tiempo a revisar inconsistencias y menos a actividades repetitivas.

¿Cómo puede perjudicarlo?

Los riesgos aparecen cuando las automatizaciones alteran datos, generan asientos incorrectos, carecen de trazabilidad o crean documentos que no corresponden a operaciones reales.

Un error puede propagarse desde la facturación hasta los reportes financieros, declaraciones fiscales y decisiones empresariales.

Por ello, el sistema debe preservar la relación entre los documentos originales, las operaciones registradas, las autorizaciones y los cambios posteriores.

A esta capacidad se le llama Audit Trail, o pista de auditoría.

Controles especialmente importantes

Un sistema financiero debería conservar evidencia verificable de quién autorizó una operación, qué documento la respalda, qué cambios se efectuaron y si el registro coincide con las fuentes correspondientes.

También debería implementar conciliaciones, reglas contra duplicados, controles de acceso y separación de funciones (Segregation of Duties).

La segregación de funciones evita que una misma persona o proceso concentre indebidamente acciones como crear un proveedor, modificar sus datos bancarios y aprobar su pago.

Un agente de IA tampoco debería recibir automáticamente todas esas facultades.

20. El beneficio financiero de corregir un sistema desarrollado con IA

La recuperación de una aplicación puede parecer inicialmente un gasto adicional.

Pero, desde el punto de vista financiero, conviene analizar el costo de no intervenir.

Un sistema deficiente puede generar pérdidas por interrupciones, errores en operaciones, soporte excesivo, pérdida de clientes, incumplimientos contractuales o necesidad de reconstrucción futura.

El beneficio de una intervención puede estimarse mediante:

ROI = (beneficios netos atribuibles − costo de intervención) ÷ costo de intervención × 100

Para que el cálculo sea útil, los beneficios deben sustentarse en supuestos explícitos y evitar contabilizar dos veces los mismos ahorros.

Entre los indicadores financieros más importantes se encuentran el costo por operación, horas de soporte, pérdidas por errores, impacto de interrupciones, costos de mantenimiento y costo previsto de sustitución.

Una corrección puede ser económicamente conveniente aunque no agregue ninguna funcionalidad visible, siempre que reduzca de manera demostrable el riesgo y el costo futuro.

La seguridad, la estabilidad y la continuidad también tienen valor financiero.

D. Desde la mirada de quien necesita reparar lo que la inteligencia artificial rompió

21. Tu sistema funcionaba, alguien lo modificó con IA y ahora tienes un problema. ¿Qué puedes hacer?

Este escenario es cada vez más relevante para empresas que dependen de software desarrollado o modificado rápidamente.

Quizá contrataste a alguien para construir una aplicación y descubres que no puede resolver los errores que aparecen.

Quizá un empleado utilizó IA para modificar un sistema y terminó afectando información importante.

O tal vez desarrollaste una herramienta que funcionaba perfectamente al principio, pero después de múltiples modificaciones presenta fallas que ni siquiera la misma IA consigue resolver.

Puede suceder también que tengas una aplicación funcionando, pero te hayas quedado sin la persona que la desarrolló, sin documentación o sin acceso a los servicios que necesita.

En todos estos casos, el objetivo inicial no debería ser agregar más funcionalidades.

La prioridad es recuperar la estabilidad, proteger la información y volver a tener control sobre los componentes de los que depende tu empresa.

Señales de que necesitas una intervención técnica

Estos síntomas pueden indicar que el sistema requiere una evaluación:

  • Cada nueva modificación rompe funcionalidades anteriores.
  • Una misma falla reaparece después de haber sido corregida.
  • El desarrollador depende completamente de la IA para explicar o reparar el código.
  • Nadie puede describir cómo está organizada la aplicación.
  • No sabes dónde se almacenan los datos o quién tiene acceso a ellos.
  • Se realizan cambios directamente en el sistema utilizado por tus clientes.
  • Los costos de infraestructura o consumo de IA crecen inesperadamente.
  • Existen diferencias entre registros, reportes y operaciones reales.
  • No puedes exportar toda la información de manera confiable.
  • La aplicación solo funciona desde la cuenta de una persona o proveedor.
  • No existen respaldos comprobados ni procedimientos de recuperación.
  • La IA afirma haber corregido problemas que continúan existiendo.

Estos síntomas no demuestran por sí solos que la IA sea la causa. También pueden deberse a errores de programación convencional, infraestructura o administración.

La evaluación debe identificar el origen real antes de atribuir responsabilidades.

22. Primero: distingue una aplicación defectuosa de un incidente crítico

No todos los problemas requieren el mismo tratamiento.

SituaciónQué la caracterizaPrioridad
CríticaPérdida o alteración de datos, posible intrusión, exposición de información confidencial, movimientos financieros no autorizados o interrupción grave del negocio.Contener el incidente, preservar evidencia y recuperar los servicios esenciales.
Importante, pero estableEl sistema funciona parcialmente, presenta errores recurrentes, ralentizaciones o integraciones defectuosas.Evitar nuevos daños, evaluar dependencias y planificar correcciones.
PreventivaLa aplicación funciona, pero desconoces su seguridad, calidad técnica, costos futuros o posibilidades de mantenimiento.Realizar una auditoría y establecer controles antes de que aparezca un incidente.

Una falla visual puede corregirse de manera localizada. Una base de datos alterada requiere procedimientos mucho más cuidadosos.

23. Cómo recuperar el control de una aplicación desarrollada con IA

Un proceso profesional de recuperación suele dividirse en varias etapas.

Proceso de recuperación y estabilización:

  1. Contención: detener cambios no controlados, limitar accesos peligrosos y evitar nuevas alteraciones de datos.
  2. Preservación: obtener copias consistentes de los sistemas afectados, registros, configuraciones y evidencia relevante.
  3. Diagnóstico: identificar las fallas, su origen, el alcance del daño y las dependencias críticas.
  4. Recuperación: restaurar información verificable y corregir los problemas que impiden operar.
  5. Estabilización: incorporar pruebas, seguridad, observabilidad, respaldos y procedimientos de despliegue controlado.
  6. Transferencia de control: documentar el sistema, formalizar la propiedad de los activos y establecer responsables de mantenimiento.

Etapa 1. Contener antes de seguir modificando

Cuando un sistema está fallando, es frecuente intentar corregirlo solicitando nuevas instrucciones a la IA.

El inconveniente es que cada modificación adicional puede dificultar el diagnóstico.

Si sospechas que existe pérdida de datos o una vulnerabilidad grave, deben restringirse las operaciones peligrosas, especialmente las acciones automatizadas capaces de eliminar o alterar información.

Cuando resulte necesario, pueden deshabilitarse temporalmente determinadas integraciones o colocar funcionalidades en modo de solo lectura.

La contención debe considerar la continuidad del negocio y realizarse evitando destruir evidencia.

Etapa 2. Preservar los activos existentes

Antes de iniciar reparaciones, conviene obtener copias consistentes y verificadas del estado actual, cuando sea seguro hacerlo.

Esto puede incluir el código fuente, bases de datos, registros de actividad, configuraciones, dependencias, información de infraestructura y registros de cambios.

En una investigación formal puede ser necesario conservar metadatos, documentar la cadena de custodia (Chain of Custody) y utilizar mecanismos de integridad como hashes criptográficos.

Si existe una posible intrusión, no debe asumirse que el estado actual está limpio o que todos los registros son confiables.

La finalidad es conservar la posibilidad de investigar y reconstruir qué ocurrió.

Etapa 3. Recuperar el acceso administrativo

Una empresa necesita determinar quién controla realmente su plataforma.

No basta con conocer la contraseña del panel de administración.

También puede ser necesario recuperar la titularidad o administración de:

  • Dominio y DNS.
  • Repositorios de código.
  • Servidores y servicios cloud.
  • Bases de datos y almacenamiento.
  • Servicios de correo.
  • APIs y plataformas de IA.
  • Sistemas de pago y facturación.
  • Certificados, claves y credenciales.
  • Copias de seguridad y mecanismos de recuperación.

Las credenciales comprometidas o compartidas indebidamente deberán rotarse mediante un procedimiento controlado.

Una herramienta de IA no debería conservar permisos administrativos que ya no necesita.

Etapa 4. Realizar un diagnóstico independiente

Una auditoría de rescate necesita evaluar el software como un sistema completo.

No solamente debe responder qué línea de código está provocando un error.

También debe establecer si la arquitectura es recuperable, cuáles son las dependencias, qué riesgos están presentes, si los datos conservan su integridad y qué componentes necesitan una intervención.

Un buen diagnóstico debería distinguir los problemas confirmados, las sospechas pendientes de prueba y los riesgos potenciales.

No sería responsable declarar que una aplicación es insegura solamente porque contiene código generado por IA.

Tampoco sería responsable declararla segura porque un escáner no encontró vulnerabilidades.

Etapa 5. Recuperar datos y funciones críticas

Después del diagnóstico comienza la recuperación.

Pueden utilizarse respaldos, registros de transacciones, versiones anteriores, exportaciones e información de fuentes independientes para reconstruir o verificar los datos.

Es importante distinguir una restauración técnicamente exitosa de una restauración comercialmente correcta.

Por ejemplo, puedes recuperar una base de datos que vuelve a abrir, pero que no contiene las últimas operaciones de tus clientes.

En ese escenario necesitas conciliación y validación antes de considerar concluido el proceso.

Los procedimientos de recuperación deben realizarse preferentemente en entornos aislados y controlados antes de introducir cambios en producción.

Etapa 6. Estabilizar y documentar

Una vez recuperada la operación, la empresa necesita evitar que los mismos errores reaparezcan.

Esto incluye establecer una arquitectura comprensible, controles de seguridad, pruebas automatizadas y manuales, procedimientos de despliegue, monitoreo, respaldos y documentación.

También debe definirse quién autoriza los cambios y qué evidencia se necesita antes de publicarlos.

El éxito del rescate no consiste en que la aplicación vuelva a abrir.

Consiste en que tu empresa pueda utilizarla, modificarla y recuperarla sin depender de improvisaciones.

24. ¿Y si no tienes el código fuente, los respaldos o el acceso al proveedor?

Este es uno de los escenarios más complejos, pero no siempre implica una pérdida definitiva.

Las posibilidades dependen de qué activos sigan disponibles.

SituaciónPosible vía de recuperación
Tienes código fuente, pero no documentaciónAnálisis técnico, pruebas y reconstrucción documental
Tienes código y base de datos, pero la aplicación fallaDiagnóstico, correcciones y estabilización
Tienes acceso a la plataforma, pero no al repositorioRevisar funciones de exportación, contratos y opciones de migración
Tienes datos, pero no puedes recuperar la aplicaciónEvaluar migración o reconstrucción desde los datos disponibles
Tienes la aplicación funcionando, pero no su códigoDocumentar comportamiento, inventariar integraciones y evaluar sustitución
No tienes respaldos ni datos accesiblesInvestigar fuentes alternativas, registros y posibilidades de recuperación
El proveedor controla toda la infraestructuraRevisar titularidad, contratos, accesos y estrategia de salida

No siempre es posible recuperar íntegramente un sistema.

Si no existen respaldos, datos accesibles, registros ni otras fuentes de información, algunas pérdidas pueden ser irreversibles.

Es preferible determinar esa limitación mediante evidencia técnica que prometer una recuperación imposible.

¿Se puede reconstruir un sistema observando únicamente cómo funciona?

A veces sí.

La técnica se relaciona con la ingeniería inversa (Reverse Engineering) y la reconstrucción de requisitos mediante el comportamiento observable.

Puedes documentar pantallas, flujos, reportes, formatos, reglas comerciales e integraciones para desarrollar una sustitución.

Sin embargo, una reconstrucción visual no garantiza recuperar la lógica original ni la información histórica.

También deben respetarse derechos de propiedad intelectual, contratos y otras restricciones aplicables.

25. Cómo saber si realmente necesitas un especialista en recuperación de software

Cuando una aplicación falla, puede resultar tentador contratar a alguien que prometa reconstruirla por completo con una nueva herramienta de IA.

Pero reemplazar una solución sin comprender el problema puede provocar una segunda crisis.

El perfil que necesitas depende de la situación.

Un error visual podría resolverlo un desarrollador de aplicaciones.

Una vulnerabilidad requiere conocimientos de seguridad.

Una pérdida de información puede necesitar especialistas en bases de datos, recuperación o informática forense.

Un sistema empresarial con múltiples integraciones puede requerir arquitectura, ingeniería de software, infraestructura y conocimiento de las reglas del negocio.

¿Qué debería demostrar un proveedor competente?

No necesitas que el proveedor rechace la inteligencia artificial.

Necesitas que pueda explicar cómo la utiliza, cómo valida sus resultados y qué responsabilidades asume.

Un profesional debería ser capaz de justificar sus decisiones arquitectónicas, describir riesgos, proporcionar evidencias de pruebas y reconocer las limitaciones de su diagnóstico.

También debería poder explicarte el proyecto sin depender de afirmaciones vagas como que su IA es la más avanzada o que cualquier defecto puede corregirse automáticamente.

Señales de alerta al contratar

Desconfía de propuestas que prometen seguridad absoluta, ausencia total de errores, recuperación garantizada de cualquier información, cumplimiento legal automático o mantenimiento innecesario.

También conviene investigar cuando el proveedor no ofrece acceso al código, no explica dónde almacena datos, evita documentar los cambios o no establece criterios verificables de entrega.

Las certificaciones pueden servir como respaldo de conocimientos específicos, pero tampoco sustituyen la experiencia demostrable, las pruebas ni los compromisos contractuales.

26. Glosario: los términos que probablemente escucharás al intentar rescatar tu software

Estos conceptos te ayudarán a interpretar un diagnóstico técnico y a comprender las propuestas de distintos proveedores.

TérminoSignificado en lenguaje sencillo
Vibe CodingCrear software mediante instrucciones a una IA, frecuentemente sin revisar en profundidad el código
AI-Assisted DevelopmentDesarrollo donde la IA ayuda a profesionales que supervisan el resultado
Agentic CodingProgramación mediante agentes que pueden modificar archivos, ejecutar herramientas y realizar tareas
Code SlopExpresión informal para código de baja calidad o innecesariamente abundante
Technical DebtCostos y dificultades futuras originados por decisiones técnicas actuales
Legacy CodeCódigo heredado que puede resultar difícil de modificar o verificar
CodebaseConjunto del código fuente de una aplicación
RefactoringReorganizar código sin alterar intencionalmente su comportamiento externo
RemediationCorregir problemas identificados
HardeningFortalecer un sistema para reducir vulnerabilidades y riesgos
Reverse EngineeringAnalizar un sistema existente para comprender su funcionamiento
RegressionFalla introducida en algo que anteriormente funcionaba
Regression TestingPruebas que detectan si un cambio rompió funcionalidades existentes
Code ChurnCódigo modificado o reemplazado en un periodo; requiere contexto para interpretar su significado
MaintainabilityFacilidad para comprender, corregir y modificar el software
ScalabilityCapacidad de soportar crecimiento
ReliabilityCapacidad de funcionar correctamente y de manera consistente
ResilienceCapacidad de resistir fallas y recuperarse
ObservabilityCapacidad de entender lo que sucede dentro del sistema
CI/CDProcesos para integrar, probar y entregar cambios de forma controlada
DevSecOpsIntegración de seguridad en el desarrollo y la operación
Shift LeftIntroducir controles de calidad y seguridad desde fases tempranas
Shadow ITUso de tecnología no autorizada o desconocida por el área responsable
Shadow AIUso de IA sin visibilidad o aprobación organizacional
Vendor Lock-inDependencia que dificulta abandonar un proveedor
Key-Person RiskDependencia excesiva de una persona
Audit TrailRegistro de acciones y modificaciones que permite reconstruir operaciones
Data IntegrityGarantía de que la información permanece correcta, completa y consistente
Prompt InjectionManipulación del comportamiento de una IA mediante instrucciones introducidas en sus entradas
Excessive AgencyConcesión excesiva de permisos, herramientas o autonomía a un agente
Human-in-the-LoopIntervención humana dentro de un proceso automatizado
GuardrailsControles que restringen o supervisan comportamientos de un sistema de IA
RAGTécnica que permite a una IA consultar fuentes externas antes de responder
Data PoisoningIntroducción de datos manipulados que afectan el comportamiento de sistemas de IA
SBOMInventario de componentes de software y dependencias
Software Supply ChainConjunto de proveedores, componentes y procesos que intervienen en el software
RTOTiempo objetivo para recuperar un servicio tras una interrupción
RPOPérdida máxima de datos, expresada en tiempo, que se considera tolerable
Business ContinuityCapacidad para mantener las funciones esenciales del negocio durante una interrupción
Disaster RecoveryProcedimientos para restaurar sistemas después de incidentes graves
TCOCosto total de propiedad y operación durante la vida del sistema
Software EscrowAcuerdo de depósito y liberación condicionada de materiales de software

Estos conceptos no son sinónimos ni representan por sí solos certificaciones de calidad. Son herramientas para describir problemas, procesos y controles.

27. Los argumentos más comunes sobre la IA y el desarrollo de software

"La IA programa mejor que muchos desarrolladores"

En determinadas tareas, una herramienta de IA puede producir soluciones de excelente calidad e incluso superar a determinados profesionales en velocidad o precisión.

Pero esto no demuestra que pueda reemplazar de forma general las actividades de arquitectura, análisis, seguridad, pruebas, integración y responsabilidad empresarial.

La calidad depende de la tarea, el modelo, la información disponible y la validación posterior.

El criterio no debería ser si la IA es mejor que una persona concreta.

Debería ser si el proceso completo produce un resultado suficientemente confiable.

"Si el programa funciona, ¿para qué pagar una auditoría?"

Porque no todos los defectos son visibles durante el uso normal.

Un fallo de autorización podría permanecer oculto hasta que alguien acceda a información ajena.

Una base de datos mal diseñada puede funcionar hasta que crece suficientemente.

Una política de respaldo inadecuada puede descubrirse solamente cuando necesitas restaurar información.

La auditoría busca identificar riesgos que una prueba superficial no revela.

"La inteligencia artificial reduce el costo de desarrollo"

Puede reducirlo significativamente en determinadas fases.

Pero los ahorros deben calcularse sobre el proceso completo.

Si generar una funcionalidad cuesta menos, pero corregirla, probarla y mantenerla requiere esfuerzos adicionales, el ahorro inicial puede reducirse o desaparecer.

También puede ocurrir lo contrario: una empresa con buena ingeniería puede utilizar IA para reducir costos sin perjudicar la calidad.

Por eso se deben medir resultados.

"Cualquier persona puede crear software profesional con IA"

Las nuevas herramientas facilitan enormemente la entrada al desarrollo.

Esto puede generar innovación valiosa y permitir que personas sin formación tradicional creen herramientas útiles.

Sin embargo, acceder a la capacidad de generar código no equivale automáticamente a dominar arquitectura, seguridad, modelado de datos, pruebas o legislación aplicable.

La diferencia debe evaluarse mediante competencias y resultados verificables, no exclusivamente mediante títulos académicos.

"Lo que la IA rompe puede arreglarlo otra IA"

A veces es cierto.

La IA puede localizar errores, identificar patrones, explicar componentes y sugerir correcciones.

Pero cuando el problema involucra datos corruptos, información faltante, arquitectura inconsistente o infraestructura comprometida, se requieren acciones y verificaciones adicionales.

Pedir una corrección y recibir una respuesta convincente no demuestra que el problema esté resuelto.

"Si uso un modelo privado, todos mis problemas de privacidad desaparecen"

No necesariamente.

Un modelo privado puede ofrecer ventajas de control y tratamiento de datos, pero todavía debes proteger accesos, registros, bases de datos, integraciones, respaldos y la infraestructura que lo ejecuta.

También debes verificar qué significa realmente privado en las condiciones de cada proveedor.

"El código abierto siempre es seguro y gratuito"

El software de código abierto puede ser muy valioso, auditable y económicamente conveniente.

Sin embargo, su seguridad depende de factores como mantenimiento, configuración, vulnerabilidades conocidas y controles de acceso.

También debes considerar sus licencias y los costos de operación.

Que puedas utilizar un componente sin pagar una licencia no significa que operarlo y mantenerlo no tenga costo.

"Rehacer todo desde cero es más barato"

Puede serlo cuando el sistema existente presenta defectos estructurales graves.

Pero reconstruir también requiere recuperar reglas empresariales, migrar datos, mantener compatibilidad e introducir nuevamente procesos críticos.

En algunos proyectos conviene reemplazar solamente componentes específicos y conservar el resto.

La decisión debe apoyarse en un análisis de costo, riesgo y continuidad.

"Una IA puede revisar el código que otra IA escribió"

Sí, y puede ser útil.

Pero existe el riesgo de que ambas compartan supuestos incorrectos o no identifiquen defectos importantes.

Por eso una revisión mediante modelos no sustituye las pruebas independientes, el análisis de seguridad ni la comprobación de resultados reales.

"Si el sistema está alojado en un proveedor cloud, ya tengo seguridad y respaldos"

No necesariamente.

La infraestructura puede incluir medidas de seguridad mientras que la aplicación mantiene vulnerabilidades propias.

Además, las responsabilidades de respaldo y restauración varían entre proveedores y contratos.

Debes comprobar qué se respalda, cuánto tiempo se conserva, qué ocurriría si se elimina información y cómo se verifica la restauración.

28. ¿Cómo debería ser un proyecto profesional de rescate y recuperación de software?

Una empresa que necesita recuperar un sistema suele beneficiarse de un proyecto dividido en fases, con entregables verificables.

FaseTrabajo principalEntregable esperado
Diagnóstico inicialIdentificar sistemas, responsables, fallas y riesgosInventario y evaluación preliminar
Auditoría técnicaRevisar arquitectura, código, datos, dependencias y seguridadInforme de hallazgos priorizados
Plan de recuperaciónDefinir acciones, responsables, costos, riesgos y criterios de éxitoPlan de intervención aprobado
Recuperación funcionalCorregir fallas y recuperar procesos prioritariosFuncionalidades verificadas
FortalecimientoMejorar controles, pruebas, arquitectura y operaciónSistema estabilizado y evidencias de pruebas
TransferenciaDocumentar activos, procedimientos y responsablesDocumentación y entrega de control
MantenimientoMonitorear, actualizar y gestionar nuevas necesidadesServicio continuo con acuerdos definidos

La evaluación debería establecer qué problemas se identificaron, cuáles fueron corregidos, cuáles permanecen pendientes y qué riesgos residuales acepta la empresa.

Esto evita confundir un proyecto de recuperación con una sucesión indefinida de modificaciones.

29. ¿Cómo evitar que vuelva a ocurrir?

La solución sostenible no consiste en prohibir toda inteligencia artificial.

Consiste en introducir una política de uso proporcional al riesgo.

Una organización puede utilizar IA para escribir código, generar pruebas, asistir al soporte o automatizar procesos y, simultáneamente, establecer límites estrictos cuando existen consecuencias financieras, operativas o legales.

El marco de gestión de riesgos de IA del NIST organiza esta tarea alrededor de cuatro funciones: gobernar, identificar el contexto y los riesgos, medirlos y gestionarlos.

En términos prácticos, conviene establecer cinco reglas fundamentales.

Primera: ningún cambio crítico sin control de versiones y aprobación. Debe ser posible identificar qué se modificó, quién lo autorizó y cómo revertirlo.

Segunda: ningún agente debe disponer de más permisos de los necesarios. Una automatización de lectura no necesita permisos generales de escritura o eliminación.

Tercera: ningún desarrollo debe pasar a producción únicamente porque se vea bien. Debe cumplir pruebas funcionales, de seguridad y de integración proporcionales al riesgo.

Cuarta: ningún activo crítico debe depender exclusivamente de una cuenta personal o proveedor. La empresa necesita mantener el control contractual y operativo de sus sistemas.

Quinta: ninguna operación crítica debe considerarse exitosa únicamente porque la IA afirma haberla realizado. Debe existir evidencia en el sistema de destino.

Estas reglas son útiles tanto para desarrolladores tradicionales como para equipos que utilizan asistentes y agentes de IA.

30. Diagnóstico rápido: ¿qué tan expuesta está tu empresa?

La siguiente autoevaluación es orientativa. No sustituye una auditoría de seguridad ni una valoración de cumplimiento.

Responde «Sí», «No» o «No lo sé» a cada afirmación. Cada «No» o «No lo sé» señala un área que conviene revisar; «No lo sé» es tan relevante como «No», porque indica falta de visibilidad sobre un activo o un control.

#AfirmaciónSi respondes «No» o «No lo sé»
1Mi empresa controla el código fuente, la infraestructura y los accesos administrativos.Recupera la titularidad de dominio, repositorios, servidores, bases de datos y credenciales.
2Puedo restaurar información desde respaldos que ya han sido probados.Define una política de respaldos y realiza pruebas de restauración.
3Los cambios se revisan y prueban antes de llegar a producción.Introduce control de versiones, aprobaciones y pruebas proporcionales al riesgo.
4Conozco qué datos se envían a herramientas externas de IA.Inventaría los flujos de datos y revisa contratos de tratamiento y transferencias.
5Los agentes y automatizaciones tienen permisos limitados.Reduce permisos al mínimo necesario y separa entornos.
6Las operaciones críticas generan registros y evidencias verificables.Implementa pista de auditoría y confirmaciones en el sistema de destino.
7Tenemos documentación suficiente para cambiar de desarrollador o proveedor.Documenta arquitectura, procedimientos y activos, y acuerda una estrategia de salida.
8Sabemos cuánto cuesta mantener el sistema y qué riesgos siguen pendientes.Calcula el costo total de propiedad (TCO) y registra los riesgos residuales.

Ejemplo de interpretación: una empresa responde «Sí» a las afirmaciones 1, 3, 4, 5 y 8, «No» a la 2 y «No lo sé» a la 6 y la 7. Tiene tres áreas pendientes: respaldos sin probar, falta de evidencias en operaciones críticas y documentación insuficiente para cambiar de proveedor. Esas tres áreas son el punto de partida de su plan de revisión, empezando por los respaldos, porque sin ellos cualquier otra intervención es más arriesgada.

31. El futuro del desarrollo con inteligencia artificial: velocidad con responsabilidad

La inteligencia artificial está haciendo que producir código sea cada vez más accesible.

Esto es positivo para muchas empresas: permite experimentar, automatizar procesos, reducir tareas repetitivas y crear herramientas que antes resultaban demasiado costosas.

Sin embargo, también está cambiando el origen de numerosos riesgos tecnológicos.

Durante mucho tiempo, una de las principales dificultades para una empresa consistía en conseguir que alguien desarrollara el software que necesitaba.

Ahora puede ocurrir lo contrario: obtener rápidamente un software aparentemente terminado, pero sin los controles necesarios para confiar en él.

El desafío ya no es solamente construir.

Es demostrar que lo construido es correcto, seguro, mantenible y adecuado para el negocio.

Por eso adquieren más relevancia la arquitectura, las pruebas, la ingeniería de seguridad, la observabilidad, la gobernanza de datos, la auditoría técnica y los mecanismos de recuperación.

La inteligencia artificial puede contribuir a todas esas actividades, pero no debería eliminar la responsabilidad de verificarlas.

Conclusión: ¿se puede reparar lo que la IA rompió?

En muchos casos, sí.

Una aplicación inestable puede corregirse. Un sistema sin documentación puede analizarse. Una arquitectura deficiente puede modernizarse. Una integración mal diseñada puede sustituirse. Incluso un desarrollo realizado casi completamente mediante instrucciones a IA puede transformarse en un sistema profesional.

Pero no siempre conviene salvar todo el código, y no toda la información perdida puede recuperarse.

Lo fundamental es establecer qué activos existen, qué riesgos son reales, qué información puede recuperarse y qué estrategia ofrece el mejor equilibrio entre costo, seguridad y continuidad.

La solución no consiste necesariamente en abandonar la inteligencia artificial ni en utilizar todavía más IA.

Consiste en recuperar la disciplina de ingeniería que hace confiable al software.

La IA puede ayudarte a construir una aplicación. La ingeniería, la seguridad y una adecuada gestión empresarial son las que permiten convertirla en un sistema del que puedes depender.

Y cuando esa confianza se ha perdido, el primer objetivo no es volver a desarrollar más rápido.

Es volver a tener el control.

Fuentes

Gratis, por correo

Checklist: qué hacer cuando la IA rompió tu sistema

Diez pasos para contener el daño y recuperar el control sin empeorar la situación.

Información sobre el tratamiento de datos (art. 13 RGPD)

El responsable del tratamiento es HOLAPOLSKA sp. z o.o., ul. Kielecka 1/2, 31-526 Cracovia (Polonia). Tratamos tu nombre, correo y teléfono opcional para enviarte el checklist que pides (art. 6.1.b RGPD) y para contactarte sobre el servicio relacionado (art. 6.1.f RGPD, interés legítimo; puedes oponerte en cualquier momento). No es un boletín. Conservamos los datos 12 meses desde el último contacto. Tienes derecho de acceso, rectificación, supresión, limitación y oposición, y a reclamar ante el PUODO.