Control y complejidad: una tensión central en el diseño de sistemas

Fuentes: Control and complexity: tension in systems design

El diseño de sistemassoftware y organizativos se mueve entre dos familias de enfoques que rara vez se combinan con éxito. El primero, la descomposición analítica, parte de la premisa de que el todo se comprende a partir de sus partes: dividir un problema, analizar cada componente y predecir su comportamiento permite construir máquinas y procesos fiables. Esta lógica cartesiana-newtoniana domina la ingeniería clásica, el control de calidad industrial, la ingeniería de factores humanos y la burocracia organizacional, y alcanza su expresión más depurada en el software, donde la ejecución determinista garantiza que lo que funcionó ayer volverá a funcionar mañana.

El segundo enfoque asume que ciertos sistemas son complejos: tan interconectados y con tantos estados posibles que resultan irrepresentables, impredecibles e incontrolables mediante análisis estático. Estos sistemas son dinámicos, abiertos e históricos; observarlos los modifica y, cuando se identifican sus pautas de comportamiento, ya han cambiado. En ellos las intervenciones han de ser pequeñas, iterativas y adaptativas, apoyadas en controladores con variedad interna suficiente para absorber la complejidad que gestionan.

El texto advierte de que los sistemas suelen evolucionar desde una definición acotada del problema hacia escalas donde nuevas intervenciones aportan rendimientos decrecientes y generan efectos no deseados. La respuesta más frecuente —más análisis, más descomposición, más automatización flexible— no elimina la complejidad, sino que la transforma en incidentes menos frecuentes pero de mayor impacto. Con la irrupción de los modelos de lenguaje grandes en el desarrollo de software y la reorganización de prácticas y estructuras que conlleva, el autor señala la urgencia de revisar las mentalidades de diseño y dejar de tratar a humanos y LLMs como intercambiables dentro de marcos puramente analíticos.