Bryan Alejandro Sánchez Ramírez
En los últimos segundos se oyen unas voces. Pensé que había gente en mi casa pero era el video jajaja
Una documentación de arquitectura clara convierte ideas en decisiones prácticas y compartidas. Aquí se explica cómo usar modelos y vistas para comunicar con precisión, fijar restricciones de diseño, negociar requerimientos funcionales y no funcionales, y mantener la documentación siempre alineada con la implementación. Como señala George Box: todo modelo es incorrecto, pero útil.
¿Para qué sirve la documentación de arquitectura?
La documentación organiza el conocimiento técnico en un modelo que guía y describe el sistema. Cumple dos funciones clave: restringir decisiones de diseño pendientes y describir el estado actual cuando ya existe implementación. Además, facilita la comunicación entre roles, la estimación de recursos y la medición de calidad.
¿Qué diferencia hay entre arquitectura restrictiva y descriptiva?
¿Cómo evitar la erosión de la arquitectura?
¿Quién usa el modelo y cómo aporta valor?
La documentación sirve a múltiples roles, cada uno con objetivos distintos. Bien redactada, evita malentendidos y reduce retrabajo. En metodologías ágiles, el propio equipo genera y mantiene el modelo; en enfoques tradicionales, puede percibirse como restricción, pero orienta el desarrollo hacia el objetivo común.
¿Cómo negocian arquitecto y analista los requerimientos?
¿Qué necesita operaciones para estimar costos?
¿Qué obtiene el equipo de desarrollo?
¿Cómo se coordinan equipos y calidad con la documentación?
Cuando hay productos externos o múltiples equipos, la documentación asegura interoperabilidad, define contratos y evita sorpresas. También permite a calidad medir lo prometido: disponibilidad, seguridad y conformidad con la arquitectura prescripta.
¿Cómo asegurar interoperabilidad con productos externos?
¿Cómo planifica el gestor de proyecto con el modelo?
¿Qué mide el equipo de calidad o QA?
¿Tienes experiencias, métricas o prácticas que te hayan funcionado para mantener la documentación sincronizada con la implementación? Compártelas en los comentarios y enriquezcamos las mejores prácticas del equipo.
Bryan Alejandro Sánchez Ramírez
En los últimos segundos se oyen unas voces. Pensé que había gente en mi casa pero era el video jajaja
Francisco Rafael Del Roio
Buenas,
¿Existe alguna estrategia para diseñar una arquitectura sin necesidad de emplear modelos visuales?
Soy incapacitado visual y llegué al curso precisamente buscando una estrategia para resolver dicho problema.
Saludos,
Kevin Fiorentino
Compañero, es muy interesante lo que planteas de dispone de alguna herramienta de diseño de arquitectura de software que sea accesible. Desconozco realmente si existe alguna que se adapte a usuarios no videntes. Te recomiendo que busques si existe alguna, seguramente las hay aunque no sé si particularmente para desarrollo de software. Saludos!
Agustín Pérez
Arquitecto vs. :
Gerardo Alvarado Garcia
Juan Carlos Ortiz Romero
Arquitecto va a trabajar con : o Analista: Negociación de requerimientos o Operaciones: Cálculo de recursos o Desarrolladores: Restricciones y libertades o Product Managers: Defición de interoperabilidad o Project Manager: Gestión de equipos y recursos o Calidfad: Métricas y conformidad
Juan Carlos Ortiz Romero
Arquitectura restrictiva Restringe las decisiones que quedan por tomar (por ejemplo cuándo se le da a un equipo de desarrollo)
Arquitectura descriptiva Documenta las decisiones tomadas y describe el estado actual del sistema, restricciones del pasado más las actuales 🤖 El arquitecto va a trabajar con diferentes personas para garantizar que la arquitectura se ejecute correctamente: Analista: Negociación de requerimientos Operaciones: Cálculo de recursos Desarrolladores: Restricciones y libertades para desarrollar Diseñadores de productos dependientes (Product Managers): Definición de interoperabilidad. Comunicación entre productos. Requerimientos de comunicación como una API. Sincronizar equipos Gestores de proyecto (Project Manager): Gestión de equipos y recursos Equipo de calidad (QA): Métricas y conformidad
Sergio Andrés Ruiz
Quality assurance the best!!
Agustín Pérez
Arquitectura Restrictiva vs Arquitectura descriptiva
Julian Mauricio Perez Mora
Cuando la documentación no refleja el código real, ocurre lo que llamamos erosión arquitectónica. El sistema vivo muta por su cuenta y los diagramas se convierten en mentiras históricas. Si un nuevo desarrollador entra al equipo y lee una arquitectura que ya no existe, tomará decisiones basadas en suposiciones falsas, introduciendo bugs o rompiendo integraciones. Para evitar esto, debes tratar la documentación como un ente vivo, evolucionando hacia una arquitectura descriptiva. Esto significa que cada vez que se implementa un cambio estructural en el código, los diagramas y modelos deben actualizarse en el mismo ciclo de trabajo. Herramientas como Architecture Decision Records (ADRs) o diagramas generados automáticamente a partir del código ayudan a mantener esta sincronización perfecta entre lo que se planeó y lo que realmente está en producción.
Julian Mauricio Perez Mora
Piensa en la arquitectura prescriptiva como los carriles y señales de una autopista. No le dices al equipo de desarrollo exactamente cómo conducir el auto, sino por dónde es seguro ir y cuáles son los límites de velocidad. Al documentar estas restricciones de diseño, eliminas la fatiga de decisión en los desarrolladores. Ellos ya no tienen que debatir qué base de datos usar o cómo estructurar las capas principales; simplemente se enfocan en resolver la lógica de negocio dentro de ese marco seguro. Para aplicarlo, define claramente los límites (por ejemplo, solo nos comunicaremos mediante eventos asíncronos) y deja que el equipo tenga total libertad creativa dentro de esas fronteras. Esto acelera el desarrollo y evita cuellos de botella donde el equipo tenga que consultar cada pequeño detalle técnico.