Está en la página 1de 31

DISEÑO DE SISTEMAS COMPLEJOS 

Contenidos 
Visión general .......................................................................................................................................... 2 
Introducción ........................................................................................................................................ 2 
Un contexto cambiante ....................................................................................................................... 3 
Visión general de la teoría de la complejidad ..................................................................................... 5 
Complejidad en el diseño de sistemas ................................................................................................ 7 
Conceptos clave de los sistemas complejos ........................................................................................... 9 
Sistemas de servicio ............................................................................................................................ 9 
Abstracción de diseño ....................................................................................................................... 11 
Sinergias de diseño ........................................................................................................................... 13 
Principios de diseño .............................................................................................................................. 14 
Diseño de sistemas en red ................................................................................................................ 14 
Tecnologías adaptativas .................................................................................................................... 16 
Auto‐organización ............................................................................................................................. 18 
Ciclo de vida de los sistemas ‐ evolución .......................................................................................... 20 
Arquitectura de sistemas ...................................................................................................................... 22 
Arquitectura Orientada a Servicios ................................................................................................... 22 
Plataformas Tecnológicas ................................................................................................................. 24 
Diseño modular ................................................................................................................................. 26 
Arquitectura dirigida por eventos ..................................................................................................... 28 
Métodos ................................................................................................................................................ 30 
Design thinking ‐ pensamiento de diseño ......................................................................................... 30 
 

   

Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view


Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
Visión general 
Introducción 
Algunas tecnologías son simples, como una taza o un martillo, otras son complicadas, como una placa 
de  circuito  o  un  automóvil,  pero  algunas  son  realmente  complejas,  como  grandes  sistemas  de 
información,  redes  de  cadenas  de  suministro,  entornos  urbanos  sostenibles,  sistemas  de  atención 
médica  o  servicios  financieros  avanzados.  Estos  complejos  sistemas  de  ingeniería  se  definen  al 
consistir  de  múltiples  partes  diversas  que  están  altamente  interconectadas  y  son  autónomas.  Este 
curso es una introducción completa a la aplicación de la teoría de la complejidad al diseño e ingeniería 
de  sistemas  en  el  contexto  del  siglo  XXI.  Desde  el  panorama  más  amplio  de  por  qué  deberíamos 
preocuparnos por consideraciones arquitectónicas clave, reúne muchas ideas nuevas en el diseño de 
sistemas  para  presentar  un  paradigma  integrado  y  un  conjunto  de  principios  para  el  diseño  de 
sistemas complejos. 

En  la  primera  sección  del  curso,  exploraremos  algunos  de  los  temas  principales  que  conforman  el 
diseño y la ingeniería de sistemas en el siglo XXI, como el aumento de la sostenibilidad, la tecnología 
de  la  información,  la  revolución  de  los  servicios  y  la  globalización  económica,  proporcionando  un 
conjunto recurrente de temas que se incluirán en nuestra discusión. Esta sección también le brindará 
una descripción general de la teoría de la complejidad y los conceptos básicos que utilizaremos a lo 
largo  del  curso,  como  el  modelo  de  un  sistema,  un  marco  para  comprender  la  complejidad  y  una 
definición de sistemas complejos. La última sección de este modelo ofrecerá una descripción general 
del diseño de sistemas complejos, brindándole una descripción clara y concisa de lo que es un sistema 
de ingeniería compleja y cómo este nuevo paradigma de diseño difiere de nuestro enfoque tradicional. 

A  continuación,  le  presentamos  los  conceptos  clave  dentro  de  este  dominio,  hablaremos  sobre 
servicios y sistemas de productos y servicios; Diseñando relaciones sinérgicas para integrar diversos 
componentes. En esta sección exploraremos una de las conclusiones clave de todo este curso, la idea 
de la abstracción como una herramienta poderosa para resolver la complejidad. 

En el tercer módulo del curso discutimos los principios primarios para el diseño de sistemas complejos. 
En primer lugar, las redes, con estas redes de sistemas altamente interconectados son su verdadera 
geometría, comprenderlos y poder ver los sistemas que estamos diseñando como redes es uno de 
nuestros principios clave de los que hablaremos. En segundo lugar, veremos los sistemas adaptativos 
y  cómo  I.T.  está  habilitando  a  la  próxima  generación  de  tecnologías  receptivas,  adaptables  y 
dinámicas, permitiendo la auto organización y una nueva forma de diseño emergente de abajo hacia 
arriba. Por último, en esta sección también cubriremos los mecanismos clave de la evolución y cómo 
afecta el ciclo de vida de los sistemas que estamos diseñando. 

Con la arquitectura de sistemas, comenzamos a cambiar de marcha para hablar sobre los mecanismos 
más prácticos de cómo diseñar sistemas complejos basados en un nuevo paradigma de arquitectura 
de sistemas que surgió dentro de I.T. en las últimas décadas, lo que se llama arquitectura orientada a 
servicios. En esta sección, analizaremos las tecnologías de plataforma y su funcionamiento interno, el 
diseño de sistemas modulares y la Arquitectura dirigida por eventos, que se adapta particularmente 
bien a la naturaleza dinámica de los sistemas que estamos desarrollando. 

Por  último,  métodos  de  diseño,  presentamos  una  serie  de  clases  sobre  el  método  de  diseño  y  el 
proceso  más  adecuado  para  el  diseño  de  sistemas  complejos.  En  esta  sección  se  presentará  el 
pensamiento de diseño que representa un conjunto repetible de etapas en el proceso de diseño para 
resolver problemas complejos. 

Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view


Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
Un contexto cambiante 
En esta lección, vamos a comenzar el curso echando un vistazo al panorama general del entorno o 
contexto en el que diseñamos y desarrollamos sistemas en el siglo XXI. Muchos factores apuntan a la 
conclusión de que vivimos en un momento de transición, un cambio sin precedentes, este cambio es 
fundamental, rápido y multidimensional. El paradigma general que se usa a menudo para entender 
este cambio es el de una transición de una era industrial a Una era de la información post‐industrial. 
Heredamos un mundo de tecnologías y sistemas de organización que nació de la revolución industrial, 
donde el conocimiento nuevo de la ciencia moderna se aplicó a la ingeniería y al desarrollo de las 
tecnologías necesarias para respaldar una nueva forma de sociedad de masas. 

La sociedad de masas, a diferencia de sus predecesores, se centra en la masa de personas y, por lo 
tanto, requiere el desarrollo de sistemas de ingeniería en una escala sin precedentes, la clave para 
lograrlo fue la estandarización, la sistematización y la economía de escala a través de la centralización, 
el mundo que heredamos está dominado por estos grandes sistemas centralizados de Organización, 
tales como gobiernos, fábricas y corporaciones. Inherente a este modelo centralizado es la dicotomía 
entre  productores  y  consumidores  de  productos  y  servicios.  Los  sistemas  están  diseñados  y 
desarrollados por una minoría de profesionales que crean productos terminados que se envían a los 
usuarios finales. El modelo industrial se centra en la provisión de objetos tangibles, estos productos 
están diseñados como productos terminados que operan en un aislamiento relativo entre sí y siguen 
un ciclo de vida lineal desde la producción al consumo y disposición. 

Por último, estos productos han sido diseñados y producidos en gran medida para menos del 20 por 
ciento  de  la  población  mundial  que  forma  parte  de  la  clase  media  mundial.  Podemos  decir  que  el 
modelo industrial ha tenido un gran éxito en lo que fue diseñado para lograr, la provisión de un nivel 
de  vida  material  relativamente  alto  para  la  mayoría  de  las  personas  dentro  de  las  economías 
industriales avanzadas. También podemos decir que este modelo industrial está bien desarrollado y, 
debido a su éxito, se está exportando o duplicando a nivel mundial. Ahora podemos mover el capital 
financiero y la experiencia para producir rascacielos, autopistas y aeropuertos en casi cualquier lugar 
del planeta desde Shenzhen a Lagos. 

Pero  a  medida  que  avanzamos  hacia  el  siglo  XXI,  varios  factores  están  trabajando  para  revelar  la 
limitación inherente a este modelo. Ahora analizaremos los factores clave que nos llevan a un entorno 
más complejo en el que tenemos que diseñar sistemas para el siglo XXI. Las primarias entre estas son; 
El auge del paradigma de la sostenibilidad; El rápido y penetrante crecimiento de la tecnología de la 
información; El enorme crecimiento de la economía de servicios. Y la expansión de la globalización 
económica.  En  primer  lugar,  la  sostenibilidad;  La  creciente  conciencia  de  la  necesidad  de 
sustentabilidad puede derivarse de  una ecuación muy simple que  es una posición predeterminada 
dentro del modelo industrial, el crecimiento exponencial, dentro de un sistema lineal que depende de 
recursos finitos, es insostenible. 

Para que este sistema continúe en el futuro, parte de esta ecuación tiene que cambiar, el crecimiento 
exponencial en el consumo de recursos continuará casi con toda seguridad a medida que la mayoría 
de la población mundial continúe ingresando a la economía global. La disponibilidad de recursos será 
poco probable que cambie en una dirección positiva, el logro de la sostenibilidad implicará muchas 
cosas, pero el cambio de un modelo lineal a uno no lineal estará en el centro de la misma. 

Desarrollar  la próxima  generación de tecnologías sustentables no  se trata de hacer más cosas que 


sean  más  rápidas,  más  grandes  y  mejores,  nos  exige  diseñar  sistemas,  es  decir,  crear  conexiones 
sinérgicas entre las cosas, que superen el efecto de callejón sin salida del modelo lineal. 

Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view


Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
El cambio ambiental es otro aspecto de la sostenibilidad, uno que nos lleva a un entorno más volátil e 
incierto,  en  respuesta  a  lo  cual  nuestro  enfoque  tradicional  de  desarrollar  sistemas  estáticos  para 
entornos  estables  y  predecibles  es  inepto,  ya  que  necesitamos  desarrollar  sistemas  que  sean  más 
ágiles, flexibles y capaces de adaptarse. 

En segundo lugar, la tecnología de la información; La revolución de la información está teniendo un 
efecto profundo y radical en casi todas las áreas de la sociedad y la tecnología, permitiendo nuevas 
formas  de  organización  en  red,  ya  que  los  sistemas  se  vuelven  desagregados  de  ser  monolíticos, 
estructurados y estáticos a ser cada vez más distribuidos, dinámicos y heterogéneos. 

TI  coloca  las  plataformas  que  conectan  a  las  personas,  como  la  red  mundial,  o  la  tecnología  a  la 
tecnología,  como  el  Internet  de  las  cosas,  en  el  centro  de  los  desafíos  de  diseño  que  se  avecinan, 
algunas de estas plataformas son verdaderos sistemas complejos, compuestos por millones o incluso 
miles de millones de nodos que se interconectan densamente, interactúan y son capaces de adaptarse 
a medida que evolucionan con el tiempo. La tecnología de la información también está teniendo un 
fuerte efecto democratizador en el diseño, ya que las herramientas para el diseño y la producción se 
ponen cada vez más accesibles, el mundo formal del diseño profesional, que una vez fue cerrado en 
las patentes, está dando paso a la aparición de ecosistemas para la co‐creación, donde el usuario final 
se está convirtiendo en una nueva fuente de innovación. 

En tercer lugar, la economía de servicios; El modelo industrial está preparado para la producción y 
distribución de bienes tangibles, pero en las últimas décadas se ha visto un enorme crecimiento en la 
sección de servicios de la economía, los servicios de hoy conforman aproximadamente dos tercios de 
la producción económica mundial y dominan las economías avanzadas. Los servicios se basan en una 
lógica muy diferente a los productos. El diseño de servicios no se trata de diseñar más cosas, sino de 
la función o servicio que brindan y de la interconexión de estos servicios en procesos centrados en las 
necesidades del usuario final. Nos estamos moviendo hacia un mundo menos sobre productos y más 
sobre redes dinámicas de servicios en tiempo real. Los servicios son todo acerca de las personas, la 
mayoría de los problemas realmente difíciles en el futuro son no tanto técnicos, son de naturaleza 
social. Un sistema de servicio bien diseñado, bien construido y bien administrado debe centrarse y 
optimizarse principalmente alrededor de las personas, ya sea que estemos hablando de un paciente 
en un sistema de salud, un cliente de una empresa o un ciudadano que interactúa con su gobierno. 

Esto nos lleva a uno de los temas clave en el diseño de sistemas complejos, que es lo que llamamos 
sistemas socio técnicos. Por razones que veremos más adelante, el mundo industrial no fue diseñado 
para las personas, fue diseñado para procedimientos, estándares y Los sistemas, las máquinas eran 
los íconos e ídolos de la era industrial, racionales, estables y predecibles, las personas esperábamos 
que encajaran en este modelo. El resultado neto de esto es que heredamos un mundo enormemente 
alienante que excluye el compromiso total y los recursos del dominio social y cultural. Apenas estamos 
comenzando a reexaminar el enorme potencial que ofrecen a través de innovaciones como las redes 
sociales, el mundo que diseñaremos para el siglo XXI es más social, más personal y humano. Esta capa 
social que se está colocando sobre todo y cómo interactúa e interconecta con el mundo técnico de la 
tecnología es otro tema importante que revisaremos a lo largo del curso. 

Por último, la globalización económica; Hasta la fecha, la mayoría de los productos dentro del sistema 
capitalista industrial fueron diseñados para una pequeña minoría de la población del mundo que vive 
en  economías  occidentales  avanzadas,  en  estos  países  se  han  cumplido  las  necesidades  que  el 
capitalismo  ha  trabajado  tan  duro  para  satisfacer.  Mientras  tanto,  en  otras  partes  del  mundo,  las 
necesidades humanas básicas como el agua potable y el saneamiento no se satisfacen, en un mundo 
interconectado como el nuestro, esta situación es cada vez más inestable. 
Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view
Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
El modelo formal de diseño y desarrollo que forma parte del capitalismo industrial ha creado sistemas 
de dos niveles en muchas partes del mundo en desarrollo, donde usted es parte de la clase media y 
tiene acceso a productos de mercado, servicios públicos, derechos legales. y así sucesivamente o no 
lo eres, y simplemente te dejan improvisar, como es el caso de más de mil millones de personas que 
viven en barrios marginales de todo el mundo. 

Uno de los desafíos para el diseño en el futuro es la expansión del diseño formal para todos los niveles 
económicos, no se trata de la caridad, se trata de la innovación en el diseño de productos y modelos 
de negocios para poder alcanzar los niveles económicos más bajos y lograr un retorno de la inversión 
viable y hay un número creciente de empresas que lo demuestran. 

El mundo postindustrial en el que vivimos es como despertar la mañana después de una fiesta con 
resaca, heredamos un mundo donde vivimos dentro de sistemas industriales masivos e inertes que 
están rodeados de desafíos. La fabricación de más productos que son más rápidos, más fuertes y más 
grandes se está convirtiendo cada vez más en productos básicos. Si bien se está abriendo un nuevo 
mundo de valor en el diseño de sistemas complejos que conectan recursos preexistentes para brindar 
a los usuarios soluciones a estos problemas del mundo real. 

En  resumen,  entonces;  Podemos  decir  que  el  modelo  industrial  de  diseño  de  sistemas  ha  tenido 
mucho éxito en el desarrollo de un conjunto de tecnologías industriales, desde microondas a aviones, 
que nos permiten tener un nivel de bienestar material mucho mayor del que antes era posible. Pero 
hoy  se  nos  presentan  nuevos  desafíos  que  nos  obligan  a  ir  más  allá  de  su  lógica.  La  necesidad  de 
diseñar ciudades sostenibles, servicios de salud que permitan a las personas vivir una mejor calidad 
de vida y grandes sistemas de información, todo esto nos presenta el desafío de desarrollar sistemas 
complejos y requiere un nuevo paradigma en el diseño. 

