ISO/IEC 25010 El modelo de calidad de producto
Un vocabulario común para decir qué significa que un software sea «de calidad». Define nueve características y sus subcaracterísticas, para especificar, medir y evaluar la calidad de un producto antes de construirlo y mientras se construye.
Se basa en la edición ISO/IEC 25010:2023. Las definiciones están parafraseadas, no copiadas de la norma; para un uso formal consulta el texto oficial en las fuentes.
Qué es
Un modelo, no una lista de chequeo
Ordena la calidad en características y subcaracterísticas. No dice qué valores debe cumplir tu producto: eso lo decides tú según su contexto.
Calidad del producto
Mide propiedades del software y del sistema en sí: qué tan rápido, seguro o mantenible es. La experiencia de quien lo usa se trata aparte, en el modelo de calidad en uso.
Parte de SQuaRE
Pertenece a la serie ISO/IEC 25000, que también cubre cómo medir, especificar y evaluar la calidad.
Las nueve características
Cada característica trae su pregunta guía, sus subcaracterísticas, un ejemplo de requisito medible y cómo se suele comprobar. Los ejemplos usan una agenda de citas y son ilustrativos.
- 1. Adecuación funcional
- 2. Eficiencia de desempeño
- 3. Compatibilidad
- 4. Capacidad de interacción
- 5. Fiabilidad
- 6. Seguridad
- 7. Mantenibilidad
- 8. Flexibilidad
- 9. Protección
-
01 Adecuación funcional Functional suitability
¿Hace lo que tiene que hacer, y lo hace bien?
Grado en que el producto ofrece funciones que cubren las necesidades declaradas e implícitas, en las condiciones de uso especificadas.
Subcaracterísticas
- Completitud funcional (Functional completeness)
- Las funciones cubren todas las tareas y objetivos especificados.
- Corrección funcional (Functional correctness)
- Las funciones entregan resultados correctos, con la precisión necesaria.
- Pertinencia funcional (Functional appropriateness)
- Las funciones facilitan las tareas, sin pasos innecesarios.
- Ejemplo de requisito medible
- El 100 % de los criterios de aceptación de las historias del release pasan; el cálculo de montos coincide al centavo con el caso de referencia.
- Cómo se comprueba
- Pruebas funcionales y de aceptación (TC, UAT) trazadas a cada historia.
-
02 Eficiencia de desempeño Performance efficiency
¿Responde a tiempo y con los recursos que tiene?
Grado en que el producto cumple sus funciones dentro de los tiempos y el rendimiento especificados, usando los recursos de forma eficiente.
Subcaracterísticas
- Comportamiento temporal (Time behaviour)
- Tiempos de respuesta y tasas de procesamiento dentro de lo exigido.
- Utilización de recursos (Resource utilization)
- Cantidad y tipo de recursos usados (CPU, memoria, red, costo) dentro de lo exigido.
- Capacidad (Capacity)
- Límites máximos del sistema (usuarios, datos, transacciones) dentro de lo exigido.
- Ejemplo de requisito medible
- p95 de la consulta de citas menor a 300 ms con 200 solicitudes por segundo; uso de memoria por instancia menor a 512 MB.
- Cómo se comprueba
- Pruebas de carga y de estrés, y métricas de producción.
-
03 Compatibilidad Compatibility
¿Convive e intercambia datos con otros sistemas?
Grado en que el producto puede intercambiar información con otros y cumplir sus funciones compartiendo el mismo entorno.
Subcaracterísticas
- Coexistencia (Co-existence)
- Funciona compartiendo entorno y recursos sin perjudicar a otros productos.
- Interoperabilidad (Interoperability)
- Intercambia información con otros sistemas y la usa correctamente.
- Ejemplo de requisito medible
- La API cumple su contrato publicado; exporta citas en formato iCalendar válido.
- Cómo se comprueba
- Pruebas de contrato (OAS) y de integración con los sistemas vecinos.
-
04 Capacidad de interacción Interaction capability
¿Las personas pueden usarlo para lograr lo que necesitan?
Grado en que usuarios específicos pueden interactuar con el producto a través de su interfaz para intercambiar información y completar tareas en distintos contextos.
Subcaracterísticas
- Reconocibilidad de la adecuación (Appropriateness recognizability)
- El usuario reconoce si el producto sirve para lo que necesita.
- Aprendizabilidad (Learnability)
- Se aprende a usar en un tiempo especificado.
- Operabilidad (Operability)
- Es fácil de operar y controlar.
- Protección frente a errores del usuario (User error protection)
- Evita que el usuario cometa errores de operación.
- Compromiso del usuario (User engagement)
- Presenta funciones e información de forma atractiva y motivadora.
- Inclusividad (Inclusivity)
- Lo pueden usar personas con distintos contextos, capacidades y circunstancias.
- Asistencia al usuario (User assistance)
- Personas con un amplio rango de características logran sus objetivos con él.
- Autodescriptividad (Self-descriptiveness)
- Muestra la información necesaria para que su uso sea evidente, sin esfuerzo excesivo.
- Ejemplo de requisito medible
- Sin violaciones WCAG 2.2 AA; el 90 % de usuarios nuevos agenda su primera cita en menos de 2 minutos sin ayuda.
- Cómo se comprueba
- Revisión de accesibilidad automática y manual, y pruebas con usuarios.
-
05 Fiabilidad Reliability
¿Funciona de forma continua, también cuando algo falla?
Grado en que el producto cumple sus funciones en las condiciones y el tiempo especificados.
Subcaracterísticas
- Ausencia de fallos (Faultlessness)
- Funciona sin fallos en operación normal.
- Disponibilidad (Availability)
- Está operativo y accesible cuando se necesita.
- Tolerancia a fallos (Fault tolerance)
- Sigue operando como se espera pese a fallos de hardware o software.
- Recuperabilidad (Recoverability)
- Ante una interrupción, recupera los datos y vuelve al estado deseado.
- Ejemplo de requisito medible
- Disponibilidad mensual de 99,5 %; tras una caída se recupera en menos de 15 minutos (RTO) con pérdida máxima de 5 minutos de datos (RPO).
- Cómo se comprueba
- Monitoreo de disponibilidad, simulacros de recuperación y pruebas de falla.
-
06 Seguridad Security
¿Protege la información y resiste ataques?
Grado en que el producto protege la información y los datos, de modo que personas y sistemas solo accedan según su nivel de autorización, y se defiende de ataques.
Subcaracterísticas
- Confidencialidad (Confidentiality)
- Los datos solo son accesibles para quien está autorizado.
- Integridad (Integrity)
- Evita el acceso o la modificación no autorizada de datos y programas.
- No repudio (Non-repudiation)
- Las acciones quedan probadas de forma que no se pueden negar después.
- Responsabilidad (Accountability)
- Las acciones se pueden atribuir de forma única a quien las hizo.
- Autenticidad (Authenticity)
- Se puede comprobar que un sujeto o recurso es quien dice ser.
- Resistencia (Resistance)
- Sigue operando y protegiendo los datos mientras está bajo ataque.
- Ejemplo de requisito medible
- Datos confidenciales cifrados en reposo y en tránsito; cada acceso a datos de pacientes queda en un registro de auditoría inmutable.
- Cómo se comprueba
- Análisis de seguridad, pruebas de intrusión y revisión del plan de seguridad (SSP).
-
07 Mantenibilidad Maintainability
¿Se puede cambiar sin miedo y con poco esfuerzo?
Grado de eficacia y eficiencia con que el producto se puede modificar para mejorarlo, corregirlo o adaptarlo.
Subcaracterísticas
- Modularidad (Modularity)
- Un cambio en un componente tiene impacto mínimo en los demás.
- Reusabilidad (Reusability)
- Sus partes se pueden usar en otros sistemas o en la construcción de otros.
- Analizabilidad (Analysability)
- Se puede evaluar el impacto de un cambio y diagnosticar fallas.
- Modificabilidad (Modifiability)
- Se puede modificar sin introducir defectos ni degradar la calidad.
- Capacidad de prueba (Testability)
- Se pueden definir criterios de prueba y ejecutarlas con eficacia.
- Ejemplo de requisito medible
- Cobertura de pruebas mayor a 80 % en el dominio; un cambio típico se entrega en menos de 2 días; ningún módulo depende de forma cíclica de otro.
- Cómo se comprueba
- Análisis estático, métricas de cobertura y tiempo de entrega de cambios.
-
08 Flexibilidad Flexibility
¿Se adapta a otros entornos y a más demanda?
Grado en que el producto se puede adaptar a cambios en sus requisitos, contextos de uso o entorno.
Subcaracterísticas
- Adaptabilidad (Adaptability)
- Se adapta a otro hardware, software o entorno de uso.
- Escalabilidad (Scalability)
- Maneja más o menos carga ajustando su capacidad.
- Instalabilidad (Installability)
- Se instala o desinstala con éxito en un entorno especificado.
- Reemplazabilidad (Replaceability)
- Puede reemplazar a otro producto con el mismo propósito, en el mismo entorno.
- Ejemplo de requisito medible
- Escala de 2 a 10 instancias sin intervención manual; un entorno nuevo se crea en menos de 30 minutos desde cero.
- Cómo se comprueba
- Pruebas de escalado, infraestructura como código y despliegues repetibles.
-
09 Protección Safety
¿Evita poner en riesgo a personas, bienes o el entorno?
Grado en que el producto, en las condiciones definidas, evita llegar a un estado que ponga en peligro la vida, la salud, los bienes o el medio ambiente.
Subcaracterísticas
- Restricción operativa (Operational constraint)
- Restringe su operación a parámetros o estados seguros ante un peligro.
- Identificación de riesgos (Risk identification)
- Identifica eventos u operaciones que exponen a riesgos inaceptables.
- A prueba de fallos (Fail safe)
- Ante una falla, pasa automáticamente a un modo de operación seguro.
- Advertencia de peligro (Hazard warning)
- Advierte de riesgos inaceptables para que se pueda reaccionar a tiempo.
- Integración segura (Safe integration)
- Mantiene la protección al integrarse con otros componentes.
- Ejemplo de requisito medible
- Si falla la sincronización de agenda, el sistema bloquea nuevas reservas en vez de permitir dos pacientes en el mismo horario y avisa a recepción.
- Cómo se comprueba
- Análisis de peligros, pruebas de modos de falla y revisión de riesgos.
Calidad en uso
La calidad del producto es una causa; la calidad en uso es el efecto: qué tan bien les va a las personas cuando usan el producto en su contexto real. Ese modelo se describe en una norma hermana, ISO/IEC 25019, con tres características:
- Beneficio (beneficialness): cuánto aporta usar el producto a quienes lo usan y a otros interesados.
- Ausencia de riesgo (freedom from risk): cuánto mitiga los riesgos económicos, de salud, para la vida humana y para el entorno y la sociedad.
- Aceptabilidad (acceptability): cuánto confían los interesados en el producto, incluido que cumpla las reglas y leyes que le aplican.
Las subcaracterísticas de ISO/IEC 25019 no se detallan aquí: solo pude confirmar parte de ellas en fuentes secundarias.
La familia SQuaRE
ISO/IEC 25010 es una pieza de la serie ISO/IEC 25000, «Systems and software Quality Requirements and Evaluation». El modelo dice qué es calidad; las otras divisiones dicen cómo medirla, especificarla y evaluarla.
- 2500n
Gestión de la calidad
Visión general y guía de la serie (por ejemplo ISO/IEC 25000).
- 2501n
Modelos de calidad
ISO/IEC 25010 (producto), ISO/IEC 25019 (calidad en uso), ISO/IEC 25012 (calidad de datos).
- 2502n
Medición de la calidad
Métricas para cada característica (por ejemplo ISO/IEC 25023 para la calidad de producto).
- 2503n
Requisitos de calidad
Cómo especificar requisitos de calidad (ISO/IEC 25030).
- 2504n
Evaluación de la calidad
Proceso de evaluación (ISO/IEC 25040).
Cómo usarlo en DFDy
En el modelo DFDy, ISO/IEC 25010 es el vocabulario del paso NFR: sirve para no olvidar ninguna dimensión de calidad y para nombrarlas igual en todo el equipo.
- 01
Elegir
Del PRD y del SAD, elige las características que importan para este producto. No todas pesan igual: una agenda médica prioriza fiabilidad y seguridad; un juego, capacidad de interacción.
- 02
Medir
Por cada característica elegida, escribe una meta con número y método de medición. Esa lista es el NFR.
- 03
Bajar a historias
Cada meta se vuelve criterio de aceptación en las HdU que la afectan.
- 04
Probar
Cada criterio tiene un caso de prueba (TC): carga para desempeño, simulacro para recuperabilidad, auditoría para accesibilidad.
Anexo: cambios respecto de la edición 2011
Para quien conoce la edición anterior: la de 2011 tenía ocho características e incluía el modelo de calidad en uso. La de 2023 tiene nueve y deja la calidad en uso a ISO/IEC 25019.
| En 2011 | En 2023 | Tipo de cambio |
|---|---|---|
| Usabilidad | Capacidad de interacción | Renombrada y ampliada |
| Portabilidad | Flexibilidad | Renombrada; agrega escalabilidad |
| (no existía) | Protección (safety) | Característica nueva |
| Madurez | Ausencia de fallos | Subcaracterística reemplazada |
| Estética de la interfaz | Compromiso del usuario | Subcaracterística reemplazada |
| Accesibilidad | Inclusividad y asistencia al usuario | Subcaracterística dividida |
| (no existía) | Autodescriptividad | Subcaracterística nueva |
| (no existía) | Resistencia (seguridad) | Subcaracterística nueva |
| Modelo de calidad en uso | ISO/IEC 25019:2023 | Sale de la 25010 a su propia norma |
- Capacidad de interacción: Antes se llamaba usabilidad (usability). Agrega inclusividad y autodescriptividad; la estética de la interfaz pasa a ser compromiso del usuario; la accesibilidad se divide en inclusividad y asistencia al usuario. Ver la característica
- Fiabilidad: Madurez (maturity) se reemplaza por ausencia de fallos (faultlessness). Ver la característica
- Seguridad: Agrega resistencia (resistance). Ver la característica
- Flexibilidad: Antes se llamaba portabilidad (portability). Agrega escalabilidad (scalability). Ver la característica
- Protección: Característica nueva en 2023. Ver la característica
Fuentes
- ISO/IEC 25010:2023. Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — Product quality model.
- ISO/IEC 25019:2023. SQuaRE — Quality-in-use model.
- iso25000.com. ISO/IEC 25010: características y subcaracterísticas.
- arc42 Quality Model. «Update on ISO 25010, version 2023».
- Sonar. «ISO/IEC 25010 Explained: 9 Software Quality Characteristics That Matter».