Skip to content

📖 Resumen: Responsabilidades, Manejo de Incertidumbre y Antipatrones (Wikipedia & O'Reilly) ​

Fuente Oficial Original: Wikipedia - Software architect
Basado en: Fundamentals of Software Architecture (Mark Richards & Neal Ford, O'Reilly Media).


1. El Problema Real: Alinear Requerimientos de Negocio con Atributos de Calidad ​

El rol principal de un arquitecto no es programar todas las funciones, sino traducir las metas estratégicas del negocio en Atributos de Calidad del Sistema (Requerimientos No Funcionales):

┌────────────────────────────────────────────────────────┐
│               El Mapeo Estratégico del Arquitecto      │
│                                                        │
│  🎯 Objetivo de Negocio  ──(Mapeo)──> ⚙️ Atributo QAR │
│  • Alta Satisfacción   ─────────────> Tolerancia a Fallas│
│  • Fusiones / M&A      ─────────────> Interoperabilidad │
│  • Menor Presupuesto   ─────────────> Simplicidad       │
│  • Time-to-Market      ─────────────> Desplegabilidad   │
└────────────────────────────────────────────────────────┘

2. Ciclo para Manejar la Incertidumbre y Componentes ​

Según Neal Ford y Mark Richards, los arquitectos lidian constantemente con la ambigüedad. Para definir el tamaño adecuado de los componentes (Right-Sizing) y las unidades de despliegue (Quanta), se utiliza un ciclo iterativo:


3. Antipatrones Comunes en la Toma de Decisiones ​

Cuando los arquitectos toman decisiones de diseño, suelen emerger dos antipatrones recurrentes:

Antipatrón¿En qué consiste?Riesgo / ConsecuenciaSolución de Ingeniería
Parálisis por Análisis (Analysis Paralysis)Demorar o evitar decisiones por miedo a equivocarse.Retrasos en el desarrollo y bloqueo del equipo.Last Responsible Moment: Tomar decisiones en el último momento responsable con datos suficientes y validar con el equipo de desarrollo.
Decisiones Olvidadas / Por EmailTomar acuerdos arquitectónicos en hilos de correo o chats sin registro formal.Discusiones circulares repetitivas y pérdida de contexto histórico.ADRs (Architecture Decision Records): Documentar contexto, decisión y trade-offs en Markdown dentro del repositorio de código.

4. Estructura Estándar de un ADR (Architecture Decision Record) ​

Para garantizar una única fuente de la verdad accesible para todo el equipo:

  1. Título y Estado: Número correlativo y estado (Propuesto, Aceptado, Reemplazado).
  2. Contexto del Problema: Fuerzas en juego, restricciones y necesidades del negocio.
  3. Decisión Tomada: La elección arquitectónica específica adoptada.
  4. Consecuencias y Trade-offs: Beneficios obtenidos y compromisos asumidos.