Visión general de la teoría de la complejidad 
Algunos de los sistemas que tenemos que diseñar y desarrollar hoy en día son muy complejos, como 
las  redes  eléctricas  inteligentes,  los  sistemas  de  información  empresarial,  las  redes  de  transporte 
urbano,  etc.,  pueden  incluir  millones  o  incluso  miles  de  millones  de  componentes,  muchas  partes 
interesadas diferentes con objetivos diversos, densas redes de interconexiones e interdependencias 
que  pueden  ser  desconocidas  y  que  aún  están  evolucionando  con  el  tiempo,  realmente  captar  y 
experimentar la complejidad de estos sistemas es intimidante, como mínimo. 

La  única  forma  de  superar  esta  complejidad  del  mundo  real  que  nos  rodea  es  a  través  de  la 
abstracción, es decir, los modelos conceptuales que capturan las características subyacentes. 

Escondiendo  los  detalles  y  en  el  mundo  del  diseño  de  sistemas  complejos,  es  la  teoría  de  la 
complejidad la que nos ofrece estos modelos conceptuales abstractos básicos para trabajar. La teoría 
de la complejidad ha surgido  de varias áreas diferentes en las  últimas décadas, en particular de  la 
física, las matemáticas, la informática y la ecología. Todas estas áreas tan diferentes se han encontrado 
tratando de modelar, diseñar y administrar lo que ahora llamamos sistemas complejos. Los sistemas 
complejos  son  sistemas  compuestos  de  muchas  partes  diferentes  que  están  altamente 
interconectadas y son capaces de adaptarse. 

Así  que  vamos  a  descomprimir  un  poco,  en  primer  lugar,  los  sistemas  complejos  son  un  tipo  de 
sistema. Un sistema es solo un conjunto de cosas que realizan alguna función colectiva. Por lo tanto, 
el  cuerpo  humano  es  un  sistema  el  que  consta  de  muchos  órganos  individuales  que  funcionan  en 
conjunto como una totalidad funcional, un negocio es otro ejemplo de un sistema, muchos individuos 
y  departamentos  diferentes  funcionan  como  una  totalidad  para  producir  colectivamente  algún 
conjunto de productos o servicios. Y, por supuesto, hay muchos otros ejemplos de sistemas tales como 
Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view
Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
ecosistemas, sistemas hidráulicos, sistemas sociales, etc. Aunque no todo es un sistema, si tomamos 
una colección aleatoria de cosas, decimos un disco duro, una luz y un reloj y los juntamos, esto no es 
un  sistema,  es  simplemente  un  conjunto  de  elementos  porque  no  están  interconectados  y  son 
interdependientes en la realización de alguna función colectiva. 

Debido a que los elementos dentro de un sistema realizan alguna función colectiva, se dice que los 
sistemas son mayores que la suma de sus partes. Es decir, el sistema en su conjunto tiene propiedades 
y funcionalidad que ninguno de sus elementos constituyentes posee, una célula vegetal es un ejemplo 
de esto, está compuesta de muchas moléculas inanimadas pero cuando las juntamos obtenemos una 
célula que tiene Las propiedades de un sistema vivo, por lo que no es ningún elemento que tenga las 
propiedades de la vida, sino que es la forma particular en que organizamos estas moléculas las que 
dan lugar a esta propiedad emergente del sistema vivo como un todo. 

Una cosa clave a entender sobre el pensamiento sistémico es que representa una alternativa a nuestra 
forma de pensar científica moderna que se enfoca principalmente en dividir las cosas en sus partes 
constitutivas para analizar estas partes y luego trata de entender todo el sistema como simplemente 
la suma de estos elementos individuales. Este enfoque funciona bien cuando tratamos con conjuntos 
de  cosas  que  no  tienen  propiedades  emergentes,  pero  debido  a  que  algunos  sistemas,  de  hecho, 
muchos sistemas, tienen estas propiedades emergentes como un todo, este método, que también se 
llama reduccionismo, no siempre funciona mejor, en cuyo caso necesitamos usar el pensamiento de 
sistemas  que  pone  mayor  énfasis  en  la  comprensión  de  los  sistemas  en  su  totalidad  y  dentro  del 
entorno que les da contexto. 

Así que esa es una visión general muy rápida del pensamiento de sistemas, pero para llegar a sistemas 
complejos necesitamos agregar complejidad a esto. Los sistemas tienen una serie de propiedades que 
los hacen complejos. En primer lugar, la cantidad de elementos dentro de nuestro sistema, esto es 
bastante sencillo cuantas más partes haya, más complejo será. En segundo lugar, la complejidad es un 
producto  del  grado  de  conectividad  entre  estos  elementos,  cuanto  más  interconectados  e 
interdependientes  sean,  más  complejo  será  nuestro  sistema.  Dentro  de  los  sistemas  simples,  hay 
pocas  conexiones  entre  los  elementos  y  es  relativamente  fácil  entender  las  relaciones  directas  de 
causa y efecto, es decir, podemos dibujar una línea directa entre una sola causa y un solo efecto, por 
lo  que  llamamos  a  estas  simples  organizaciones,  sistemas  lineales.  Pero  cuando  aumentamos  la 
conectividad dentro del sistema y especialmente cuando hay un gran número de elementos, estas 
relaciones de causa y efecto se vuelven más complejas, ya que puede haber múltiples causas para 
cualquier efecto dado o viceversa, a diferencia de nuestro sistema lineal simple. Llamamos a estas 
organizaciones más complejas, sistemas no lineales, y la no linealidad es una propiedad clave de los 
sistemas complejos. 

La  complejidad  también  es  producto  del  grado  de  diversidad  entre  elementos.  Cuando  todos  los 
elementos  dentro  de  nuestro  sistema  son  muy  similares  u  homogéneos,  es  mucho  más  sencillo 
modelar,  diseñar  o  gestionar,  en  lugar  de  tratar  con  una  organización  heterogénea  compuesta  de 
muchas  partes  diferentes,  cada  una  con  su  propio  conjunto  único  de  propiedades.  Por  último,  la 
complejidad es producto del grado de autonomía y adaptación de los elementos dentro del sistema. 
Cuando  los  elementos  tienen  un  nivel  de  autonomía  muy  bajo,  el  sistema  puede  diseñarse, 
administrarse  y  controlarse  de  manera  centralizada  de  manera  descendente.  Pero  a  medida  que 
aumentamos  la  autonomía  de  los  elementos,  esto  ya  no  es  posible  a  medida  que  el  control  y  la 
organización se distribuyen y cada vez son más las interacciones a nivel local que definen cómo se 
desarrolla el sistema. 

Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view


Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
Esto da lugar a otra característica importante de los sistemas complejos, que es la auto‐organización. 
Cuando los elementos tienen la autonomía para adaptarse localmente, pueden auto organizarse para 
formar patrones globales, el proceso a través del cual se lleva a cabo se llama emergencia. Por lo tanto, 
a diferencia de los sistemas lineales simples, donde el orden generalmente proviene de alguna forma 
de  coordinación  centralizada  de  arriba  hacia  abajo,  los  patrones  de  orden  dentro  de  los  sistemas 
complejos emergen de abajo hacia arriba. La auto organización será otro tema recurrente en nuestra 
exploración del diseño de sistemas complejos. 

Así que ahora sabemos un poco acerca de la teoría de la complejidad y tenemos una definición de 
trabajo para lo que es un sistema complejo, de modo que cuando escuchamos a alguien hablar sobre 
un  sistema  complejo,  sabemos  lo  que  significan,  es  un  sistema  compuesto  de  partes  múltiples  y 
diversas  que  están  altamente  interconectadas  y  capaz  de  adaptarse.  Incluso  podríamos  tener  en 
mente  algunos  ejemplos,  como  los  mercados  financieros  con  muchos  comerciantes  altamente 
interconectados que se adaptan al comportamiento de los demás a medida que interactúan a través 
de compras y ventas. O un ecosistema con múltiples especies diferentes que son interdependientes y 
se adaptan entre sí y con su entorno. O una red de cadena de suministro con muchos productores y 
distribuidores  diferentes  que  interactúan  y  se  adaptan  entre  sí  para  entregar  un  producto.  Por 
supuesto, hay muchos más ejemplos de sistemas complejos, pero nos resumiremos aquí y hablaremos 
sobre la aplicación de la teoría de la complejidad al diseño y la ingeniería en la siguiente sección. 

Complejidad en el diseño de sistemas 
El diseño de sistemas complejos representa un paradigma alternativo a nuestro enfoque de ingeniería 
de diseño tradicional. El paradigma del diseño de sistemas complejos se centra en el desarrollo de 
sistemas  abiertos  que  integran  diversos  componentes  a  través  de  redes  dinámicas,  con  una 
funcionalidad global emergente desde abajo hacia arriba a medida que los elementos interactúan, se 
adaptan y evolucionan con el tiempo. Esto contrasta con un enfoque más tradicional, que se centra 
en el desarrollo de objetos discretos y bien definidos al dividirlos en componentes individuales y luego 
coordinar estos componentes dentro de un diseño global de arriba hacia abajo. Ejemplos clásicos de 
estos  complejos  sistemas  de  ingeniería  son  Internet  y  las  ciudades,  pero  también  los  sistemas  de 
atención  médica,  las  redes  eléctricas,  las  carteras  financieras,  las  redes  logísticas  y  las  redes  de 
transporte. 

El diseño y la ingeniería son actividades humanas muy amplias y fundamentales, y existen muchas 
definiciones diferentes para ellas. Sin embargo, en el corazón de muchas de estas definiciones está el 
diseño como un proceso. Ese es un proceso en el que concebimos una solución original o mejorada 
para  lograr  un  estado  final  óptimo  y  deseado.  Luego,  identificamos  el  conjunto  de  factores  y 
restricciones dentro del entorno dado y, por último, desarrollamos un modelo para la disposición de 
un conjunto de elementos para lograr este estado final deseado, es decir, el diseño. Por lo tanto, ya 
sea  que estemos  diseñando una  bicicleta, un nuevo  proceso de  producción  para  nuestra  fábrica  o 
diseñando algún servicio de atención médica, podemos decir que el diseño se trata de la disposición 
de  los  elementos  dentro  de  un  sistema  para  lograr  una  funcionalidad  global  óptima.  Dentro  de  la 
ingeniería, este óptimo funcional normalmente se habla y cuantifica en términos de la eficiencia del 
sistema. Entonces, un paradigma de diseño es un enfoque general que consiste en un conjunto de 
suposiciones y teorías básicas sobre cómo funciona el mundo que queremos diseñar, junto con un 
conjunto complementario de principios y métodos con los cuales abordar este proceso de diseño. 

Como muchas otras áreas, nuestro paradigma moderno de ingeniería hereda su fundamento teórico 
de la ciencia moderna y, en particular, de la física clásica. Un método clave empleado por ambos es el 
reduccionismo. El reduccionismo sostiene que un sistema complejo no es más que la suma de sus 
Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view
Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
partes y que su cuenta puede reducirse a las cuentas de sus constituyentes individuales. El enfoque 
reduccionista da como resultado una visión del mundo que se compone de componentes aislados que 
interactúan en una forma lineal predeterminada, a veces llamada el universo del trabajo del reloj. Al 
igual  que  cuando  ponemos  nuestras  gafas  reduccionistas,  todo  comienza  a  parecer  pequeños 
engranajes deterministas en una máquina enorme. Por lo tanto, el enfoque reduccionista aplicado a 
los  resultados  de  ingeniería  en  la  descomposición  o  descomposición  de  sistemas  completos  en 
componentes discretos que se pueden aislar y modelar usando ecuaciones lineales. La funcionalidad 
general del sistema se logra luego mediante la definición de un plan general de arriba hacia abajo 
sobre cómo todos estos componentes encajan de nuevo. Para lograr esta funcionalidad general del 
sistema,  es  importante  que  los  elementos  puedan  estar  restringidos,  es  decir,  sean  relativamente 
estáticos  y  su  comportamiento  pueda  ser  predeterminado  y,  por  lo  tanto,  controlado.  El  enfoque 
reduccionista ha funcionado bien en la ingeniería de puentes, aviones y rascacielos. Estos sistemas 
están diseñados para ser, y queremos que sean, estables, predecibles y confiables. El reduccionismo 
funciona bien cuando se trata de sistemas con un bajo nivel de interconectividad e interdependencias, 
donde los componentes son estáticos, controlables y el entorno es relativamente inalterable. 

Pero lo que sucede cuando este no es el caso, cuando tenemos que diseñar sistemas de información 
donde los componentes están altamente interconectados e interdependientes, cuando tenemos que 
construir ciudades sustentables con múltiples partes interesadas que tienen sus propias agendas o 
sistemas  de  infraestructura  que  tendrán  que  operar  en  ¿Un  cambiante  entorno  de  futuro  incierto 
creado  por  el  cambio  climático?  En  este  caso,  nuestros  supuestos  básicos  o  paradigma  de  diseño 
deben cambiar a uno que esté más enfocado en las conexiones que integran diversos componentes 
en los sistemas en lugar de nuestro paradigma tradicional basado en componentes, y aquí es donde 
entra en juego el diseño de sistemas complejos. 

En  primer  lugar,  los  sistemas  complejos  son  sistemas  abiertos.  En  el  diseño  y  la  ingeniería 
tradicionales,  estamos  tratando  con  cosas  como  sillas,  puentes  y  edificios.  Tienen  límites  bien 
definidos. 

Podemos  controlar  completamente  todos  los  elementos  dentro  de  estos  límites  y  diseñar 
completamente el sistema. 

Esto los hace ordenados y predecibles. Con el diseño de sistemas complejos, lo que estamos tratando 
son sistemas abiertos. Piense en las redes de energía eléctrica, las ciudades o Internet en sí, un sistema 
masivamente modular y distribuido. No tiene límites definidos. 

Personas y dispositivos se  acoplan y desacoplan del  sistema.  No es aleatorio, pero este mundo de 


sistemas complejos no es tan ordenado. Es utilizar la frase pegadiza "borde del caos". Nadie tiene el 
control y nadie entiende o puede diseñar completamente estos sistemas abiertos. 

Si bien nuestro enfoque tradicional se centra mucho en los componentes, es decir, en el diseño de las 
cosas, el diseño de sistemas complejos consiste en conectar estas cosas entre sí, y las redes son las 
plataformas a través de las cuales conectamos las cosas con los sistemas que ofrecen funcionalidad. 
En  lugar  de  centrarse  en  las  propiedades  de  las  cosas,  es  decir,  cómo  hacerlas  más  grandes,  más 
rápidas y mejores, el enfoque principal aquí es cómo diseñar los protocolos e interacciones para que 
los diversos componentes puedan trabajar juntos. Piense en las redes eléctricas inteligentes. Lo que 
estamos  diseñando  aquí  es  una  red  a  través  de  la  cual  múltiples  componentes  (medidores  y 
generadores  de  energía  y  diferentes  dispositivos  eléctricos)  se  pueden  comunicar  e  interoperar  a 
través de un conjunto estandarizado de protocolos. 

Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view


Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
Lo que estamos acostumbrados a diseñar son tecnologías monolíticas. Están coordinados por un plan 
maestro  que  se  impone  a  todos  los  elementos  de  manera  descendente.  Un  diseño  monolítico 
restringe todos los componentes dentro del sistema. Así es como hacemos edificios, automóviles y 
aviones, y funciona bien hasta que los componentes del sistema sean autónomos. 

Cuando  intentamos  aplicar  este  enfoque  para  diseñar  algo  como  ciudades  enteras,  los  resultados 
pueden  ser  desastrosos,  un  desperdicio  masivo  de  recursos,  entornos  sumamente  alienantes  y  de 
desconexión. En estos sistemas complejos, la capacidad real de actuar, de desplegar capacidades, se 
encuentra  en  el  nivel  local.  Piensa  en  las  redes  sociales.  Una  red  social  sin  sus  usuarios  es 
esencialmente nada. Al final del día, son los usuarios quienes realmente crean el valor del sistema. 
Tratar de controlar la red probablemente terminará en una sobrecarga con restricciones de nivel del 
sistema.  Los  usuarios  se  desconectarán  y  simplemente  se  retirarán.  En  sistemas  de  ingeniería 
compleja, la funcionalidad global surge de la auto organización de elementos a nivel local. Por lo tanto, 
no  buscamos  diseñar  el  sistema  en  todos  sus  detalles,  sino  que  nos  centramos  en  configurar  el 
contexto y las interacciones locales que pueden conducir a una coordinación global efectiva. 

