Factory

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. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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).
  7. 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.
  8. 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.
  9. 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.

  1. 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.

  2. 02

    Medir

    Por cada característica elegida, escribe una meta con número y método de medición. Esa lista es el NFR.

  3. 03

    Bajar a historias

    Cada meta se vuelve criterio de aceptación en las HdU que la afectan.

  4. 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.

Cambios entre ISO/IEC 25010:2011 e ISO/IEC 25010:2023
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