🧠 ¿El fin de la Ingeniería de Software como la conocemos?
Hace unos días mi amigo Jorge Abad publicó en sus Lecciones Aprendidas un artículo premonitorio, se trata de su De lo complejo a lo simple: Cómo la IA está reinventando el desarrollo de software. En este, Jorge sostiene que la llegada de la inteligencia artificial ha transformado el proceso de desarrollo de software, llevando ciertas tareas de un entorno de alta complejidad –como era tradicionalmente– a un dominio en el que, gracias a la automatización, se puede hablar de mayor simplicidad. Invoca el marco de Cynefin, de Dave Snowden, para clasificar los problemas en simples, complicados, complejos o caóticos, y sugiere que, con la IA, el desarrollo se mueve hacia lo “simple” o al menos hacia lo “complicado” y predecible.
Pueden leer el artículo completo
aquí:
El artículo sirvió de base para
una sesión de Castor sin filtro (del viernes 12 de abril de 2025) con Juan
Andrés Ochoa y compañía, donde discutimos animadamente el asunto. Uno de mis
puntos de debate fue otra
presentación también de hace pocos días de Jan Bosch, director del Software
Center, una colaboración estratégica financiada por socios entre más de 15
grandes empresas europeas (incluidas Ericsson, Volvo Cars, Volvo Trucks, Saab
Defense, Scania, Siemens y Bosch) y cinco universidades centradas en la
digitalización, que diera en The Future of Software Conference celebrada en
Londres y donde expuso sus ideas sobre el estado actual y futuro de la
ingeniería de software, destacando la rápida evolución de la ingeniería de
software y del mundo en general.
Pueden ver la conferencia de Bosch
en
The end of Software Engineering (as we know it)
| Jan Bosch | Chalmers University of Technology
Pero antes de contarles en qué
estoy de acuerdo con Bosch y en qué no, haré un resumen sucinto de su charla. Bosch
contrasta el modelo tradicional de ingeniería de software —basado en
requisitos, diseño, codificación y despliegue (que suena a cascada)— con una
nueva dinámica donde los agentes de IA interpretan intenciones humanas, las
traducen en requisitos, arquitecturas y código, reduciendo drásticamente el rol
humano en la programación directa. Empresas como la alemana con la que Bosch
trabajó ya han reemplazado desarrolladores por arquitectos de software que
dirigen agentes de IA.
Bosch critica fuertemente la
eficacia actual de la ingeniería de software. Con datos empíricos, aunque antiguos,
afirma que entre el 50 % y 66 % de las funcionalidades desarrolladas nunca se
usan, representando un despilfarro enorme. Esto era cierto hace más de dos
décadas y una observación heurística nos puede mostrar que sigue siendo así o
peor. Más grave aún: entre el 70 % y 90 % del presupuesto de I+D se destina a
funcionalidades commodity que los clientes dan por sentadas. Bosch
ilustra el problema con su modelo de tres capas: funcionalidad commodity,
diferenciadora e innovadora. La mayor parte del esfuerzo se destina a la
primera, con poco impacto en valor.
La causa central de esta
ineficiencia, según Bosch, es la dependencia de "requisitos" en lugar
de "resultados deseados". Propone una transición hacia un modelo
basado en resultados cuantificables, donde cada funcionalidad se justifique por
su impacto en KPI de negocio. Modelos como HYPEX y técnicas como el A/B testing
permiten medir el impacto de pequeños incrementos funcionales antes de invertir
completamente en ellos.
En paralelo, Bosch propone una
madurez progresiva hacia organizaciones guiadas por IA. Describe cinco niveles:
desde el uso puntual de herramientas como ChatGPT, pasando por la
automatización de procesos, hasta organizaciones completamente rediseñadas con
un enfoque "AI-first", donde agentes superan en productividad a
equipos humanos enteros. En productos también se refleja esta transformación.
Las etapas van desde el uso de IA como soporte, hasta productos completamente
autónomos y autorregulados mediante aprendizaje por refuerzo.
Finalmente, concluye que la
ingeniería de software actual es poco efectiva y necesita una reinvención
radical. Reemplazar requisitos por resultados y adoptar la IA tanto en el
producto como en el proceso de desarrollo son, para él, pasos imprescindibles.
Más allá del entusiasmo técnico, Bosch hace un llamado a que ingenieros, Product
Managers y líderes organizacionales asuman con responsabilidad esta
transición urgente.
Puntos de acuerdo
1. El modelo tradicional está quedando atrás
Bosch argumenta que la cadena
tradicional —donde se parte de los requisitos para llegar al despliegue—
resulta insuficiente ante la velocidad y la incertidumbre del mercado actual.
Acuerdo: Es evidente que
en muchos entornos, el enfoque lineal ya no permite responder de manera ágil a
los cambios en los requerimientos del negocio ni a la complejidad de los
sistemas modernos. De hecho, hace muchos años dejamos de hacerlo así en pro de
un enfoque iterativo e incremental, de experimentación y prototipado rápido.
2. La revolución de la inteligencia artificial
La irrupción de herramientas y
agentes inteligentes en el desarrollo de software abre la puerta a automatizar
tareas que antes eran exclusivamente humanas.
Acuerdo: La utilización de
LLM, agentes especializados y técnicas de aprendizaje por refuerzo ya está
transformando la manera en la que concebimos el desarrollo, mejorando la
eficiencia y permitiendo experimentar con nuevos modelos de negocio. En este
sentido ver el artículo Experimentum
Entre
la eficiencia y el despojo: La inevitable mutación del desarrollo de software
por la IA en el que analizo el más reciente reporte DORA sobre el
impacto de la Gen AI en el desarrollo de software.
3. Desperdicio de funcionalidades
Según Bosch, una gran parte de
las funcionalidades desarrolladas acaba siendo infrautilizada, lo que implica
un desperdicio considerable de recursos.
Acuerdo: La realidad en
muchas empresas respalda este punto: se invierte tiempo y dinero en features
que, en última instancia, no aportan el valor esperado al cliente.
4. El cambio de requisitos a resultados
El enfoque en resultados de valor —o como les gusta a muchos: “outcomes”—,
más allá de cumplir con un conjunto predefinido de requisitos, representa un
cambio de paradigma fundamental.
Acuerdo: En un mundo donde
la agilidad y la medición de impacto son esenciales, orientar el desarrollo
hacia objetivos medibles permite alinear mejor las inversiones de I+D con los
resultados de negocio.
5. La necesidad de una Ingeniería de Software madura
La transformación digital exige
una mayor integración entre tecnología y negocio, elevando el rol de la
ingeniería de software a un nivel estratégico.
Acuerdo: La apuesta por
modelos iterativos, basados en la experimentación y en la medición de resultados
clave, es una tendencia que ha demostrado su eficacia en empresas líderes.
Puntos de desacuerdo o matización
1. La desaparición del código humano
Bosch sugiere que pronto los
agentes de IA podrían eliminar la necesidad de codificar manualmente.
Desacuerdo: Aunque la
automatización avanza, los agentes aún carecen de un entendimiento profundo del
contexto y las implicaciones éticas o sistémicas, por lo que el juicio humano
sigue siendo crucial, especialmente en aplicaciones complejas y reguladas.
2. Transformación del rol del ingeniero
El discurso de Bosch tiende a
minimizar el rol de los desarrolladores tradicionales.
Matización: Más que
desaparecer, el rol del ingeniero se transformará. Los profesionales pasarán a
actuar como orquestadores, validadores y supervisores de sistemas
automatizados, aportando su criterio en áreas como la ética algorítmica y la
experiencia de usuario.
3. Subestimación de los factores culturales y organizacionales
El cambio hacia modelos AI-first
implica no solo una actualización tecnológica, sino también una revolución
cultural en las empresas.
Desacuerdo: La resistencia
al cambio y la necesidad de transformar estructuras organizativas son aspectos
complejos que requieren una adaptación gradual y el compromiso de todos los
niveles jerárquicos.
4. Enfoque exclusivamente económico
Medir el éxito de cada sprint en
términos estrictamente económicos puede resultar reduccionista.
Matización: es muy importante
cuantificar el retorno de inversión, pero también debemos tener en cuenta
intangibles como la experiencia de usuario, la reducción de la deuda técnica y
el aprendizaje continuo, que a largo plazo generan valor y competitividad.
5. Un discurso algo alarmista
La crítica a la “atrocidad” en la
eficacia de la ingeniería actual puede resultar desalentadora para quienes
trabajamos día a día en mejorar procesos y productos.
Desacuerdo: Aunque es
vital reconocer las ineficiencias existentes, es igualmente necesario reconocer
los avances que ya se han conseguido y fomentar una cultura de mejora continua,
donde los retos se aborden de forma colaborativa y constructiva.
Mis conclusiones
Han pasado dos décadas desde que
publiqué mis dos primeros libros Asuntos de la Ingeniería de Software Volumen
I y Volumen
II, pero tanto el artículo de Jorge, como la presentación de Bosch nos
desafían a repensar la forma en que concebimos y practicamos la ingeniería de
software. Sus propuestas, basadas en el aprovechamiento de la IA y en el
enfoque en resultados, ofrecen una hoja de ruta para transformar radicalmente
el sector. Sin embargo, la implementación de estos cambios debe considerar
cuidadosamente la responsabilidad permanente del factor humano, la complejidad
de las transformaciones culturales y la necesidad de una visión equilibrada que
vaya más allá de los criterios económicos.
Comparto la urgencia de
evolucionar hacia modelos más ágiles y eficientes, que resuelvan los problemas actuales
y futuros de los usuarios (y clientes) y que solucionen de una vez por todas y
para siempre los males del mundo, de lo contrario habremos fallado como humanidad; pero también
reconozco que la innovación debe ir acompañada de un enfoque pragmático y
humano, así que aún debemos afinar la integración de la IA en nuestra práctica
diaria para convertirla en ese continuum que necesitamos y no solo
reaccionar a los picos virales (“hype”) a los que nos tienen
acostumbrados como este último de la “ghiblilización” o el anterior de DeepSeek.
Seguiré creyendo que el inminente
final de la ingeniería de software tal como la conocemos no es un cierre, sino
el amanecer de una era donde la perspicacia humana se fusionará con la
inteligencia artificial: ya no escribiremos software, esculpiremos futuros,
transformando lo imposible en nuestra nueva realidad digital. ¿Qué opinas? Déjamelo
saber en el foro.