En  la ingeniería clásica, los componentes del sistema  se  mantienen específicamente estáticos para 


coordinar el sistema en su totalidad. Esto requiere la predicción del entorno en el que 

El sistema funcionará, las condiciones a las que se enfrentará y las tareas que deberá realizar. En los 
sistemas de  ingeniería compleja,  los  componentes  tienen  un  alto grado de  autonomía, ya sea  que 
estemos hablando de sitios web en Internet o donde las personas deciden construir sus casas o invertir 
su dinero. Los elementos se están adaptando a su entorno local y, por lo tanto, el estado del sistema 
es un producto del proceso evolutivo que resulta de esto. Su capacidad de adaptación y evolución 
permite que estos sistemas operen en entornos más complejos y volátiles, donde el conocimiento 
completo del sistema y su entorno es imposible. 

Conceptos clave de los sistemas complejos 
Sistemas de servicio 
Un sistema de servicio es una combinación coherente de personas, procesos y tecnología que ofrece 
algo  de  valor  a  un  usuario  final.  Los  sistemas  de  servicios  son  un  tipo  de  complejo  socio  técnico. 
Sistema que está diseñado para ofrecer cierta funcionalidad dentro de un contexto particular a un 
usuario final en particular mediante la agregación de diferentes tecnologías y personas a través de 
procedimientos. 

Ejemplos de sistemas de servicio son todas las formas de educación, entretenimiento, sistemas de 
transporte y servicios de telecomunicaciones, entre muchos otros. 

El modelo industrial para diseño e ingeniería estaba o está muy enfocado en la producción de cosas. 
Así, vivimos en un mundo de cosas aisladas, que llamamos productos: automóviles, relojes, mesas y 
lavadoras. Se conciben, diseñan, desarrollan y operan en un aislamiento relativo entre sí. Pero, en las 
últimas décadas, ha habido una revolución silenciosa pero fundamental en los servicios, ya que han 
llegado a dominar las economías postindustriales. 

Los servicios no son solo otro sector de la economía. Representan un nuevo paradigma en la forma en 
que pensamos sobre los sistemas que diseñamos, uno que cambia el enfoque de tecnologías aisladas 
a sistemas integrados. Dentro del paradigma de servicios, el mundo postindustrial está saturado de 
productos y personas que ya no quieren más cosas. 

Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view


Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
Solo quieren la funcionalidad de estas cosas que es su servicio. Así que no quiero que me envíen cada 
mes cuatro tarjetas de crédito, tres tarjetas de débito, dos cuentas bancarias y un pequeño montón 
de extractos bancarios. Quiero un servicio financiero que esté allí cuando deba pagar por algo y no 
cuando no lo hago. No quiero un software que tengo que descargar, instalar, actualizar y mantener. 
Quiero un servicio de software que esté allí cuando lo necesito y no cuando no lo hago. Este es el 
mundo de los servicios y está enfocado en la funcionalidad pura. 

Los servicios son esencialmente el producto de conectar muchos productos, es decir, la integración de 
productos  en  sistemas  de  servicios,  lo  que  llamamos  sistemas  de  servicios  de  productos,  o  más 
simplemente sistemas de servicios. Los sistemas de servicio se pueden caracterizar por el valor que 
resulta de la interacción entre sus componentes. Un servicio para compartir autos podría ser un buen 
ejemplo de esto. Al conectar a las personas, la tecnología y la información, podemos ofrecer al usuario 
final  casi  nada  más  que  la  funcionalidad  o  los  servicios  puros  de  la  movilidad  personal.  Otro  buen 
ejemplo de un sistema de servicio de productos del mundo real es Rolls‐Royce, que produce motores 
a reacción, pero no los venden a sus usuarios finales. Los prestan como un servicio a través de lo que 
denominan su programa "potencia por horas", la aerolínea obtiene la funcionalidad del motor como 
un servicio, pero la propiedad y el mantenimiento permanecen en manos del productor. El exitoso 
sitio web Airbnb es otro ejemplo de un sistema de servicio de productos. Proporcionan una interfaz y 
una plataforma comunes para integrar a muchos proveedores diferentes de alojamiento para ofrecer 
un servicio unificado al usuario final. 

Este  concepto  de  servicio  es  muy  importante  en  el  diseño  de  sistemas  complejos,  ya  que  ayuda  a 
cambiar el enfoque a lo que es realmente importante, es decir, las relaciones entre los componentes, 
todo el sistema y, lo que es más importante, la funcionalidad del sistema. 

Porque  al  final  del  día,  realmente  no  queremos  cosas,  componentes  o  incluso  sistemas,  lo  que 
realmente queremos es funcionalidad, funcionalidad pura, y eso es lo que llamamos un servicio. 

Al  enfocarnos  en  este  servicio  final,  podemos  trabajar  hacia  atrás  para  preguntar  cuáles  son  los 
elementos  básicos  que  necesitamos  para  brindar  esto,  o  qué  necesitamos  para  conectarnos  para 
entregar esta funcionalidad. La mayoría de estas cosas ya están ahí fuera; Solo necesitamos diseñar 
nuevas configuraciones, nuevos marcos para su integración. Nuestro ejemplo de Airbnb es bueno. Los 
componentes de su sistema, es decir, las personas que realmente proporcionan el alojamiento, ya 
estaban allí. Airbnb acaba de crear una nueva plataforma e interfaz para conectar estas cosas a la 
prestación de un servicio integrado. 

Este nuevo paradigma de sistemas de servicio trae consigo una nueva lógica que es muy diferente a 
nuestra  tradicional  centrada  en  el  producto.  Así  que  echemos  un  vistazo  a  algunas  de  las 
características clave de los sistemas de servicio. En primer lugar, los servicios son intangibles. No se 
pueden tocar, agarrar, mirar u oler. La tangibilidad es un factor importante de los bienes industriales 
sobre  los  cuales  se  basa  gran  parte  de  nuestra  economía.  Se  pueden  cuantificar,  tasar,  comprar, 
vender y poseer fácilmente. Muchos servicios solo tienen valor en uso, lo que significa que el valor del 
servicio  a  menudo  solo  se  libera  cuando  se  utiliza  el  producto.  Así,  la  aplicación  se  desplaza  de  la 
propiedad al acceso. Una consecuencia de esto es que definir y medir el valor entregado se vuelve 
más complejo  con el  diseño de nuevos  modelos  de  negocios más  sofisticados que  se  mueven  a  la 
vanguardia.  Esta  naturaleza  inmaterial  de  los  servicios  también  significa  que  el  cambio  hacia  los 
servicios  representa  una  forma  poderosa  de  hacer  más  con  menos,  desmaterializar  nuestras 
economías y, a menudo, se presenta como un método importante para lograr la sostenibilidad. 

Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view


Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
Los servicios se centran en el usuario final. El paradigma industrial se centra en los objetos, productos 
y  las  propiedades  de  estas  cosas,  y  por  lo  tanto,  el  usuario  final  se  desplaza  a  la  periferia  de  este 
modelo, teniendo principalmente importancia como propietario de estas cosas. Cuando comenzamos 
a  centrarnos  en  la  funcionalidad  y  los  servicios  del  sistema,  lo  cambiamos  al  revés.  La  solución  al 
problema del usuario final ahora se convierte en el centro de este cosmos. 

Cuando  vendemos  soluciones  en  lugar  de  productos,  para  ofrecer  estas  soluciones  de  manera 
adecuada necesitamos un profundo conocimiento de las necesidades y el contexto particulares del 
usuario final. 

Mientras que los productos existen en ubicaciones particulares dentro del espacio y con frecuencia se 
venden  como  productos  excepcionales,  los  servicios  son  más  sobre  el  tiempo.  Las  soluciones 
integradas implican asociaciones a largo plazo entre clientes y productores. Por ejemplo, Nike vende 
zapatillas para correr. Comprar un par de zapatos deportivos es una compra que se hace una vez, pero 
al crear Nike Plus, un servicio de entrenamiento digital que se conecta a una plataforma web donde 
los usuarios pueden intercambiar su rendimiento de ejecución, han logrado convertir el producto en 
una instancia. de una relación de entrega de servicio prolongada con sus clientes que probablemente 
los verá volver a comprar zapatos en el futuro simplemente para continuar con el servicio. 

En los entornos de servicio, el cliente proporciona entradas al proceso de servicio, y con frecuencia el 
cliente está presente durante el servicio y desempeña un papel activo. Por lo tanto, el valor es co‐
creado  por  el  cliente  y  el  productor.  A  esto  se  suma  el  hecho  de  que  los  usuarios  finales  desean 
servicios integrados y, a medida que los servicios se vuelven más sofisticados tecnológicamente con 
las  empresas  centradas  más  en  sus  capacidades  básicas,  las  redes  de  empresas  deben  cooperar 
durante períodos prolongados de tiempo para garantizar el diseño y la entrega de estos servicios 

A  medida  que  las  redes  de  tecnología  de  la  información  en  nuestro  mundo,  la  vanguardia  de  los 
desafíos de diseño se convierte en el diseño de estos sistemas de servicios complejos que pueden 
integrar muchos componentes diversos en redes dinámicas en tiempo real que envuelven al usuario 
final para  simplificar el complejo y entregarlo con un diseño de  servicio perfecto. El  paradigma de 
servicios cambia nuestra concepción de lo que estamos diseñando cuando hablamos del diseño de 
sistemas complejos. Eso es un cambio de desarrollar una cosa a desarrollar una función o servicio, que 
proporciona una solución a un usuario final en particular. Luego podemos preguntar qué recursos o 
qué componentes necesita uno para integrarse en un sistema para entregar esta funcionalidad. 

Abstracción de diseño 
La  abstracción  en  el  diseño  es  el  proceso  de  eliminar  niveles  sucesivos  de  detalle  de  una 
representación para capturar solo las características esenciales de un sistema. A través del proceso de 
abstracción, un diseñador puede ocultar la información irrelevante sobre un sistema para reducir la 
complejidad y enfocarse solo en  lo que es de  interés esencial.  La  abstracción dentro de un diseño 
ayuda a definir qué es de relevancia general para todo el sistema y qué es específico para aplicaciones 
particulares de la misma, lo que hace posible diseñar sistemas de múltiples niveles en los que subsisten 
subsistemas más pequeños y específicos dentro de marcos más grandes y genéricos. 

En  los  sistemas  complejos,  siempre  hay  dos  niveles  fundamentalmente  diferentes  del  sistema:  el 
micro y el macro, o lo que también se puede llamar el local y el global. Esto contrasta con los sistemas 
lineales simples, donde es posible reducir todo el sistema a un nivel, y se debe al hecho de que, en 
primer lugar, los sistemas complejos se componen de muchas partes. 

Podemos estar hablando de millones, como en el número de habitantes de una ciudad, o miles de 
millones, como en el número de dispositivos conectados a Internet. Un número como un millón es 
Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view
Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
algo muy abstracto, tratando de relacionar un número como un billón con nuestra experiencia física 
diaria en la que realmente estamos tratando con números como 5, 10 o posiblemente 100. Por lo 
tanto, hay una gran diferencia o diferencia en la escala. entre cualquier nodo individual en el nivel 
local y el sistema en su totalidad. 

En segundo lugar, dado que los componentes tienen cierto grado de autonomía, se están adaptando 
a su entorno local. Estos componentes a menudo son muy simples y no responden a la información a 
nivel global. Por lo tanto, un patrón de orden puede desarrollarse y, a menudo, se desarrolla en el 
nivel micro, y un segundo patrón emerge o se impone en la escala macro como resultado del intento 
de diseñar el sistema para tener alguna forma de coordinación global. Un ejemplo de esto podría ser 
el uso oficial de dos idiomas diferentes en muchas partes del mundo, donde tenemos el nivel local 
que  ha  emergido  orgánicamente  y  el  inglés  que  se  ha  colocado  encima  de  esto  para  hacer  que  el 
sistema  sea  más  interoperable  en  el  mundo  a  nivel  global.  Por  último,  debido  al  alto  grado  de 
conectividad  dentro  del  sistema,  tenemos  muchas  interacciones.  Estas  interacciones  llevan 
inevitablemente a la sincronización de elementos, lo que da lugar a patrones de macro escala. Esto se 
llama emergencia. Los atascos de tráfico son un buen ejemplo de emergencia, al igual que las corridas 
bancarias.  El  resultado  neto  de  todo  esto  es  que  tenemos  dos  niveles  cualitativamente  diferentes 
dentro de sistemas complejos, lo que significa que no se pueden reducir a un solo nivel. Esto hace que 
diseñar y administrar estos sistemas sea mucho más difícil. 

Primero debemos ser conscientes de esta naturaleza multidimensional de los sistemas complejos, y 
ser  conscientes  de  que,  si  intentamos  reducirlos  a  sistemas  mono  dimensionales  simples,  habrá 
consecuencias no deseadas y desafortunadas. Por lo tanto, tenemos que aprender a diseñar para esta 
naturaleza  multidimensional  a  sistemas  complejos.  Para  hacer  esto,  tenemos  que  ser  capaces  de 
estructurar y modelar el sistema que estamos diseñando de acuerdo con sus diferentes niveles de 
abstracción. Pero ¿qué es la abstracción? La abstracción es una herramienta poderosa usada en todas 
las áreas de matemáticas, ciencias e ingeniería. Quizás la forma más fácil de entenderlo es como un 
proceso de eliminar capas sucesivas de detalles de nuestra representación del sistema para capturar 
sus características esenciales, lo que  podríamos  llamar  sus características globales; Son comunes a 
todos los componentes y, por lo tanto, están en el nivel de los sistemas. 

Esto es como hacer zoom en un mapa satelital de una ciudad. Cada nivel tendrá un cierto grado de 
detalle, creando un cierto tipo de estructura que servirá para definir el patrón en el nivel inferior. Por 
lo tanto, vemos cómo los sistemas de ingeniería complejos son lo que llamamos sistemas de sistemas. 
Pero a diferencia de los sistemas mecanicistas donde cada nivel es solo una versión escalada de los 
componentes debajo de él, lo que los matemáticos llaman invarianza de escala, los niveles a sistemas 
complejos pueden entenderse como invariantes de escala, pero también tienen su propia variación y 
dinámica internas que no pueden estar completamente abstraído de distancia. Esto es característico 
de las estructuras fractales, estructuras geométricas que tienen esta propiedad invariable con la escala 
(por ejemplo, las arterias del cuerpo humano), la estructura de los copos de nieve, la formación de 
montañas rígidas y las costas del mar. Si tomamos uno de estos, como el litoral, y lo ampliamos, la 
estructura general en cada nivel será la misma, pero no será exactamente la misma. Habrá variaciones 
y diferencias únicas en cada nivel. 

Imagina que uno está diseñando un programa de ajuste estructural para la economía de Mongolia. 
Ninguna cantidad de análisis de datos y análisis de nuestra sede del FMI nos dirá cómo se desarrollarán 
realmente  las  cosas  en  el  terreno.  Sí,  nuestros  modelos  económicos  abstractos  nos  dirán  cómo 
funciona  el  sistema  en  el  nivel  genérico  global,  pero  hay  otro  nivel  en  la  economía  mongol  que 
representa una mezcla social, cultural y geográfica particular, que es única en este caso particular de 

Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view


Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
la  economía  global.  Si  queremos  diseñar  este  programa  correctamente,  debemos  modelar  y 
comprender  los  diferentes  niveles  de  abstracción  del  nivel  local  al  global,  cómo  se  desarrolla  la 
interacción entre lo genérico y lo específico en cada nivel, y cómo cada nivel se integra en la definición 
el nivel por debajo y por encima de él. 

