Atributos de Calidad: los "-ilities"
Nivel intermedio — dominar los atributos de calidad principales, sus conflictos, y un método para priorizarlos según contexto.
El problema
Un sistema puede funcionar y ser imposible de mantener. Puede ser mantenible pero caerse bajo carga. Puede escalar pero ser inseguro.
Situación típica: el equipo entrega a tiempo, el sistema funciona en las demos. En producción con usuarios reales: latencia de 5 segundos, caídas cada semana, cada feature nuevo tarda el triple de lo estimado. Nadie definió qué significaba "funcionar bien" más allá de los requerimientos funcionales. // lo no-funcional se paga caro cuando se descubre en producción
Los 8 atributos fundamentales
| Atributo | Qué es | Cómo se mide | Ejemplo |
|---|---|---|---|
| Disponibilidad | % de tiempo operativo | Uptime, MTBF, MTTR | 99.9% uptime |
| Escalabilidad | Manejar crecimiento de carga | Usuarios concurrentes, req/s | 100 → 10.000 usuarios sin degradación |
| Rendimiento | Velocidad de respuesta | Latencia (p50/p95/p99), throughput | p95 < 200ms en APIs críticas |
| Seguridad | Protección contra accesos no autorizados | Vulnerabilidades, compliance | Cifrado en tránsito y reposo |
| Mantenibilidad | Facilidad para modificar/extender | Tiempo por cambio, complejidad ciclomática | Feature simple en <1 semana |
| Testeabilidad | Facilidad para verificar comportamiento | Cobertura, tiempo de suite | Suite completa en <10 min |
| Confiabilidad | Consistencia bajo condiciones variables | Tasa de errores | <0.1% de error en transacciones |
| Observabilidad | Entender el estado interno | Tiempo para diagnosticar | Incidente diagnosticable en <15 min |
Conflictos entre atributos
No puedes maximizar todos los atributos a la vez. Mejorar uno frecuentemente degrada otro:
Cuándo priorizar qué
| Prioriza estos atributos cuando... | Contexto típico |
|---|---|
| Disponibilidad + Rendimiento | E-commerce, trading, gaming |
| Seguridad + Compliance | Fintech, healthcare, gobierno |
| Mantenibilidad + Testeabilidad | Productos de larga vida, equipos grandes |
| Escalabilidad + Observabilidad | SaaS, plataformas, APIs públicas |
"99.9% uptime", "p95 < 200ms", "80% de cobertura" son ejemplos de este material, no cifras que debas copiar en tu próximo proyecto. Conecta con la lección anterior: qué atributo priorizar — y cuánto — depende de qué estás optimizando y qué estás dispuesto a sacrificar. Un MVP no necesita el mismo SLA que un sistema de pagos.
Practica: sistema de citas médicas
Define la matriz de priorización de atributos de calidad para un sistema que: permite a pacientes agendar citas, envía recordatorios, maneja información médica sensible (compliance tipo HIPAA), y opera 24/7 con picos en horario laboral.
Para cada uno de los 8 atributos: prioridad (alta/media/baja) + una línea justificando con el contexto del sistema.