Arquitecto de la torre de marfil

Arquitecto de la torre de marfil

Autores: Marco Fernando Cruz Mendoza; Erick Estuardo Muñoz Escalante

Palabras clave: Arquitectura de software, torre de marfil, erosión arquitectónica, desarrollo de software, toma de decisiones, ITA.

Página 25 de 52

Introducción:

La arquitectura de software permite definir la estructura de un sistema y orientar las

decisiones necesarias para su desarrollo. Sin embargo, cuando estas se toman ignorando la

realidad del proyecto y con poca comunicación con el equipo encargado de implementarlas,

puede surgir una brecha entre el diseño y la construcción. Esta situación se puede relacionar

con la problemática del arquitecto de la torre de marfil.

El presente artículo explora las dificultades que surgen cuando las decisiones arquitectónicas

se alejan de las condiciones reales del desarrollo. También busca destacar la importancia de la

comunicación y colaboración entre arquitectos y desarrolladores de software, para favorecer

la retroalimentación y considerar las diferentes perspectivas sobre el proyecto.

Desarrollo:

La arquitectura de software cumple una función importante en el desarrollo de software,

debido a que establece la estructura y la comunicación entre los distintos componentes que

conforman un sistema. Sin embargo, surge la siguiente interrogante: ¿Qué pasaría si el

arquitecto encargado se apega a reglas y estándares «irreales» para establecer el modelo de

desarrollo que se utilizará en la construcción del software?

La problemática de la torre de marfil es una metáfora utilizada para hacer referencia a una

posición de aislamiento, asociada con figuras que desempeñan un rol de liderazgo. Como se

ilustra en la Figura 1, este aislamiento puede favorecer una cadena de desconexiones que

culmina en la erosión arquitectónica del sistema. En contraste, la comunicación constante y la

colaboración entre arquitectos y desarrolladores pueden favorecer una arquitectura más

adaptable y alineada con las necesidades reales del proyecto.

Figura 1. Comparación de los efectos de la toma de decisiones aislada y colaborativa en la arquitectura de software. Fuente: elaboración propia.

arquitectura de software. Fuente: Elaboración propia.

Debido al rol de liderazgo del arquitecto de software, puede presentarse la problemática de la

torre de marfil cuando sus decisiones se alejan de las herramientas, los procesos y las

necesidades reales del equipo. Esta desconexión puede dificultar la implementación de la

arquitectura propuesta y favorecer diferencias entre el diseño y el sistema construido.

Un ejemplo puede presentarse cuando un arquitecto decide implementar una solución cloud

ready basada en microservicios, Redis y Kubernetes en un sistema on-premise altamente

restrictivo. Desde el punto de vista administrativo, el diagrama de arquitectura puede parecer

lógico e impecable. Sin embargo, para el equipo de desarrollo la problemática no se resuelve,

sino que se agrava, debido a que el diseño asume conectividad permanente y alta

disponibilidad en la nube, ignorando las restricciones del negocio y la naturaleza offline de

los sistemas de facturación.

En este caso, la disponibilidad y la escalabilidad constituyen atributos de calidad que orientan

la decisión arquitectónica, pero implican un trade-off frente a las restricciones de

conectividad y las necesidades operativas del sistema. Entonces, ¿cómo pueden atenuarse los

efectos negativos asociados con la problemática de la torre de marfil en la arquitectura de software? Según Emmanuel Valverde Ramos, desde una perspectiva de equipo, es posible

Página 26 de 52

●​ Reuniones casuales: realizar reuniones en un contexto de intercambio de ideas.

●​ Registrar tiempos entre ciclos: obtener datos relevantes sobre deficiencias.

Conclusiones:

La problemática del arquitecto de torre de marfil demuestra que una arquitectura no debe

evaluarse únicamente por su calidad en el diseño, sino también por su capacidad para

adaptarse a las condiciones reales de su implementación. Cuando no existe una alineación

entre los objetivos de ambas perspectivas se pueden generar diferencias entre la estructura

planeada y el producto final, dando como resultado problemas como la erosión

arquitectónica. Como recomendación, debe existir una revisión y comunicación frecuente

entre el arquitecto y los desarrolladores de software, de manera que la toma de decisiones se

pueda contrastar con la realidad del proyecto. Es importante encontrar un equilibrio entre

ambas perspectivas, de modo que la visión del arquitecto tampoco se vea limitada, para que

se puedan incorporar soluciones con capacidad de evolución, pero sin agregar complejidad

innecesaria.

Referencias bibliográficas:

Baabad, A., Zulzalil, H., Hassan, S., & Baharom, S. Characterizing the Architectural Erosion

Metrics: A Systematic Mapping Study. IEEE Access, 10 (2022): 22915–22940.

https://doi.org/10.1109/ACCESS.2022.3150847

Uzun, B., & Tekinerdogan, B. Detecting deviations in the code using architecture view-based

drift analysis. Computer Standards & Interfaces, 87 (2024): 103774.

https://doi.org/10.1016/j.csi.2023.103774.

Alami, A., Krancher, O., & Paasivaara, M. The journey to technical excellence in agile

software development. Information and Software Technology, 150 (2022): 106959.

https://doi.org/10.1016/j.infsof.2022.106959

Valverde Ramos, E. The Ivory Tower Architect. The Tech Lead Journal, Substack (2024).

https://emmanuelvalverderamos.substack.com/p/th e-ivory-tower-architect

Ver diseño original de las páginas
Página 25 de la Revista ECYS XXIX
Página 26 de la Revista ECYS XXIX