Una cosa que hay que sacar de esto con respecto a nuestra metodología de diseño es la importancia 
de los estudios etnográficos y la experiencia real del usuario final. Los modelos abstractos son una 
cosa, pero en estos grandes sistemas complejos, pasarán por transiciones de fase a medida que se 
implementen en tierra. Si diseñamos una intervención militar en Irak sin comprender el contexto a 
nivel  local  dentro  del  cual  se  lleva  a  cabo,  entonces  esta  transición  de  fase  puede  ir  en  cualquier 
dirección. Una experiencia real del nivel local es crucial si esperamos tener una fuerte influencia sobre 
este proceso. Con la gran escala de algunos de estos sistemas complejos, las cosas pueden ir muy mal 
y  ser  muy  desordenadas.  El  llamado  "Big  Dig"  puede  citarse  como  un  ejemplo  de  esto.  Un  mega 
proyecto para redirigir una carretera a través del centro de Boston, estimado en 2.8 mil millones de 
dólares, se completó a un costo final de 14.6 mil millones de dólares después de haber sido plagado 
por numerosos problemas de implementación. 

Sinergias de diseño 
Una  sinergia  se  puede  definir  como  la  interacción  o  cooperación  de  dos  o  más  organizaciones, 
sustancias  u  otros  agentes  para  producir  un  efecto  combinado  mayor  que  la  suma  de  sus  efectos 
separados. Es la creación de un todo que es mayor que la suma simple de sus partes. Un enfoque de 
diseño sinérgico es uno que se centra en la interacción entre las partes dentro de la organización para 
identificar y desarrollar sinergias. 

Los sistemas de ingeniería compleja están compuestos de muchos componentes diversos, podemos 
estar hablando de componentes que nunca fueron diseñados para interactuar. Tome el ejemplo de 
Internet:  se  denomina  "red  de  redes"  y  muchas  de  esas  redes  de  área  local  originales  que  fueron 
construidas  para  hospitales,  empresas  o  fábricas  fueron  diseñadas  con  su  propia  lógica  interna. 
Cuando se construyeron, nadie pensó en cómo algún día podríamos conectarlos a todos. Por lo tanto, 
hoy  tenemos  el  gran  desafío  de  abrir  todos  estos  sistemas  de  información  y  exponer  sus  datos  y 
funciones a través de interfaces comunes. Diseñar estos sistemas compuestos heterogéneos es un 
poco como ser un DJ, tomar una canción de los Beatles y mezclarla con Nirvana y Fat Boy Slim. De 
alguna manera, debemos hacer que trabajen juntos para el usuario final, superar toda esta diversidad, 
diferencia  y  desorden  general,  y  hacer  esto  diseñando  las  relaciones  entre  los  componentes.  Las 
relaciones  pueden  ser  fundamentalmente  de  dos  tipos  diferentes,  sinérgicos,  constructivos  o 
destructivos, lo que podríamos llamar relaciones de interferencia. 

Así que vamos a tomar un ejemplo de ambos. Las relaciones destructivas representan la interferencia 
de dos o más componentes dentro del sistema, como una intersección de cruce de caminos. Para el 
tráfico  en  cada  carretera,  la  otra  carretera  es  esencialmente  una  interferencia,  la  desacelera  y  la 
detiene en su camino. 

Esto es lo que llamamos un juego de suma cero. Cuando el tráfico en una carretera obtiene lo que 
quiere, el tráfico en la otra pierde, y viceversa. Hay muchos ejemplos de juegos de suma cero en los 
sistemas que diseñamos, desde la contaminación acústica hasta las ciudades más pobladas. Siempre 
intentamos evitar el  desarrollo de estos juegos de suma cero y  las relaciones de interferencia  que 
llevan a ellos. Por el contrario, las relaciones constructivas son sinérgicas, es decir, cuando dos o más 
componentes interactúan y el resultado neto es beneficioso para ambas partes. 

Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view


Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
Esto da como resultado lo que podríamos llamar un juego de suma positivo, es decir, cuando cada uno 
sale de la interacción más de lo que ponen, por ejemplo, las redes sociales. Cuanto más se unan, más 
valiosa  es  la  red  para  cualquier  usuario  individual.  Muchas  formas  de  comercio  económico  son 
también una suma positiva. Lo que intentamos hacer al diseñar estas redes es hacer que los juegos de 
suma positivos sean un estado atractivo, es decir, el estado hacia el cual los elementos dentro del 
sistema gravitarán naturalmente. Por supuesto, esto es más fácil decirlo que hacerlo. 

Requiere una inversión significativa en la infraestructura del sistema, es decir, las relaciones a través 
de las cuales interactúan los elementos. Para ilustrar esto, recordemos nuestro ejemplo del cruce de 
carreteras.  ¿Cómo  podríamos  evitar  un  juego  de  suma  cero  aquí?  Bueno,  los  ingenieros  ya  han 
descubierto esto creando un paso elevado con rampas que conectan las dos carreteras. 

Ahora tenemos un juego de suma positiva, pero se requirió un diseño inteligente y una importante 
inversión de recursos. Esta no era la posición por defecto. Las tecnologías alternativas podrían ser otro 
ejemplo. Mientras que muchas de nuestras tecnologías tradicionales crean un juego de suma cero 
entre  las  necesidades  humanas  y  las  necesidades  ecológicas,  las  tecnologías  alternativas  bien 
diseñadas  intentan  cambiar  esto  mediante  el  aprovechamiento  de  las  relaciones  sinérgicas.  Otro 
factor que estos ejemplos podrían ilustrar es la importancia de los sistemas no lineales o paralelos en 
la creación de relaciones sinérgicas. En sistemas lineales simples, todo requiere la misma entrada y 
produce la misma salida. El resultado es un proceso lineal de entrada de recursos del entorno y de 
salida de residuos al entorno. Por supuesto, todos estamos familiarizados con este modelo, ya que 
representa los fundamentos de las economías industriales. 

Para crear sinergias, es necesario que exista cierta diversidad en el sistema, es decir, procesos que 
tienen lugar en diferentes niveles paralelos. De esta manera, diferentes componentes en el sistema 
procesan diferentes recursos, y puede ser posible conectar lo que es desperdicio de un componente 
a lo que es un recurso de entrada para otro, convirtiendo lo que a menudo es un juego de competencia 
de suma cero sobre un recurso en un juego de suma positivo donde cuanto más se consume uno, más 
puede el otro también. Por supuesto, los ecosistemas son ejemplos clásicos de esto, y ser capaz de 
modelar y desarrollar estos ciclos sinérgicos tanto a nivel micro como a nivel macro dentro de nuestros 
sistemas industriales es clave para lograr la sostenibilidad. En el diseño de estos sistemas complejos, 
la enorme heterogeneidad y diversidad de componentes es un desafío clave. Podemos estar tratando 
con  componentes  socio‐técnicos  ampliamente  dispares  y  cualitativamente  diferentes.  En  lugar  de 
trabajar en contra de él intentando reducir la variación dentro del sistema, podemos utilizarlo para 
crear  sistemas  de  varios  niveles  mediante  el  diseño  de  relaciones  sinérgicas.  Aunque  este  es  un 
concepto bastante abstracto y, como tal, más fácil de decir que de hacer, aún debe ser un principio 
general en nuestra caja de herramientas de diseño de sistemas complejos. 

Principios de diseño 
Diseño de sistemas en red 
Los sistemas complejos están, según muchas definiciones, muy interconectados, por ejemplo, redes 
sociales, redes financieras y redes de transporte. En estos sistemas altamente interconectados, son 
cada  vez  más  las  conexiones  que  definen  el  sistema  en  oposición  a  las  propiedades  de  sus 
componentes constituyentes. Por ejemplo, piense en un automóvil deportivo caro. En la carretera, es 
el  rey,  con  0‐60  en  menos  de  tres  segundos  y  hasta  250  kilómetros  por  hora.  Pero  ponga  este 
automóvil en el tráfico urbano y quedará bloqueado como cualquier otro automóvil. No importa cuán 
grandes sean las propiedades del automóvil, solo irá tan rápido como lo permita la red de transporte. 
Esto  debería  demostrar  que  en  sistemas  de  ingeniería  complejos  lo  que  realmente  importa  es  la 

Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view


Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
estructura y dinámica de la red. No se trata de ser más grande, más rápido o más fuerte. Se trata del 
acceso, y el acceso se define por dónde se encuentra en la red y la estructura de esa red. 

Piense  en  el  sistema  de  transporte  aéreo.  No  se  trata  tanto  de  las  propiedades  estáticas  de  su 
ubicación en el espacio y de la distancia a la que se encuentra su destino, sino, más importante, de su 
ubicación en la red. Si está al lado de un centro importante, puede ser más rápido y más fácil viajar a 
otro centro importante en el otro lado del planeta, como lo sería viajar de un centro desconectado a 
otro que está a una fracción de la distancia. 

Independientemente  de  si  los  llamamos  explícitamente  redes  o  solo  sistemas,  las  redes  son  la 
verdadera  geometría  de  los  sistemas  complejos.  Y,  por  lo  tanto,  es  muy  importante  pensar  en 
diseñarlos  desde  esta  perspectiva  de  acceso,  conectividad  y  estructura  de  red.  Para  hacer  esto, 
primero debemos entender un poco acerca de la naturaleza de las redes, y la teoría de redes es el 
área de matemáticas y ciencias que nos proporciona los modelos para analizar redes. Así que echemos 
un  vistazo  a  algunas  de  las  características  clave  de  las  redes  y  cómo  afectarán  al  sistema  en  su 
totalidad. Probablemente la característica más importante de una red es su grado de conectividad, es 
decir, ¿qué tan conectado está todo el sistema? Diseñar para un entorno urbano densamente poblado 
como Hong Kong será muy diferente del diseño para una ciudad como Los Ángeles, que está dispersa. 
En  sistemas  altamente  interconectados,  las  interconexiones  densas  pueden  requerir  capas  mucho 
mayores. Los componentes pueden ser mucho más especializados y puede haber un nivel mucho más 
alto  de  dependencias.  Como  resultado  de  esto,  los  fallos  pueden  propagarse  rápidamente.  Un 
pequeño problema de seguridad en un aeropuerto, por ejemplo, puede ocasionar retrasos en grandes 
áreas del sistema de transporte aéreo dentro de una nación. 

En estos sistemas grandes y altamente interconectados, no siempre conocemos las dependencias. 

Nadie tiene conocimiento completo de todas las interrelaciones que regulan sistemas complejos como 
los grandes centros urbanos o nuestras cadenas de suministro globales. Por lo tanto, nuestro objetivo 
no debe ser diseñar estos sistemas para que sean perfectos, con una tolerancia del 100%, ya que esto 
no es realista. En su lugar, necesitan ser diseñados para ser robustos al fracaso. Nuevamente, internet 
es un buen ejemplo, ya que se denomina "red de mejor esfuerzo". Esto significa que hace todo lo 
posible, pero si algo sale mal, entonces no es un gran problema. Simplemente deja caer tu paquete y 
vuelve a intentarlo. 

Sucede todo el tiempo, pero el internet todavía funciona. La aparición de fallos se debe diseñar en 
estos sistemas y no fuera de ellos para lograr robustez. 

Otra consideración clave en el diseño de estos sistemas en red es su grado de centralización versus 
descentralización, ya que este es un factor definitorio en la estructura y composición de las redes. En 
las redes centralizadas, tenemos un nodo o un pequeño conjunto  de nodos que tienen una fuerte 
influencia  en  el  sistema,  y  la  red  se  definirá  en  gran  medida  por  las  propiedades  de  estos  nodos 
primarios. Estas redes centralizadas pueden aprovechar las economías de escala y es posible tener un 
alto  grado  de  control  sobre  el  sistema  a  través  de  un  punto  de  acceso.  Debido  a  esto,  las  redes 
centralizadas pueden ser muy eficientes a corto plazo, así como más rápidas y fáciles de administrar. 

Pero también son más vulnerables a ataques estratégicos, a menudo menos robustos y sostenibles 
debido  a  sus  dependencias  en  unos  pocos  nodos  centralizados.  También  pueden  provocar  un  alto 
grado  de  desigualdad  y  problemas  en  el  equilibrio  de  la  carga.  Esto  se  debe  a  la  ocurrencia  de 
demandas pico de recursos altamente centralizadas, con atascos de tráfico en hora punta y precios 
exagerados de propiedades en el centro de las ciudades como ejemplos de esto. El uso intensivo de 
las economías de escala engendradas en el sistema industrial de organización significa que muchas de 
Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view
Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
las  redes  que conforman  las  economías  avanzadas están  altamente  centralizadas,  incluido nuestro 
sistema  financiero  global  centralizado  en  unos  pocos  nodos  clave,  muchos  sistemas  de  transporte 
nacionales y redes logísticas, que son diseñados como un núcleo centralizado y estructuras de radios. 

Las redes descentralizadas están en contrario sin nodos centralizados. La responsabilidad, el control y 
los recursos se encuentran en el nivel local y están dispersos entre un gran porcentaje de los nodos. 
Ejemplos  de  estos  incluyen  el  intercambio  de  archivos  entre  pares  (peer‐to‐peer),  sistemas  de 
agricultura  sostenible,  servicios  para  compartir  automóviles  y  democracia  directa.  Las  redes 
descentralizadas generalmente requieren una mayor participación de los usuarios, ya que no pueden 
depender del procesamiento por lotes centralizado y la economía de escala. Los nodos en la red a 
menudo  son  más  autosuficientes  y  menos  especializados,  por  lo  que  es  más  fácil  intercambiar  y 
reemplazar cualquier nodo por cualquier otro, lo que los hace menos susceptibles a los ataques y más 
robustos a las fallas. También tienen menos dependencias y suelen ser más sostenibles a largo plazo. 

Tecnologías adaptativas 
Las  tecnologías  adaptativas  complejas  se  refieren  a  redes  de  tecnologías  que  pueden  adaptarse  y 
responder entre sí. Ejemplos clásicos de esto son la robótica de enjambres, el sistema de enrutamiento 
de Internet o las redes de transporte urbano. Con el auge de la Internet de las cosas, las redes de 
tecnologías adaptativas están destinadas a ser mucho más frecuentes. 

La adaptación es la capacidad de un sistema para alterar su estado en respuesta a algún evento dentro 
de su entorno. Esta capacidad de adaptación es algo que asociamos más a menudo con los sistemas 
biológicos en oposición a las tecnologías que diseñamos. El mundo industrial que hemos diseñado es 
en muchos aspectos relativamente estático. Producimos cosas como redes eléctricas, edificios y sillas, 
y luego se sientan allí, específicamente diseñados para no cambiar. Cada día que uno camina por el 
mismo  anuncio  en  la  calle,  presenta  la  misma  información  a  miles  de  personas.  Pero  solo  será 
relevante para un porcentaje muy pequeño de ellos, y como es estático, solo lo notarán la primera vez 
antes  de  desactivarlo  para  convertirse  simplemente  en  ruido  de  fondo.  Ahora  imagine  que,  si  ese 
anuncio cambiara todos los días, es decir, fuera dinámico. En lugar de un póster, ponemos una pantalla 
que podría actualizarse. Sería de mayor relevancia, más funcional. 

Ahora vamos incluso un paso más allá. Imagínese si esta pantalla pudiera recibir información sobre los 
perfiles  y  las  preferencias  de  los  usuarios  que  se  encontraban  cerca  y  entregar  dinámicamente 
contenido  relevante  para  sus  intereses.  Este  es  el  mundo  de  los  complejos  sistemas  de  ingeniería 
adaptativa  y,  como  la  tecnología  de  la  información  nos  proporciona  las  herramientas  para  crear 
tecnologías más inteligentes, está aumentando el mundo para el que tenemos que diseñar. 

