- 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
Técnicas de conversación e intervención directa en arquitectura
Clase 12 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
En el mundo del desarrollo de software, la interacción con los stakeholders tiene una influencia directa en la arquitectura y la calidad del sistema. Una comunicación efectiva, junto con herramientas como el behavior-driven development y el pre-mortem, permite anticipar necesidades, detectar áreas de mejora y adaptar las soluciones técnicas antes de que surjan problemas en producción.
¿Cómo influyen las conversaciones con stakeholders en las prioridades del equipo?
Las técnicas de conversación pueden generar cambios inmediatos en las prioridades. Por ejemplo, los hallazgos durante los pre-mortem pueden llevar al equipo a replantear tareas y al arquitecto a extender el diseño inicial. La comunicación ayuda a detectar escenarios que requerirán intervención directa, asegurando que el sistema evolucione en sincronía con las expectativas del negocio.
¿De qué manera interviene el arquitecto después de un pre-mortem?
El arquitecto asume un rol activo tras realizar un pre-mortem, incorporando nuevos escenarios de prueba para validar el comportamiento global del sistema bajo condiciones especiales. Esto se alinea con el enfoque de behavior-driven development. Algunas acciones concretas incluyen: - Escribir nuevos tests para features ya existentes. - Establecer backgrounds comunes para simular condiciones de semilla. - Definir escenarios positivos y negativos que reflejen los riesgos identificados previamente.
Un ejemplo práctico es validar la compatibilidad entre facturas de importación y exportación, asegurando que el sistema maneje correctamente las excepciones y errores.
¿Qué formas de intervención directa puede tomar un arquitecto sobre el código?
El arquitecto puede influir directamente implementando: - Pruebas de concepto para explorar alternativas, nuevos diseños o herramientas. - Patrones de manejo de excepciones, transmitiendo buenas prácticas al resto del equipo. - Patrones de manejo de transacciones de negocio, incluyendo transacciones distribuidas, que suelen ser complejas para muchos desarrolladores.
Estas acciones permiten que la arquitectura se mantenga actualizada y alineada con las necesidades técnicas y del negocio.
¿Cómo se prepara la arquitectura para evolucionar?
La combinación de comunicación efectiva, pruebas constantes y refactorización crea el entorno ideal para la evolución arquitectónica. Aplicar técnicas de refactorización de forma continua revela cuándo el diseño necesita adaptarse o evolucionar hacia nuevos estilos. Existen métricas objetivas que permiten identificar estos momentos críticos y en próximos módulos se explorarán estrategias para hacer frente a los cambios emergentes, garantizando la calidad y sostenibilidad del sistema.
¿Qué opinas sobre la intervención directa del arquitecto en estos procesos? Cuéntanos tu experiencia o tus dudas en los comentarios.