Cómo validar arquitectura con ATAM y métricas

Clase 39 de 43Curso Profesional de Arquitectura de Software

Contenido del curso

Atributos de calidad

Patrones de arquitectura

Diseño de una arquitectura

Resumen

Validar una arquitectura de software requiere método, métricas y disciplina. Aquí se explica cómo combinar ATAM, atributos de calidad y ciclos ágiles para tomar mejores decisiones, detectar tradeoffs como mantenibilidad vs eficiencia, y convertirlos en acciones medibles con umbrales y alertas.

¿Cómo se valida una arquitectura antes y durante el desarrollo?

La validación cambia según el contexto: en enfoques tradicionales se decide antes de desarrollar; en enfoques ágiles se revalida en cada iteración. Lo clave es que todas las decisiones se expliciten, se analicen y reciban feedback continuo de las partes interesadas.

¿Qué aporta ATAM al diseño?

  • Integra objetivos de negocio, atributos de calidad y escenarios con la arquitectura propuesta.
  • Da voz a todos los stakeholders para priorizar lo importante.
  • Ayuda a derivar decisiones a partir de tradeoffs explícitos.
  • Identifica puntos sensibles, como mantener una traza de auditoría cuando hay riesgos legales.
  • Diferencia riesgos reales de supuestos: por ejemplo, iniciar sin riesgo de disponibilidad si no hay contrato de nivel de servicio.
  • Genera feedback: los riesgos descubiertos vuelven como nuevas decisiones de arquitectura.

¿Qué tradeoffs y riesgos se identifican?

  • Priorizar mantenibilidad puede reducir eficiencia.
  • Necesitar auditoría puede impactar complejidad y desempeño.
  • No todo es riesgo al inicio: sin compromisos formales, la disponibilidad puede no ser crítica todavía.
  • Los riesgos detectados orientan ajustes y nuevas estrategias.

¿Cómo medir atributos de calidad con métricas accionables?

ATAM es un proceso formal de análisis y no requiere el sistema en ejecución. Para comprobar en software real, se necesita medir: definir métricas, crear pruebas automatizadas y establecer umbrales que activen alertas y trabajo correctivo.

¿Qué elementos componen una medición efectiva?

  • Una métrica por cada atributo de calidad relevante para la aplicación.
  • Prueba automatizada que capture datos en tiempo real.
  • Umbrales configurados de tolerancia para saber qué tan bien o mal estamos.
  • Visibilidad de las métricas para el equipo.
  • Alertas cuando se cruza un umbral.

¿Cómo aplicar disponibilidad y seguridad?

  • Medir disponibilidad con ping o health check y hacerla visible.
  • Definir objetivo, por ejemplo, 95% de disponibilidad mensual.
  • Si hay >5% de tiempo fuera de servicio en el mes, disparar alerta y repriorizar trabajo.
  • Observar seguridad mediante señales de ataques y tratarlos como eventos que activan mejora.
  • Extender la lógica a cualquier otro atributo de calidad.

¿Cómo evoluciona la arquitectura en metodologías ágiles?

En ágil, la arquitectura emerge del equipo autogestionado y debe evolucionar junto con el sistema. Para lograrlo, se integra la arquitectura al ciclo: planeamiento, ejecución, medición y retroalimentación continua.

¿Qué prácticas integrar en el ciclo del sprint?

  • Hablar de arquitectura y revisar métricas y umbrales en el planeamiento del sprint.
  • Priorizar el backlog con foco en áreas arquitectónicas que requieren trabajo.
  • Asignar esfuerzo para implementar mejoras priorizadas.
  • Tras el despliegue, usar retrospectivas para detectar fallas en mantenibilidad, seguridad o eficiencia.
  • Recibir feedback proactivo con métricas y alertas programadas.
  • Incluir tests automatizados como alertas en el pipeline de despliegue.
  • Vigilar métricas del código además de métricas en ejecución.
  • Cerrar el ciclo al replanificar el sprint y reevaluar decisiones de arquitectura.

¿Tienes dudas sobre tus métricas o umbrales de calidad? Cuéntame tu contexto y comenta qué estás midiendo hoy.