Para comprender esta transición de los sistemas estáticos a los adaptativos, tomemos como ejemplo 
el historial de la Web. La Web 1.0 era un sistema muy estático donde los desarrolladores web tenían 
páginas web codificadas. Cuando visitó un sitio, el servidor simplemente le dio la misma página que 
se había escrito posiblemente dos o tres años antes sin cambios. La Web 2.0 que todos conocemos y 
amamos aprovechó las nuevas tecnologías de scripting del lado del servidor para obtener información 
dentro  y  fuera  de  las  bases  de  datos,  y  de  esta  forma  actualizar  dinámicamente  las  páginas  web, 
haciéndolas  interactivas  y  cambiando  con  el  tiempo.  La  Web  3.0  emergente  utiliza  tecnologías 
semánticas y redes sociales para adaptar el contenido relevante a su perfil e intereses específicos, por 
lo que no solo es dinámico, sino que también responde al contexto. Fuera de la Web, la reducción 
masiva  de  costos  en  los  circuitos  integrados  está  llevando  a  que  los  sensores  y  los  actuadores  se 
coloquen  en  muchos  dispositivos  y  objetos.  A  medida  que  los  paquetes  dentro  de  las  cadenas  de 
suministro, los autos en el tráfico y las redes eléctricas se están volviendo más inteligentes, pueden 
responder a los eventos dentro de su entorno local a través de redes de malla en tiempo real. Pero 
Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view
Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
también pueden introducir datos en grandes sistemas centralizados para su análisis, lo que permite 
una mayor optimización a través del balanceo dinámico de la carga, ya que cosas como las lavadoras 
y los faroles comienzan a tener la capacidad de adaptar sus demandas de energía a la carga actual del 
sistema. 

Hay que considerar esencialmente dos niveles de estos complejos sistemas de ingeniería adaptativa: 
el micro y el macro. En el nivel micro, necesitamos elementos con algún tipo de sistema de control. 
Un  sistema  de  control  es  un  mecanismo  para  captar  información,  procesarla  de  acuerdo  con  un 
conjunto de instrucciones y generar una respuesta que altera el estado del componente. Por supuesto, 
todas las criaturas vivas tienen esto, desde los organismos unicelulares más simples hasta los más 
complejos,  el  cerebro  humano.  Sin  embargo,  estamos  utilizando  cada  vez  más  lo  que  llamamos 
sistemas cibernéticos para permitir que todo tipo de tecnología tenga esta funcionalidad adaptativa, 
ya que se convierten en parte de redes de tecnologías que pueden comunicarse y responder a los 
cambios en el estado de otras tecnologías en tiempo real como es el caso de las líneas de producción 
automatizadas, aviones y sistemas de transporte público. 

En la escala macro, cuando estamos diseñando estos sistemas adaptativos, ya no podemos controlar 
rígidamente el sistema y determinar su funcionalidad de la manera que podemos cuando decimos, 
por ejemplo, diseñar un puente, ya que el resultado final será más orgánico, como un ecosistema de 
productos, dispositivos y personas que interactúan y se adaptan dentro de las redes en lugar de los 
sistemas  mecánicos  rígidos  a  los  que  estamos  acostumbrados.  Por  lo  tanto,  si  eliminamos  esta 
característica  clave  de  control  que  es  fundamental  para  nuestra  concepción  tradicional  de  poder 
diseñar, donde vemos la limitación de la autonomía de los componentes como un requisito previo 
para el diseño, ¿cómo podemos diseñar estos sistemas adaptativos? La respuesta es trabajar con las 
características innatas de los sistemas adaptativos, no en contra de ellos. Los sistemas adaptativos por 
definición se adaptan a su entorno. Si colocamos una planta en una maceta nueva o un niño en una 
escuela nueva, se adaptarán a ese entorno en particular. Esto es parte de la dinámica de lo que los 
biólogos y ecólogos llaman homeostasis. Lo hacen a través del proceso de sincronización de su estado 
con  el  de  otros  elementos  a  los  que  están  expuestos,  y  esta  es  la  clave  para  diseñar  sistemas 
adaptables de auto organización. No intentamos alterar directamente el estado de los componentes. 
Los influenciamos indirectamente diseñando las conexiones dentro del entorno en el que opera el 
sistema. 

Si queremos que las personas sean más conscientes del medio ambiente, no les pedimos que hagan 
esto o no lo hagan. Los conectamos con el entorno natural, los exponemos a las consecuencias de sus 
acciones tanto negativas como beneficiosas. Cuando un consumidor recoge un producto anónimo en 
un supermercado de una ciudad, a unos miles de kilómetros de donde se produjo, se desconectan 
totalmente y se desvinculan de él. Pero cuando les contamos una historia sobre el ciclo de vida del 
producto, hacemos que se sientan comprometidos y parte de ese proceso, es más probable que se 
comprometan  y  se  responsabilicen  de  sus  acciones.  Nosotros,  como  diseñadores  del  producto  o 
servicio, no hemos tratado de manipularlos simplemente los hemos conectado con la realidad de su 
entorno y les hemos dejado saber cómo se adaptan y responden. Por lo tanto, diseñar estos sistemas 
adaptativos consiste en crear plataformas abiertas que conecten componentes. Si queremos diseñar 
un entorno urbano que ofrezca una mejor calidad de vida a sus ciudadanos, necesitamos construir 
espacios abiertos donde las personas puedan interactuar y auto organizarse para desarrollar el tejido 
sociocultural. 

Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view


Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
Auto‐organización 
La auto organización en el diseño se refiere al proceso de co‐creación en el desarrollo de un producto 
o servicio. En lugar de que un diseñador profesional produzca un producto terminado y lo extienda al 
usuario final, el diseño auto organizativo implica la interacción bidireccional entre el diseñador y el 
usuario final, donde los productos están diseñados para ser rediseñados por el usuario, lo que permite 
una  evolución  proceso  de  desarrollo.  Implícito  en  nuestro  paradigma  de  ingeniería  de  diseño 
tradicional  está  el  supuesto  de  que  estamos  tratando  con  un  sistema  bien  limitado  sobre  el  cual 
tenemos  control  y  conocimiento  casi  completos.  Esto  es  cierto  cuando  estamos  desarrollando  la 
mayoría de los sistemas físicos, como sillas, puentes, automóviles, etc. Pero parte de la definición de 
sistemas complejos es que los componentes del sistema tienen cierto grado de autonomía, lo que 
significa que, como diseñadores, solo podemos tener una influencia parcial  sobre el  sistema en su 
conjunto.  El  grado  en  que  podamos  definir  el  sistema  dependerá  del  grado  de  autonomía  de  los 
elementos en, por ejemplo, una red de transporte. Podemos tener un nivel de control relativamente 
alto al restringir las acciones de los autos. Pero al diseñar, digamos, una red social, las personas valoran 
altamente  su  autonomía.  Nadie  tiene  el  control  de  las  redes  que  se  generan  fuera  de  Facebook  o 
Twitter.  Se  crean  a  partir  de  la  auto  organización  de  los  usuarios  a  nivel  local.  Lo  que  estamos 
describiendo entonces es esencialmente un espectro en un lado del cual podemos tener un control 
de arriba hacia abajo, lo que nos permite diseñar un sistema bien definido que, por  lo tanto, será 
relativamente ordenado. 

En  el  otro  extremo,  tenemos  lo  que  llamamos  sistemas  de  auto  organización  que  están  menos 
diseñados pero que, en cambio, se crean a partir de las acciones e interacciones de sus usuarios, por 
lo que probablemente serán menos ordenados. Nuestro enfoque de ingeniería de diseño tradicional 
está, por supuesto, en el lado izquierdo de este espectro. Es un modelo lineal basado en el supuesto 
de  que  el  usuario  final  es  un  receptor  o  consumidor  pasivo.  Dentro  de  este  modelo  industrial,  la 
variación y el compromiso del usuario final se reducen para adaptarse a los procedimientos y sistemas 
de producción en masa prediseñados. El resultado obvio de esto es la desconexión, la alienación y un 
mundo en el que los usuarios finales están limitados por sistemas creados por unos pocos diseños e 
ingenieros en  grandes organizaciones  centralizadas.  Este es  un  modelo con  el  que  todos  debemos 
estar muy familiarizados. Aunque los sistemas generados por los usuarios siempre han estado allí en 
los márgenes de la corriente principal, el aumento de I.T. e internet ha puesto herramientas poderosas 
para la auto organización y colaboración en manos de muchos. Hoy en día, muchas de las empresas y 
servicios  más  innovadores,  dinámicos  y  de  rápido  crecimiento  están  aprovechando  esto  creando 
plataformas para que las tecnologías y las personas interactúen, se adapten y se auto organicen. 

En lugar de la división tradicional entre el productor y el consumidor de una tecnología o servicio, la 
creación  conjunta  aprovecha  el  recurso  relativamente  inexplotado  y  potencialmente  vasto  del 
compromiso del usuario final. Si bien los productos terminados son a veces lo que la gente quiere, 
también  es  cierto  que  cuando  otorgamos  a  las  personas  la  capacidad  de  ser  parte  del  proceso  de 
diseño y producción, se sienten más comprometidos, es más probable que valoren el producto final y 
pueden ser una fuente valiosa de La innovación entre otras cosas. 

Luego, la pregunta es ¿por qué diseñar estas plataformas de co‐creación para que sean productivas si 
no podemos controlarlas realmente? ¿Qué sucede si nuestra empresa recurre a los diseños para la 
producción  de  nuestro  próximo  par  de  zapatos  deportivos?  ¿Cómo  sabemos  que  van  a  ser  lo  que 
queremos? Parte de la concesión del control es aceptar el hecho de que una persona usará una red 
social para salvar el planeta y la siguiente para evitar el trabajo. Sin embargo, lo que podemos hacer 
es crear estados de atracción, es decir, cuando construimos la plataforma, establecemos las posiciones 
predeterminadas deseadas que los usuarios pueden cambiar, pero serán atractivas para la mayoría, 
Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view
Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
ya que son las predeterminadas. Por ejemplo, al crear un sitio para compartir videos, si queremos que 
el sitio se abra y se comparta, podríamos establecer los derechos de autor predeterminados para un 
video subido a creative commons. Pueden cambiarlo, pero este es un ejemplo de un estado atractivo. 
De  manera  similar,  cuando  estamos  diseñando  un  sistema  de  transporte  urbano,  si  construimos 
muchas vías verdes, carriles para bicicletas y calles peatonales, las personas todavía tienen la opción 
de elegir el modo de transporte que utilizan. Sin embargo, caminar y andar en bicicleta se convierten 
cada vez más en elementos de atracción en el sistema hacia el cual las personas gravitan naturalmente 
a medida que se convierte en el curso de menor resistencia. 

Por  lo  tanto,  podemos  ver  cómo,  para  cada  elección  que  tenemos,  hay  un  valor  predeterminado 
porque es el más barato, el más cercano o el más fácil. Aprovechar estas posiciones predeterminadas 
es  un  poderoso método  de diseño.  La  creación de  subsidios  para  energía renovable  o  espacios  de 
trabajo abiertos para la colaboración hace que estos resultados deseados sean atractivos. Si, en un 
extremo de nuestro espectro, tenemos nuestros sistemas tradicionales totalmente controlados, y en 
medio las plataformas de co‐creación, entonces en el otro extremo tenemos redes de pares que son 
sistemas verdaderamente auto organizados, ejemplos como Bitcoin, redes de malla , y la robótica de 
enjambre.  Hay  muy  poco  en  el  camino  de  una  plataforma  centralizada  aquí.  Los  elementos  en  el 
sistema son casi totalmente autónomos. Cada nodo contribuye a proporcionar la infraestructura del 
sistema y al mantenimiento del sistema. Por lo tanto, requieren más participación y responsabilidad 
de cada nodo en la red, pero pueden resultar en sistemas excepcionalmente robustos. En los sistemas 
adaptativos complejos, siempre hay una dinámica entre los agentes y la estructura, es decir, entre los 
elementos del sistema y el propio sistema. Comprender esta dinámica y la compensación entre poder 
controlar  el  sistema  en  lugar  de  aprovechar  los  recursos  incontrolables  de  los  usuarios  es  una 
consideración clave. 

Cuando  imponemos  un  diseño  formal  de  arriba  hacia  abajo  en  el  sistema,  crearemos  barreras  de 
entrada  y,  por  lo  tanto,  excluiremos  elementos,  ya  sea  de  manera  intencional  o  no.  Entonces, 
inevitablemente, se auto organizarán a nivel local para crear un sistema paralelo de dos niveles, uno 
formal y otro informal. Las chabolas y favelas son buenos ejemplos de esto. Debido a que los requisitos 
para ingresar al sistema urbano formal eran demasiado altos para los migrantes, crearon un sistema 
informal auto organizado. Este es un estado indeseable que creará problemas crónicos de integración 
de sistemas. 

Al comprender la relación entre lo formal y lo informal, el diseño centralizado y la auto organización 
distribuida, podemos diseñar una plataforma de creación conjunta de múltiples capas para integrar 
los  dos,  con  una  transición  integrada  de  restricciones  y  requisitos  informales  bajos  a  un  nivel  más 
formal  altamente  restringido.  Los  sistemas  formales  descendentes  pueden  ser  muy  austeros, 
abstractos e impersonales. Están diseñados para ser universales, una talla para todos. Los sistemas 
burocráticos son paradigmas de esto. Están diseñados para ser impersonales y estandarizados para 
todos.  McDonald's  se  cita  a  menudo  como  un  ícono  de  este  paradigma,  con  los  mismos 
procedimientos y procesos para hacer una Big Mac, ya sea en Bahrein o en Santiago. 

Pero hay una buena razón por la que muchas grandes corporaciones que son íconos de la globalización 
tienen oficinas regionales y ofertas localizadas. 

Si realmente desea involucrar a las personas, debe involucrarlas en sus propios términos, y la creación 
conjunta es una de las formas más efectivas de lograrlo. Cuando se trataba de traducir Facebook al 
francés, todo lo que tenían que hacer era abrirlo para que los usuarios lo tradujeran y los usuarios 
apasionados lo habían completado en unos pocos días. Por lo tanto, un sistema impersonal se adaptó 

Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view


Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
a las necesidades locales y de esto se trata la creación conjunta: crear sinergias entre productores y 
consumidores, entre sistemas y sus agentes constituyentes. 

Aprovechar  los  vastos  recursos  del  usuario  final  a  través  de  la  co‐creación  es  una  de  las  grandes 
fuentes  de  potencial  sin  explotar  que  apenas  estamos  empezando  a  descubrir  en  las  economías 
postindustriales. Nos exige conocer y comprender mejor la dinámica de la auto organización y, lo que 
es  más  importante,  la  interacción  entre  los  agentes  dentro  del  sistema,  es  decir,  los  usuarios  y  la 
estructura del sistema, el productor del producto o servicio. 

Ciclo de vida de los sistemas ‐ evolución 
El ciclo de vida del sistema, en ingeniería y diseño de sistemas, es una vista de un sistema o sistema 
propuesto que aborda todas las fases de su existencia para incluir la concepción, diseño y desarrollo 
del sistema, producción y / o construcción, distribución, operación, mantenimiento y soporte. retiro y 
eliminación  progresiva.  Los  sistemas  complejos  son  sistemas  intrínsecamente  dinámicos,  lo  que 
significa  que  están  cambiando  continuamente  con  el  tiempo.  Los  sistemas  biológicos  son  un  buen 
ejemplo de esto. La única vez que no participan en algún proceso de desarrollo es cuando dejan de 
existir. Esto contrasta fuertemente con los sistemas lineales que gravitan intrínsecamente hacia algún 
estado  de  equilibrio  en  el  que  permanecerán  estáticos  a  menos  que  sean  perturbados  por  alguna 
fuerza externa. Diseñar para estos sistemas complejos dinámicos requiere un enfoque holístico que 
analice el ciclo de vida del sistema. La teoría de los sistemas lineales es la columna vertebral de la 
ciencia  y  la  ingeniería  modernas  que  han  creado  nuestras  economías  industriales.  Dentro  de  este 
paradigma, las tecnologías están diseñadas para operar en algún tipo de equilibrio estático normal 
dentro  de  un  entorno  bien  conocido  y  predefinido.  Su  ciclo  de  vida  es  lineal  en  el  que  se  crea  el 
sistema, puesto en su entorno operativo donde está diseñado para funcionar dentro de un conjunto 
normal de parámetros, en un equilibrio estable y estático.  Está, lo más  importante, diseñado para 
resistir el cambio y mantener las operaciones dentro de estos parámetros durante el mayor tiempo 
posible, antes de eliminarse. Este modelo funciona bien para sistemas lineales simples, como puentes, 
en los que cuando  sujetamos nuestras vigas, queremos que nuestros pernos  permanezcan  allí. No 
queremos que respondan, cambien o crezcan de ninguna manera. 

