- 1

Transición de programador empírico a arquitecto de software
02:46 - 2

Análisis de licitaciones con inteligencia artificial
08:48 - 3

Monorepositorios como herramienta de gestión de código fuente
13:00 - 4

Reglas de control de versiones en monorepositorio con trunk-based
05:58 - 5

Behavior Driven Development para alinear equipos técnicos y de negocio
09:25 - 6

Notación estándar C4 para diagramas de arquitectura
08:00 - 7

Generadores de sitios estáticos para documentación de proyectos
04:58 - 8

Uso de herramientas de IA para mejorar arquitectura de software
05:05 quiz de Creando Entornos de Software Saludables
Patrón Strangler Fig para evolucionar arquitectura de software
Clase 14 de 29 • Curso de Arquitectura de Software Aplicada
Contenido del curso
- 9

Estructura del archivo Architecture.md para proyectos de software
12:00 - 10

Domain-driven design para sistemas de comercio exterior
06:50 - 11

Técnicas pre-mortem y cinco why para prevenir fallos en sistemas
03:58 - 12

Técnicas de conversación e intervención directa en arquitectura
02:49 quiz de Siguiendo una Arquitectura Limpia
- 19

Diferencias entre mensajes y eventos en arquitectura de servicios
03:36 - 20

Patrón productor consumidor vs fan-in y fan-out en microservicios
03:11 - 21

Manejo de excepciones en el patrón productor-consumidor
02:48 - 22

Patrón comparing consumers para procesamiento en tiempo real
02:28 - 23

Patrón Process Manager para integrar actividades humanas y sistemas
02:33 quiz de Patrones de integración
- 24

Patrones de persistencia: durable state vs event sourcing
08:15 - 25

Máquinas de estado finito en la capa de presentación de software
04:52 - 26

Técnicas SAST, DAST y pen testing para seguridad en software
01:36 - 27

Funciones fitness para evaluar arquitecturas de software
04:20 - 28

Observabilidad en sistemas con OpenTelemetry e ingeniería del caos
04:45
Mejorar la arquitectura de un sistema es esencial para mantenerlo flexible y sostenible. El uso de métricas de arquitectura y patrones como strangler fig facilita la transición de implementaciones antiguas a nuevas, sin interrumpir la operación del sistema. Este enfoque resulta práctico cuando hay que negociar cambios con stakeholders no técnicos y al gestionar arquitecturas que requieren evolucionar según la carga y las necesidades del negocio.
¿Cómo ayudan las métricas de arquitectura a negociar prioridades?
Las métricas permiten discutir prioridades con equipos como product owners y managers. Su uso ayuda a decidir cuándo y qué modificar, justificando técnicas o cambios arquitectónicos frente a quienes toman decisiones sin conocimientos técnicos profundos.
¿Qué es y cómo se aplica el patrón strangler fig en la arquitectura?
Cuando un componente está demasiado enlazado a una dependencia (por ejemplo, una base de datos), el patrón strangler fig permite reemplazarlo gradualmente. Se empieza separando dependencias y luego se migran comportamientos en fases. El proceso es:
- Separar comportamiento y dependencias en nuevos componentes.
- Cambiar dependencias sin reescribir toda la lógica al inicio.
- Modificar comportamientos manteniendo compatibilidad temporal con la lógica previa.
- Finalmente, eliminar el código anterior para completar la transición.
El avance de esta técnica puede medirse en las métricas arquitectónicas, facilitando ajustes futuros y alineándose con metodologías ágiles.
¿Por qué elegir entre arquitectura limpia y tajadas verticales?
El crecimiento del sistema y la incorporación de nuevos casos de uso generan complejidad y dependencia cruzada. Surgirán dilemas sobre mantener una arquitectura limpia (separación horizontal de capas) o transitar hacia tajadas verticales (casos de uso encapsulados con sus propios modelos y servicios).
- Tajadas verticales agrupan funcionalidades completas y fomentan autonomía.
- Rompen parcialmente el principio DRY (Don't Repeat Yourself) por posible duplicidad de código.
- Aumentan la cohesión dentro de cada componente específico.
¿Cuándo usar tajadas verticales?
Si la arquitectura limpia se vuelve difícil de leer y mantener, separar en vertical slices puede reducir tiempos de integración y facilitar el trabajo en paralelo. Varios equipos pueden trabajar en distintas funcionalidades reutilizando partes del modelo de negocio, mejorando así la productividad.
¿Cómo gestionar la mezcla de estilos arquitectónicos?
Combinar estilos arquitectónicos es común cuando el volumen y complejidad crecen. No es necesario mantener la pureza del diseño original. Lo importante es contar con:
- Métricas, guías y automatizaciones para asegurar la calidad.
- Registros de decisiones arquitectónicas (Architectural Decision Records), entendiendo que deben adaptarse y no son reglas rígidas.
- Adaptabilidad al cambio, para soportar entradas o salidas de miembros del equipo y cambios en las condiciones del entorno.
Consistencia y medición de calidad son las claves para mantener un sistema evolutivo y saludable, permitiendo transiciones exitosas en el tiempo y aceptando la variación como parte natural del desarrollo.