En sistemas complejos, no estamos tratando con tornillos. Estamos tratando con componentes que 
tienen  cierto  grado  de  autonomía  y  capacidad  de  adaptación.  Personas,  empresas,  precios  de 
acciones,  aplicaciones  web,  teléfonos  inteligentes:  estas  cosas  tienen  su  propia  lógica  interna 
mediante la cual se adaptan a los cambios dentro de su entorno local. A veces, esta lógica es muy 
simple,  como  un  algoritmo  financiero  que  automáticamente  venderá  o  comprará  una  acción  a  un 
precio determinado. O a veces es muy complejo, por ejemplo, por qué una persona compra un artículo 
de moda en particular sobre otro. Sin embargo, el resultado neto es que el sistema puede cambiar y 
no está determinado a seguir un ciclo de vida lineal desde la cuna hasta la tumba. Puede aprender, 
crecer y adaptarse en respuesta a las condiciones internas y externas para renovarse, es decir, volverse 
más o menos sostenible y, por lo tanto, alterar su ciclo de vida. 

La mayoría de las empresas no duran mucho, menos de unas pocas décadas. Hay muchas razones por 
las que esto podría ser, pero un modelo para capturar la dinámica subyacente de cómo evoluciona 
una empresa se llama el algoritmo de exploración y explotación. En sus primeros años, una empresa 
puede  explorar  muchos  productos  o  servicios  diferentes,  pudiendo  girar,  mantenerse  flexible  y 
diversificada. Pero a medida que el negocio se desarrolle, habrá algunos productos que resultarán más 
lucrativos,  y  es  probable  que  el  negocio  los  incremente,  centrándose  en  ellos  y  desarrollando  un 
sistema  de  administración  estructurado  más  formal  a  medida  que  aprovechan  las  economías  de 
escala.  El resultado  de explotar  algunos productos  lucrativos  será  que  la compañía  se volverá más 
Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view
Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
rentable, pero también se auto organizó en un estado más crítico. Un pequeño cambio en el mercado 
que se mueve contra el producto principal del negocio podría destruir la empresa. 

Luego podemos tomar un ejemplo de un negocio que ha diseñado un curso alternativo de desarrollo 
para sí mismo. Google ha generado, desde su inicio, más del 90% de sus ingresos a partir de su único 
servicio  de  búsqueda  web.  Entonces,  ¿por  qué  desarrolla  y  mantiene  un  conjunto  completo  de 
productos que generan ingresos relativamente pequeños? Una teoría es que Google sabe que en un 
mercado que evoluciona rápidamente tiene que estar donde sucederá la próxima gran cosa, ya sea en 
las redes sociales o en el video compartido. Al crear esta diversidad, al seguir invirtiendo los recursos 
obtenidos de la explotación de su servicio central para explorar y generar variedad, puede evolucionar 
mejor y garantizar su sostenibilidad. 

Debido a que los mercados cambian, el clima cambia, todo cambia, para diseñar sistemas sustentables 
es diseñar sistemas que incorporen el cambio y la evolución en su estructura. Para comprender mejor 
este proceso de evolución, analicemos para ver cómo funciona. Sólo hay un puñado de componentes 
clave. Necesitamos poder crear cierta variedad, permitir la adaptación y realizar la selección para ver 
cuáles de los elementos son los más adaptables al entorno en particular. 

En primer lugar, en la producción de variaciones, el sistema tiene que crear muchos tipos diversos. En 
sistemas biológicos, esto se hace mediante la mezcla y deformación de los genes. En el mundo formal 
del desarrollo de productos, esto suele ocurrir en los laboratorios de I + D, pero cuando aprovechamos 
el poder de la creación conjunta, tenemos un nuevo recurso para mezclar y remezclar para crear una 
diversidad infinita. En segundo lugar, la adaptación, estos diversos tipos se ponen en funcionamiento 
para interactuar y adaptarse al entorno. Esto requiere que proporcionemos a los elementos el espacio 
o la autonomía necesarios para que puedan interactuar y adaptarse, bajo su propia lógica, a su propio 
entorno  local.  Por  último,  la  selección.  Se  realiza  un  proceso  de  selección  de  los  elementos  para 
seleccionar el denominado "más apto", es decir, el más adecuado para ese entorno en particular. En 
diseño, esto significa crear bucles de retroalimentación como los sistemas de calificación de usuarios 
para determinar qué productos o servicios realmente funcionan mejor para el usuario final. 

Por lo tanto, hay dos modelos diferentes para el diseño del ciclo de vida de un sistema. En un extremo 
del espectro, tenemos nuestros sistemas lineales tradicionales que probablemente serán más fáciles 
y más rápidos de diseñar, requieren menos inversión y, a menudo, operan más eficientemente en el 
corto recorrido. 

Pero  estarán  sujetos  a  un  ciclo  de  vida  en  descomposición  lineal  cuando  intenten  externalizar  el 
cambio.  En  el otro  extremo del espectro, tenemos  sistemas evolutivos  que  internalizan  el  cambio, 
aprovechando  el  mecanismo  de  la  evolución  para  mantener  un  ciclo  de  vida  cíclico  y  sostenible 
durante un período de tiempo indefinido. Los sistemas complejos operan en un estado de cambio 
constante, ya sea que estemos hablando de redes sociales, aeropuertos o economías emergentes. 

Poder cambiar tan rápido como el cambio mismo significa internalizarlo a través de la integración de 
mecanismos evolutivos en las plataformas que estamos construyendo. La evolución no es un proceso 
místico que solo ocurre en ambientes naturales. Es una característica clave de los sistemas dinámicos, 
ya sea que estemos conscientes de ello o no. Pero al ser consciente de ello, uno puede utilizarlo en 
nuestro diseño para crear sistemas con un ciclo de vida sostenible y cíclico. 

Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view


Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
Arquitectura de sistemas 
Arquitectura Orientada a Servicios 
La arquitectura orientada a servicios (SOA) es un enfoque de la arquitectura de sistemas distribuidos 
que emplea servicios acoplados de manera flexible, interfaces estándar y protocolos para ofrecer una 
integración  transparente  multiplataforma.  Se  utiliza  para  integrar  componentes  ampliamente 
divergentes  al  proporcionarles  una  interfaz  y  un  conjunto  comunes.  de  protocolos  a  través  de  los 
cuales pueden comunicarse dentro de lo que se llama un bus de servicio. En las últimas décadas, la 
arquitectura orientada a servicios ha surgido como un nuevo paradigma de arquitectura de sistemas 
dentro  de  I.T.  como  respuesta  a  tener  que  construir  sistemas  de  software  adaptados  a  entornos 
distribuidos y heterogéneos que Internet ha hecho más prevalentes. 

Existen muchas definiciones para SOA, pero esencialmente es un enfoque arquitectónico para crear 
sistemas construidos a partir de servicios autónomos que se agregan a través de una red. 

SOA apoya la integración de diversos servicios a través de protocolos y procedimientos definidos para 
permitir la construcción de funciones compuestas que se basan en muchos componentes diferentes 
para lograr sus objetivos. Requiere la desagregación de los sistemas monolíticos y la conversión de los 
componentes  individuales  en  servicios  que  luego  están  disponibles  para  ser  reconfigurados  para 
diferentes aplicaciones. 

Imagina que uno quisiera construir una nueva aplicación web que les permita a las personas pagar sus 
boletos  de  estacionamiento  en  línea.  Uno  podría  pasar  años  desarrollando  un  subsistema  que 
funciona como un mapa de calles, y luego otro subsistema para hacer frente a los pagos, y otro para 
el inicio de sesión, la autenticación de usuarios, etc. O simplemente podría hacer uso del servicio de 
mapas de Google, un servicio de pasarela de pago de PayPal y un servicio de inicio de sesión de usuario 
de  Facebook.  Mi  trabajo  entonces  sería  integrar  estos  servicios  diversos  mediante  la  creación  de 
algunos procesos comunes que guían al usuario a través del uso de estos servicios diferentes para 
entregar la funcionalidad deseada. Por lo tanto, en lugar de crear un sistema que se basara en todos 
mis diferentes componentes  internos dentro de mi software bien  limitado, mi nueva aplicación  se 
construiría en su lugar con una arquitectura orientada a los servicios, una arquitectura orientada a los 
servicios. 

Imagina que soy dueño de una cafetería. Mi interés es proporcionar a los clientes alimentos y bebidas 
en un ambiente agradable. Para hacerlo, tengo que reunir muchas cosas diferentes, desde los granos 
de café y el equipo hasta los empleados, etc. Necesito diseñar una plataforma común para que todas 
estas cosas interoperen y entreguen el servicio final. 

Pero  pensemos  en  este  sistema  dentro  del  lenguaje  más  formal  de  SOA.  En  primer  lugar,  cada 
componente del sistema proporciona un servicio, ya sea el empleado que sirve el café o las sillas en 
las  que  se  sienta  la  gente.  Nosotros,  como  diseñadores  del  sistema,  no  estamos  interesados  en  el 
funcionamiento interno de estos componentes porque no necesitamos esa información. 

Lo abstraemos encapsulándolo. Solo el proveedor del servicio necesita conocer la lógica interna del 
componente. Para nosotros, son simplemente servicios. 

Cuando  se  trata  de  un  cliente  que  paga  con  tarjeta  de  crédito,  simplemente  deslizan  su  tarjeta  e 
ingresan el número PIN. Nadie en la tienda entiende cómo se realiza realmente la transacción. Sólo el 
proveedor de servicios financieros tiene esa información. Para el resto de nosotros, se abstrae a través 
de la encapsulación. También podemos observar que el proveedor de servicios financieros tiene un 
control casi completo sobre la lógica que encapsulan, al menos durante el tiempo de ejecución del 
Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view
Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
sistema, como es el caso de muchos otros componentes en el sistema. Esto se llama autonomía de 
servicio. 

Sin embargo, lo que sí necesitamos saber es qué función cumple el componente y cómo interactuar 
con él. Llamamos a esto una interfaz. Cuando uno de nuestros nuevos empleados recoge un paquete 
de café, ella sabe qué es y cómo usarlo porque tiene una etiqueta. También podemos notar el gran 
letrero  amarillo  sobre  el  contenedor  en  la  esquina  que  alienta  a  los  clientes  a  deshacerse  de  sus 
desechos. Esto se llama descubribilidad del servicio. Los servicios se complementan con metadatos 
comunicativos mediante los cuales se pueden descubrir e interpretar de manera efectiva. Podríamos 
decir  que  nuestro  contenedor  está  transmitiendo  la  disponibilidad  de  su  servicio.  Aunque  he 
contratado a un equipo de personal multicultural, existe un acuerdo de que todos hablarán en inglés 
cuando interactúen con otro personal en el taller. Esto se llama un contrato de servicio estandarizado. 
Los servicios se adhieren a un acuerdo de comunicaciones según lo definido colectivamente por uno 
o más documentos de descripción del servicio. 

Como parte de mi negocio, tengo una red de proveedores y personal de mantenimiento. Si necesito 
más personal, llamo a la agencia de contratación y tendré un nuevo empleado a partir de la próxima 
semana. Si la tienda necesita pintura, puedo llamar a mi decorador. Si necesito más mesas, puedo 
comprarlas. Todos estos diferentes servicios son lo que se denomina débilmente acoplado al sistema. 
Esto significa que estos diferentes módulos pueden unirse o salir, acoplarse o desacoplarse del sistema 
según  sea  necesario,  manteniendo  así  su  independencia.  Este  acoplamiento  suelto  permite  el 
aprovisionamiento  dinámico  o  el  desaprovisionamiento  de  recursos  para  mantener  un  mecanismo 
eficaz de equilibrio de carga de los sistemas. 

Por último, una vez que mi pequeña empresa esté en funcionamiento y genere ingresos, es posible 
que desee comenzar otra u otras diez. Pero esta vez en, digamos, el negocio del restaurante o tal vez 
una confitería. Lo bueno que noté es que no tengo que empezar desde cero cada vez. Solo puedo 
extender mi contrato de seguro, ordenar más mesas, usar la misma cuenta bancaria, etc. Esto se llama 
reusabilidad o composabilidad del servicio. Debido a que los servicios son independientes de cualquier 
proceso  en  particular  en  el  que  los  compilé,  es  decir,  cualquiera  de  las  tiendas  que  establezco,  se 
pueden reutilizar, componer y recomponer sin cesar en nuevas configuraciones. 

El  valor  real  de  SOA  llega  cuando  escalamos  las  cosas  al  mundo  de  los  sistemas  complejos,  a  la 
arquitectura  de  las  grandes  empresas,  diseñamos  entornos  urbanos  o  incluso  economías  enteras. 
Debido a su abstracción, la misma arquitectura puede sustentar nuestro diseño en el nivel micro y en 
el nivel macro. Tenemos un conjunto de componentes heterogéneos. Estos componentes pueden ser 
personas de diferentes culturas en una sociedad. Pueden ser diferentes modos de transporte dentro 
de una ciudad, o pueden ser diferentes dispositivos que se conectan a una plataforma de Internet de 
las cosas. 

Creamos un lenguaje genérico que puede usarse para describir todos los componentes del sistema y 
su servicio. Creamos interfaces para los componentes que traducen su idioma o funcionalidad local al 
idioma global. 

Les  damos  un  descriptor  para  describir  la  funcionalidad  de  los  componentes,  la  disponibilidad,  los 
términos, las condiciones y varios otros parámetros para su acoplamiento y la prestación del servicio. 
Creamos un bus de servicio que integra estos componentes funcionales en un sistema completo, y 
creamos una interfaz para que el usuario final interactúe con los servicios que necesita. 

Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view


Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
Plataformas Tecnológicas 
Las  plataformas  tecnológicas  son  sistemas  construidos  sobre  una  arquitectura  de  plataforma  que 
distribuye  el  sistema  en  diferentes  niveles  de  abstracción.  Esto  se  hace  para  diferenciar  entre  las 
funciones  de  la  plataforma  central  y  la  capa  de  aplicación  que  se  encuentra  sobre  estos  servicios 
comunes subyacentes y se basa en ellos. 

Durante las últimas décadas, con el auge de las plataformas de Internet, como App Store o eBay, se 
ha demostrado que son algunos de los servicios más dinámicos, innovadores y de mayor crecimiento. 
Pero, por supuesto, el modelo de plataforma para la arquitectura de sistemas siempre ha estado allí 
desde la invención de las granjas y las fábricas hasta la fabricación de bloques de construcción de Lego. 
Cuando muchas personas ven una nueva tecnología en el trabajo, generalmente no consideran todas 
las piezas que entraron en su creación. Simplemente ven las increíbles capacidades y nunca le dan 
mucha importancia. Sin embargo, dentro de las economías industriales avanzadas, muchos productos 
y  servicios  están  habilitados  por  el  poder  de  la  abstracción.  Son  remixes,  construidos  a  partir  de 
servicios  de  plataformas  que  permiten  el  agrupamiento  interminable  y  el  reagrupamiento  de 
diferentes  componentes.  Wikipedia  define  una  tecnología  de  plataforma  como  una  estructura  o 
tecnología  desde  la  cual  pueden  surgir  varios  productos  sin  el  costo  de  un  nuevo  proceso  de 
introducción.  Para  lograr  esto,  nuestro  sistema  debe  ser  diseñado  para  tener  dos  niveles 
fundamentalmente diferentes, es decir, debe tener una plataforma que brinde los servicios básicos 
que se pueden combinar en diferentes configuraciones en el nivel de la aplicación para entregar varias 
instancias de la tecnología a El usuario final. 

Un ejemplo de una tecnología sin plataforma es un martillo, ya que es un sistema homogéneo. No hay 
diferenciación entre la infraestructura del sistema y su aplicación. Todos ellos son sólo una cosa. Es 
una instancia de un martillo. No puede generar nuevas y diferentes configuraciones de sí mismo. Lo 
mismo se puede decir de un coche. Es una instancia de una tecnología. 

El  usuario  final  obtiene  y  usa  todo  el  asunto.  Para  que  la  comparación  sea  más  clara,  podríamos 
comparar la instancia de un automóvil con una plataforma de automóvil que permite a una compañía 
automotriz  lanzar  varios  vehículos  construidos  sobre  un  chasis  común,  que  es  la  plataforma,  con 
diferentes  motores,  interiores  y  factores  de  forma,  para  la  misma  o  diferentes  vehículos  y  marcas 
dentro de la empresa. 

Probablemente  el  mejor  y  más  claro  ejemplo  de  plataforma  tecnológica  sean  las  computadoras 
personales, la plataforma, en este caso, es el sistema operativo de la computadora. Pero antes de 
poder llegar a la plataforma que está haciendo todo el gran trabajo, necesitamos una base para que 
se siente, es decir, un conjunto de tecnologías habilitadoras. En este caso, nuestra capa de base es 
nuestro hardware de computadora y todo el firmware de bajo nivel que se interconecta entre esta y 
el  sistema  operativo.  Pero  dentro  de  una  empresa,  nuestra  capa  de  base  podría  ser  el  sistema 
económico del que forma parte, los servicios públicos como la seguridad, el estado de derecho y el 
mantenimiento de los recursos naturales que permitirían que nuestra empresa funcione. Lo mismo 
sería cierto de una ciudad, se basa y es habilitado por un sistema de infraestructura nacional. 

La  siguiente  capa  desde  los  cimientos  o  el  hardware  es  la  plataforma,  el  sistema  operativo  de  la 
computadora en este caso. Básicamente, administra los recursos y servicios de la computadora que 
requerirán las aplicaciones. La plataforma toma los recursos disponibles para ella de la infraestructura 
y  crea  los  bloques  de  Lego  con  los  que  nos  utilizaremos  para  construir  cosas.  Estos  recursos  se 
presentan  a  los productores en  el nivel  de  aplicación a  través  de API o  interfaces  de  programa  de 
aplicación.  En  una  fábrica  de  automóviles,  la  plataforma  sería  la  tecnología  física  en  la  línea  de 
producción para crear las piezas del automóvil. Nuestros empleados pueden reorganizar esta línea de 
Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view
Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
producción  para crear diferentes vehículos. En el ejemplo  de una ciudad, este nivel de  plataforma 
podría ser las utilidades urbanas con las que los contratistas se interconectarán para construir oficinas 
y espacios residenciales, y habrá un conjunto estándar de procedimientos para que lo hagan. En la 
parte superior del sistema operativo se encuentra la capa de aplicación. Los desarrolladores utilizan 
los  servicios  proporcionados  por  el  sistema  operativo  y  los  agrupan  en  varias  combinaciones 
diferentes para entregar una aplicación completa al usuario final. Las aplicaciones en la App Store, los 
autos que salen de nuestra línea de producción, los edificios en una ciudad o los productos financieros 
ofrecidos  por  un  banco  son  ejemplos  de  la  capa  de  aplicación,  configuraciones  infinitas  y 
reconfiguraciones en respuesta a las necesidades percibidas y comentarios de usuario final. 

Por  último,  la  capa  de  interfaz  de  usuario.  Cuando  el  usuario  final  enciende  su  computadora,  no 
quieren ver los 0 y los 1 o las líneas de código. Quieren ver cosas que entiendan, imágenes de archivos 
y agradables menús desplegables. La mayoría de las personas que interactúan con los sistemas que 
estamos diseñando lo harán para obtener la máxima funcionalidad con el mínimo esfuerzo. Para que 
lo  hagan,  necesitamos  una  capa  que  traduzca  la  lógica  interna  del  sistema  a  un  lenguaje  que 
entiendan.  Esta  interfaz  puede  ser  el  panel  de  control  de  nuestro  automóvil  o  la  recepcionista  de 
nuestro hospital que le dice a la gente a dónde ir. Sea lo que sea, se trata del usuario final, el idioma 
que hablan, lo que necesitan y la forma de traducir la funcionalidad del sistema en una solución que 
involucra la participación del usuario final. 

Continuando con nuestra analogía del mundo de I.T. podríamos llamar a esto una pila de soluciones, 
el conjunto completo de subsistemas y capas de abstracción para proporcionar a las plataformas una 
funcionalidad  completa  sin  dependencias.  Es  importante  tener  en  cuenta  que  a  medida  que 
avanzamos en cada nivel de abstracción hacia el usuario final, estamos simplificando la complejidad y 
el nivel de compromiso requerido. Aquellos que trabajan en el nivel de la plataforma requieren una 
comprensión  profunda  del  sistema  y  tienen  que  lidiar  con  toda  su  complejidad,  pero  están 
relativamente sin restricciones. 

Aquellos que se involucran con el sistema en la aplicación y el nivel de usuario están limitados por lo 
que los proveedores de la plataforma han diseñado, pero con esta tecnología, podrán hacer más con 
menos entradas y participación. El resultado neto es que debemos obtener un efecto de amplificación 
a medida que avanzamos en la pila de soluciones debido a la mayor facilidad de interacción. Por lo 
tanto, habrá muchos más desarrolladores de aplicaciones que desarrolladores de sistemas operativos 
y, a su vez, habrá muchos más usuarios finales que desarrolladores de aplicaciones, y este debería ser 
el caso donde estemos utilizando este modelo de plataforma para arquitectura de sistemas. 

Finalmente,  podríamos  preguntarnos:  ¿por  qué  deberíamos  preocuparnos  por  las  plataformas 
tecnológicas? Hay varias razones por las que esta arquitectura debería beneficiarnos. En primer lugar, 
al distribuir el sistema en varias capas, podemos abstraer la complejidad con la que los usuarios o 
productores del servicio tienen que lidiar. Todo tiene su propio espacio. En segundo lugar, podemos 
evitar  redundancias  si  la  plataforma  proporciona  los  servicios  comunes  que  requieren  todos  los 
componentes.  Podemos  reducir  la  necesidad  de  que  cada  componente  en  la  capa  de  aplicación 
reinvente  la  rueda.  En  tercer  lugar,  las  plataformas  son  la  arquitectura  ideal  para  crear  sistemas 
generados  por  usuarios.  Por  lo  tanto,  podemos  aprovechar  el  efecto  de  amplificación  del  que 
hablamos  antes  para  hacer  más  con  menos,  ayudando  a  mantener  un  sistema  central  ágil.  Y,  por 
último,  la  arquitectura  de  la  plataforma  es  ideal  para  construir  sistemas  flexibles,  adaptativos  y 
evolutivos. Dada su independencia de las instancias fijas, el sistema puede seguir innovando en el nivel 
de la aplicación para continuar regenerándose. 

Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view


Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
Diseño modular 
El  diseño  modular  es  un  patrón  de  diseño  que  se  basa  en  la  idea  de  componentes  modulares 
autónomos  que  se  pueden  crear  de  forma  independiente,  configurar  fácilmente  y  reconfigurar  en 
diferentes sistemas. 

Al diseñar un sistema, una de nuestras consideraciones arquitectónicas clave será decidir si estamos 
construyendo un sistema homogéneo o un sistema modular. Por ejemplo, en el diseño de la estructura 
mecánica de una nueva impresora 3D, se podrían adoptar dos enfoques diferentes. En primer lugar, 
la decisión de adoptar un enfoque monolítico, en cuyo caso todo el marco sería de plástico. O uno 
podría adoptar un enfoque modular, utilizando tuercas y pernos para sujetar los subcomponentes y 
combinar estos subsistemas para construir todo el sistema mecánico como un compuesto de módulos. 
Una  arquitectura  homogénea  integra  y  restringe  los  subcomponentes  en  un  sistema  global.  Por 
ejemplo,  construir  mi  casa  con  concreto  de  masa  vertida  en  lugar  de  bloques  de  construcción 
individuales. El libro Mac de Unibody a Apple es otro ejemplo de una arquitectura homogénea. 

El diseño modular, en contraste, es una arquitectura de sistemas que distribuye todo el sistema en un 
conjunto de distintos módulos que pueden desarrollarse de forma independiente y luego conectarse 
juntos.  Ejemplos  de  esto  podrían  ser  una  placa  de  circuito  electrónico  hecha  de  componentes 
eléctricos autónomos o una casa hecha de módulos prefabricados que se conectan entre sí. 

La  modularidad  es  una  característica  clave  de  los  sistemas  de  ingeniería  compleja  (con  Internet 
nuevamente como un paradigma de la arquitectura modular) por varias razones. 

En  primer  lugar,  por  definición,  los  sistemas  complejos  están  altamente  interconectados.  Por  eso 
modelamos y hablamos de ellas como redes. En estos sistemas altamente interconectados, el costo 
de  la  interacción  será  muy  bajo.  Este  bajo  costo  de  colaboración  hace  que  sea  mucho  más  fácil 
desagregar  los  sistemas  homogéneos,  distribuirlos  en  módulos  y  luego  reconectarlos  en  un  todo 
compuesto a través de la red. La globalización económica podría ser un ejemplo de esto, ya que las 
barreras y el costo del comercio internacional se han reducido. Han surgido cadenas de suministro 
modulares donde los procesos de producción y las cadenas de suministro se desagregan y distribuyen 
debido  a  la  facilidad  de  interacción  a  través  de  redes  logísticas  globales  y  telecomunicaciones.  En 
segundo lugar, los sistemas complejos están compuestos de elementos autónomos, lo que significa 
que no podemos restringirlos completamente dentro de un modelo integrado de arriba hacia abajo. 

La  creación  de  componentes  otorga  a  cada  elemento  un  grado  de  autonomía,  lo  que  le  permite 
adaptarse. 

Entonces,  ¿qué  necesitamos  para  diseñar  un  sistema  modular?  Bueno,  necesitamos  al  menos  tres 
cosas:  un  módulo,  una  interfaz  y  un  conjunto  de  protocolos  para  interconectar  esos  módulos.  En 
primer lugar, para crear módulos, debemos desagregar nuestro sistema monolítico. En informática, 
esto  se  llama  separación  de  preocupaciones.  Estamos  tratando  de  captar  lo  que  hace  que  cada 
componente sea una preocupación separada, es decir, autónoma y diferente de todo lo demás. Al 
mirar un mapa del mundo, veremos que está distribuido en los países. Cada uno de estos países es 
diferente de alguna manera y tiene cierto grado de autonomía. Cómo desagregar el sistema es muy 
importante. Si trazamos líneas arbitrarias en la arena sin el debido respeto a los sistemas culturales y 
económicos que están detrás de ellos, entonces surgirán problemas más adelante. El concepto de un 
módulo es tanto definir distintas funciones separadas como encapsular esta función, abstrayendo así 
su mecánica interna del sistema en general. Esto se llama caja negra (black‐boxing). 

En ciencia e ingeniería, una caja negra es un dispositivo, sistema u objeto que puede verse en términos 
de sus características de entrada, salida y transferencia sin ningún conocimiento de su funcionamiento 
Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view
Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
interno. Definimos y visualizamos estas entradas, salidas y características funcionales con una interfaz 
que le dirá a otros módulos en el sistema qué hará este elemento. Es un poco como el perfil de una 
persona en LinkedIn. Sus perfiles son la interfaz que te dice lo que hacen. La interfaz también debe 
decirle qué entregar al módulo y qué esperar a cambio, como cuando compra un automóvil nuevo, 
habrá  un  póster  en  la  ventana  que  le  indicará  que  le  dé  una  cierta  cantidad  de  gasolina  y  le 
transportará una cierta cantidad de combustible. distancia. Un automóvil, como muchas otras cosas, 
es una caja negra, no necesita saber qué pasa dentro de él para conducirlo. Por último, necesitamos 
alguna  forma  de  unir  estos  módulos,  lo  que  podríamos  llamar  acoplamiento.  Se  llama  pobre 
acoplamiento cuando los módulos tienen un alto grado de autonomía, o pueden estar estrechamente 
acoplados, lo que significa que están más limitados por su interacción con otros módulos y el sistema. 
Este acoplamiento también requiere un conjunto de protocolos para definir los términos, acuerdos y 
lenguaje común a través de los cuales los módulos interactúan. 

Las  ventajas  del  diseño  modular  incluyen:  Primero,  puede  permitir  la  colaboración  distribuida  y  la 
resolución  de  problemas.  Podemos  estar  lidiando  con  un  sistema  complejo  muy  grande  que  no 
requeriría  nada  menos  que  un  genio  o  un  héroe  para  comprenderlo  y  manejarlo.  A  través  de  la 
modularización del sistema, varias funciones se pueden distribuir más fácilmente en un equipo grande 
sin que ningún miembro del equipo cree o entienda todo el sistema. 

En segundo lugar, los módulos se pueden reutilizar infinitamente, como los ladrillos Lego. Podemos 
combinarlos  y  combinarlos,  lo  que  hace  que  sea  más  probable  que  sea  una  solución  sostenible. 
También  debería  ser  mucho  más  fácil  administrar  y  mantener  el  ciclo  de  vida  del  sistema.  Los 
componentes individuales que muestran fatiga pueden reemplazarse sin tener que reemplazar todo 
el sistema, y deberíamos poder hacerlo con un tiempo de inactividad mínimo. 

En tercer lugar, los sistemas modulares son mucho más versátiles, adaptables y se pueden personalizar 
más fácilmente. El diseño modular empleado en la industria automotriz facilita que los concesionarios 
de  automóviles  ofrezcan  una  amplia  variedad  de  personalizaciones,  en  las  que  simplemente  se 
"incorporan"  a  las  actualizaciones,  como  un  motor  más  potente  o  neumáticos  de  temporada.  Por 
último, el diseño modular puede ser un mecanismo de contagio muy importante debido a que una 
taza es un diseño monolítico, una grieta se propagará fácilmente a través de la estructura, haciendo 
que todo el sistema sea disfuncional. Al diseñar para la autonomía, reducimos las dependencias dentro 
del sistema y los módulos actúan como amortiguadores naturales para la propagación de desastres y 
para mantener la seguridad. 

Las desventajas de la arquitectura modular incluyen: Primero, debido a que todo se ha desagregado, 
todo tendrá que pasar por alguna red de interacciones para que tenga lugar. A menos que el costo de 
la interacción sea muy bajo, supondrá una carga muy alta para el sistema. Entonces, si mi banco toma 
50 dólares para procesar todas las traducciones financieras de mi tarjeta de crédito, el sistema me 
llevaría a la bancarrota rápidamente. La modularización excesiva puede llevar a un sistema fracturado. 
Digamos que tengo 100 personas para alimentar y entro a la tienda a comprar algunas bananas, pero 
cada  una  está  envuelta  en  un  módulo  de  plástico  con  una  etiqueta.  Bueno,  voy  a  pasar  bastante 
tiempo desenvolviendo cada uno y generando una gran cantidad de residuos en el proceso. A menos 
que  los  protocolos  y  las  interfaces  de  los  módulos  estén  bien  diseñados,  podemos  perder  mucho 
tiempo negociando continuamente los contratos entre los módulos. Si tuvieras que hacer tus compras 
en un mercado local en el que tuvieras que regatear todo en un idioma que no entiendas, es probable 
que tu respuesta sea buscar un supermercado donde puedas obtener todo de una vez. Cuando los 
contratos  entre  módulos  son  difíciles  y  costosos  de  negociar,  queremos  reducir  el  número  de 
interacciones y, por lo tanto, hacer que el sistema sea más homogéneo. 

Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view


Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
Por último, los sistemas modulares pueden ser buenos para muchas cosas, pero no están optimizados 
para el rendimiento. Normalmente, un diseño homogéneo ofrecerá la solución más rápida y sencilla 
con el mejor rendimiento, al menos en el corto plazo. Si busca la opción más económica y fácil para 
una  silla,  pala,  carretilla  o  la  mayoría  de  los  bienes  de  consumo,  es  probable  que  sea  una  masa 
homogénea  de plástico  moldeado por inyección. La  arquitectura  de  los  sistemas modulares  puede 
haber existido desde la construcción de las pirámides egipcias, pero Internet nos está mostrando que 
al construir una plataforma con protocolos efectivos que reducen los costos de interacción, podemos 
usar la modularización y la distribución masiva de componentes como una forma altamente efectiva 
de diseñar y construir sistemas complejos. 

Arquitectura dirigida por eventos 
La arquitectura dirigida por eventos (EDA) es un patrón de diseño que se basa en la producción, la 
detección  y  la  reacción  a  los  eventos  que  tienen  lugar  en  el  tiempo.  Es  un  paradigma  de  diseño 
normalizado  para  contextos  dinámicos,  asíncronos  y  orientados  a  procesos;  Se  aplica  más 
ampliamente dentro de la ingeniería de software. 

La tecnología de la información es clave para habilitar un nuevo mundo de arquitectura impulsada por 
eventos. Cuando comenzamos a poner chips en todo tipo de dispositivos y objetos, instrumentamos 
nuestras tecnologías y ponemos los teléfonos inteligentes en manos de muchos, el mundo que nos 
rodea deja de ser estúpido y estático y comienza a ser más dinámico, adaptable, y las cosas comienzan 
a suceder en tiempo real. 

Cuando las luces de una casa o la puerta de un garaje están equipadas con sensores y actuadores, ya 
no  necesitan  que  una  persona  los  encienda.  En  vez  de  eso,  esperan  en  un  estado  de  inquietud, 
esperando que ocurra algún evento al cual puedan responder instantáneamente. 

Esto  contrasta  con  muchos  de  nuestros  sistemas  tradicionales  en  los  que  los  componentes  están 
restringidos por algún mecanismo de coordinación centralizado, y la información a menudo tiene que 
ser enrutada desde el nivel local a un mecanismo de control centralizado, luego procesada por lotes y 
devuelta  al  componente  para  responder  después  de  algún  tiempo.  Los  componentes  dentro  de 
sistemas complejos  pueden  adaptarse localmente, lo  que  significa  que  a menudo  pueden  actuar  y 
reaccionar en tiempo real. A esto se agrega el hecho de que muchos de estos sistemas complejos de 
ingeniería son redes de componentes no asociados que se acoplan de manera flexible. Realmente no 
tienen ninguna estructura. A veces ni siquiera existen hasta que ocurre algún evento. 

Cuando  realizo  una  consulta  en  un  motor  de  búsqueda,  es  posible  que  mi  computadora  esté 
conectada a un centro de datos en Texas. Pero la próxima vez que haga la misma consulta, podría 
estar interactuando con un servidor en Corea del Sur. Dependiendo del equilibrio de carga del sistema 
en ese instante en el tiempo, la estructura de la red se define dinámicamente durante el tiempo de 
ejecución del sistema. 

Una  arquitectura  dirigida  por  eventos  consiste  principalmente  en  creadores  de  eventos, 
administradores de eventos y consumidores de eventos. El creador del evento, que es la fuente del 
evento, solo sabe que el evento ha ocurrido y emite una señal para indicarlo. Un administrador de 
eventos, como su nombre lo indica, funciona como intermediario en la gestión de eventos. Cuando el 
administrador recibe la notificación de un evento de un creador, puede aplicar algunas reglas para 
procesar  el  evento.  Pero,  en  última  instancia,  los  eventos  se  transfieren  a  los  consumidores  de 
eventos, donde un solo evento puede iniciar numerosas actividades posteriores. Los consumidores 
son entidades que necesitan saber que el evento ha ocurrido y normalmente se suscriben a algún tipo 
de administrador de eventos. Por ejemplo, un servicio de alojamiento en línea donde los creadores de 
Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view
Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
eventos  (es  decir,  los  dueños  de  propiedades)  transmiten  la  disponibilidad  de  su  alojamiento  al 
administrador de eventos (la plataforma en línea), que los agregaría, y los consumidores de eventos 
(personas  que  buscan  alojamiento)  podrían  suscribirse  a  la  lista  de  correo  de  la  plataforma 
enviándoles notificaciones de nuevos listados relevantes. 

Algunas  de  las  ventajas  de  usar  una  arquitectura  dirigida  por  eventos  son:  EDA  se  adapta 
particularmente bien a la estructura de sistemas complejos de ingeniería. No necesitamos definir un 
sistema formal bien delimitado de qué componentes forman parte o no. 

En cambio, los componentes pueden permanecer autónomos, pudiendo acoplarse y desacoplarse en 
diferentes  redes  en  respuesta  a  diferentes  eventos.  Por  lo  tanto,  los  componentes  pueden  ser 
utilizados y reutilizados por muchas redes diferentes. 

En segundo lugar, la versatilidad. La arquitectura controlada por eventos permite que los sistemas se 
construyan  de  una  manera  que  facilite  una  mayor  capacidad  de  respuesta  porque  los  sistemas 
controlados  por  eventos  son,  por  diseño,  normalizados  para  entornos  impredecibles,  no  lineales  y 
asíncronos. Pueden ser altamente versátiles y adaptables a diferentes circunstancias. A continuación, 
EDA  se  optimiza  inherentemente  para  el  análisis  en  tiempo  real.  Dentro  de  este  paradigma 
arquitectónico, tenemos una capacidad mucho mayor para encontrar, analizar y luego responder a 
patrones  en  el  tiempo  antes  de  que  ocurran  los  eventos  críticos,  mientras  que,  tradicionalmente, 
pasamos  mucho  tiempo  buscando  en  el  espejo  retrovisor  analizando  datos  sobre  cosas  que 
sucedieron  ayer  o  el  año  pasado,  la  arquitectura  dirigida  por  eventos  permite  un  mundo  más 
preventivo. En lugar de esperar a que mi carro se descomponga y luego dejarlo en el garaje por unos 
días  para  arreglarlo,  podemos  anticiparnos  a  todo  esto  haciendo  que  el  carro  envíe  un  flujo  de 
información a un centro de datos que lo analiza y dispara eventos cuando se identifican los patrones 
que conducen a la actividad disfuncional. 

Este es el mundo de Big Data en tiempo real, análisis avanzado y procesamiento complejo de eventos. 
El procesamiento de eventos complejos es un método para rastrear y analizar flujos de información 
que combina datos de múltiples fuentes para inferir eventos o patrones que sugieren circunstancias. 
El  objetivo  del  procesamiento  de  eventos  complejos  es  identificar  eventos  significativos  (como 
oportunidades o amenazas) y responder a ellos antes de que ocurran o lo más rápido posible después 
de que ocurran. El procesamiento complejo de eventos va de la mano con una arquitectura dirigida 
por eventos. 

Las desventajas de EDA incluyen riesgos de seguridad y mayor complejidad. Debido a que los sistemas 
de  EDA  a  menudo  están  extremadamente  acoplados  y  son  altamente  distribuidos:  no  siempre 
sabemos  exactamente  qué  componentes  son  parte  del  sistema  y  las  dependencias  entre  ellos.  El 
sistema puede volverse opaco y algún pequeño evento podría desencadenar una cadena imprevista 
de  relaciones.  Un  buen  ejemplo  de  esto  es  el  comercio  algorítmico,  que  es  un  paradigma  de  la 
arquitectura basada en eventos. Esto involucra algoritmos de computadora diseñados para realizar 
transacciones  financieras  en  un  determinado  evento,  generalmente  comprando  o  vendiendo  una 
garantía en algún cambio en el precio de mercado. Nadie tiene información completa o parcial sobre 
qué algoritmos existen, qué hacen todos y cómo pueden estar interconectados. 

Esta situación dentro de una infraestructura crítica es claramente un grave problema de seguridad. 
Un corolario de esto es que las cosas pueden volverse muy complejas debido a la naturaleza abierta e 
inherente no lineal de este tipo de patrón de diseño. 

Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view


Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
Métodos 
Design thinking ‐ pensamiento de diseño 
El pensamiento de diseño es un proceso de diseño que nos permite resolver problemas complejos. 
Combina la experiencia profunda del usuario final, el pensamiento de sistemas, la creación rápida de 
prototipos iterativos y la retroalimentación de múltiples partes interesadas para guiarnos a través de 
las etapas sucesivas de nuestro diseño. 

El pensamiento de diseño, como los sistemas complejos, es interdisciplinario. Atraviesa los dominios 
tradicionales al reconocer que todo en nuestro mundo está diseñado. Por lo tanto, saca al diseño de 
su zona de confort en la construcción de sillas y elegantes tazas de café para aplicarlo en todas las 
áreas, desde el diseño de organizaciones efectivas hasta la creación de servicios de salud y servicios 
financieros. 

El  proceso  de  diseño  es  un  poco  como  volar  un  globo  y  luego  dejar  que  todo  el  aire  salga  de  él 
lentamente.  Requiere  una  fase  inicial  de  pensamiento  divergente  en  la  que  hacemos  preguntas 
expansivas  para  explorar  el  contexto  completo  y  muchas  opciones  diferentes  antes  de  tener  que 
limitar nuestra visión a una única solución y refinarla a través del pensamiento convergente. 

Pero  este  proceso  no  es  mecánico.  Es  más  evolutivo,  lo  que  significa  que  no  podemos  prever 
completamente el producto final desde el inicio. Surge y, por lo tanto, debemos pensar en el futuro 
de manera abierta. Eso significa tener confianza en la posibilidad de que un resultado desconocido 
sea factible, ya que todo el punto del proceso de diseño es que crearemos algo que aún no existe y, 
por lo tanto, es imprevisto. Pero no tenemos que reinventar la rueda del proceso de diseño cada vez. 
Hay algunas etapas generales que diferentes personas definirán de diferentes maneras, pero vamos a 
hablar sobre algunas de las fases más identificadas en el proceso de pensamiento de diseño. Incluyen 
las etapas de investigación, creación de ideas (conceptualización), creación de prototipos y pruebas. 
Estos pasos no necesariamente siguen un camino lineal. Pueden ocurrir simultáneamente y repetirse. 

En primer lugar, la fase de investigación. Lo que estamos haciendo aquí no es crear una cosa. Lo que 
estamos  creando  es  una  solución,  que  es  una  solución  a  un  problema  que  tiene  una  persona  o 
personas en particular. Por lo tanto, necesitamos entender el contexto dentro del cual existirá nuestro 
sistema  y  dónde  se  encuentra  en  relación  con  otras  cosas  dentro  de  ese  entorno.  Es  solo  cuando 
vemos el contexto dado en el que opera una versión preexistente del sistema que obtenemos una 
visión  completa  de  por  qué  es  así,  y  de  este  modo  podemos  empezar  a  concebir  una  solución 
mejorada. Cuando no entendamos el contexto, entonces es probable que simplemente vayamos en 
círculos, reaccionando a la solución preexistente. Una generación de diseñadores decide que las líneas 
rectas son lo mejor, exaltando todas sus virtudes, haciendo que todo sea cuadrado y rectangular con 
esquinas puntiagudas, hasta que la próxima generación de diseñadores se presente y esté harta de las 
líneas rectas. Así que comienzan una nueva revolución de curvas y esquinas redondeadas, hasta que 
todos se cansan de todas las curvas y vuelven a descubrir la línea recta, y así sucesivamente. 

Al comprender el contexto y la historia del contexto para un diseño, podemos ver sus parámetros, las 
ventajas  y  desventajas  de  ambos  extremos  y  tratar  de  encontrar  una  solución  integradora.  Si 
recordamos que siempre hay dos niveles cualitativamente diferentes de un sistema complejo, el local 
y el global, como diseñadores del sistema lo trataremos principalmente en la escala macro. Pero al 
final del día, todo se desarrolla a nivel local y debemos entender el contexto local donde las personas 
interactúan  y  viven  sus  vidas  a  través  de  estos  productos  y  servicios.  La  gente  no  siempre  puede 
expresar  exactamente  cuál  es  el  problema  o  saber  exactamente  qué  es  lo  que  quiere,  por  lo  que 
necesitamos una inmersión profunda para que lo armemos, estudios etnográficos, mapas de viajes de 
Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view
Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial
los clientes, todas las formas de experiencia del usuario final y, lo más importante, la empatía. Esta 
fase de investigación es una parte engorrosa y confusa del proceso que a menudo se pasa por alto 
para  alcanzar  un  resultado  final  rápidamente.  Sin  embargo,  con  estos  complejos  sistemas  de 
ingeniería, es fundamental construir una base sólida con la que avanzar. 

Si  la  fase  inicial  de  empatía  y  comprensión  del  contexto  tiene  que  ver  con  el  "por  qué",  la 
conceptualización  se  trata  del  "qué".  Dentro  de  estos  sistemas  complejos,  habrá  múltiples  partes 
interesadas involucradas, y debemos considerar las perspectivas de cada uno. La solución debe ser 
viable para cada uno de los múltiples actores involucrados, es decir, desde la perspectiva humana de 
los usuarios finales que tienen que vivir con el producto terminado, desde la perspectiva económica 
de las empresas u organizaciones que van a entregar la solución, desde la perspectiva tecnológica de 
lo que es físicamente posible, y podríamos agregar, desde una perspectiva ambiental de lo que es 
sostenible dados los recursos disponibles. 

Tenemos  que  ser  conscientes  de  que  todos  aportan  algún  tipo  de  perspectiva  a  este  proceso  de 
conceptualización, y cada una de estas perspectivas tendrá algún tipo de filtro. Es solo mediante la 
identificación y eliminación de estos filtros que podemos pensar realmente fuera de la caja donde 
ocurre la innovación real. Una forma de lograrlo es a través de la colaboración. El pensamiento de 
diseño sugiere que las mejores respuestas se producen cuando 5 personas trabajan en un problema 
durante  un  día,  en  lugar  de  que  una  persona  trabaje  en  él  durante  cinco  días.  Desde  todas  estas 
diferentes  perspectivas,  podemos  llegar  a  lo  que  es  posible  y  lo  que  es  factible  para  todos.  La 
conceptualización requiere creatividad, pero también racionalidad, pensamiento creativo para crear 
continuamente posibilidades, y luego pensamiento analítico para racionalizar su viabilidad dentro de 
las restricciones dadas. Una vez que tenemos una idea de lo que estamos construyendo, entonces 
necesitamos  saber  cómo  construirlo,  y  la  creación  de  prototipos  es  el  vehículo  a  través  del  cual 
experimentamos para descubrir esto. La creación de prototipos puede ser un arte y un oficio. Requiere 
habilidades  prácticas  para  construir  e  imaginación  para  cerrar  la  brecha  entre  una  maqueta  y  el 
producto terminado. La idea es fallar temprano. Muchos sistemas complejos son grandes cosas como 
las redes de transporte. Los construyes una vez y luego te quedas con ellos durante muchas décadas. 
La creación de prototipos nos ofrece un entorno seguro para seguir fallando hasta que tengamos éxito. 

Por último, el despliegue y la retroalimentación. Diseñar algo se relaciona mucho con el aprendizaje, 
y el mejor aprendizaje es apoyado por la experiencia. Experiencia en el funcionamiento de un sistema 
que  estamos  diseñando,  y  solo  se  puede  obtener  realmente  al  ponerlo  en  funcionamiento  en  su 
entorno operativo porque es solo cuando está en su contexto final que podemos obtener una vista 
completa  de  360  grados  de  él.  Hacemos  esto  creando  un  producto  viable  mínimo,  la  versión  más 
básica de nuestro sistema que es completamente funcional y de la cual podemos obtener comentarios 
reales. Luego, podemos definir métricas de rendimiento clave y comenzar nuestra contabilidad de qué 
tan  bien está entregando  su  funcionalidad. Luego  iteramos en  esto, obteniendo  retroalimentación 
cada vez que entra en nuestro sistema de control para ver si estamos evolucionando en la dirección 
correcta.  Pero,  por  supuesto,  el  diseño  no  se  detiene  allí.  Para  que  el  producto  o  servicio  sea 
sostenible, debemos integrar este mecanismo evolutivo en su ciclo de vida completo. 

Documento original https://drive.google.com/file/d/0B0vDIvd2_-lnSjVKUmppelVtdGs/view


Web site: http://complexitylabs.io/books/
Traducido para fines académicos por Edwin Valencia Castillo evalencia@unc.edu.pe
No es una traducción oficial

También podría gustarte