Antes de abordar el concepto de ISO
25000 es necesario tener presente lo que representa el término de Calidad de
Software, el cual se refiere al grado de desempeño de las principales
características con las que debe cumplir un sistema computacional durante su
ciclo de vida, esas características le permiten al cliente contar con un
sistema confiable, aumentando el grado de satisfacción frente al funcionamiento
y eficiencia del software.
El modelo ISO/IEC 25000 es un compendio
de normas denominado Requisitos y Evaluación de Calidad de Productos de
Software (SQuaRE - System and Software Quality Requirements and
Evaluation). Además, según Marcos et al. afirman que establece
criterios para la especificación de requisitos de calidad de productos de
software, sus métricas y su evaluación. En otras palabras es un conjunto
estructurado de opciones para la evaluación de un software en busca de
garantizar la satisfacción del cliente o usuario y conseguir un certificado de
calidad del producto.
Va dirigido a las empresas de desarrollo de software, independiente de su tamaño o volumen. También aplica a las empresas que de forma interna crean sus propias herramientas de software para desarrollar su negocio.
El modelo ISO/IEC 25000 se divide en
ISO/IEC
2500n – División de Gestión de Calidad
Las normas que forman este apartado definen todos
los modelos, términos y definiciones comunes referenciados por todas las otras
normas de la familia 25000. Actualmente esta división se encuentra formada por:
• ISO/IEC
25000 - Guide to SQuaRE: contiene el modelo de la arquitectura de SQuaRE, la
terminología de la familia, un resumen de las partes, los usuarios previstos y
las partes asociadas, así como los modelos de referencia.
• ISO/IEC
25001 - Planning and Management: establece los requisitos y orientaciones para
gestionar la evaluación y especificación de los requisitos del producto
software.
ISO/IEC
2501n – División de Modelo de Calidad
Las normas de este apartado presentan modelos de
calidad detallados incluyendo características para calidad interna, externa y
en uso del producto software. Actualmente esta división se encuentra formada
por:
• ISO/IEC
25010 - System and software quality models: describe el modelo de calidad para
el producto software y para la calidad en uso. Esta Norma presenta las
características y subcaracterísticas de calidad frente a las cuales evaluar el
producto software.
• ISO/IEC
25012 - Data Quality model: define un modelo general para la calidad de los
datos, aplicable a aquellos datos que se encuentran almacenados de manera
estructurada y forman parte de un Sistema de Información.
ISO/IEC 2502n – División de Medición de Calidad
Estas normas incluyen un modelo de referencia de la
medición de la calidad del producto, definiciones de medidas de calidad
(interna, externa y en uso) y guías prácticas para su aplicación. Actualmente
esta división se encuentra formada por:
• ISO/IEC
25020 - Measurement reference model and guide: presenta una explicación
introductoria y un modelo de referencia común a los elementos de medición de la
calidad. También proporciona una guía para que los usuarios seleccionen o
desarrollen y apliquen medidas propuestas por normas ISO.
• ISO/IEC
25021 - Quality measure elements: define y especifica un conjunto recomendado
de métricas base y derivadas que puedan ser usadas a lo largo de todo el ciclo
de vida del desarrollo software.
• ISO/IEC
25022 - Measurement of quality in use: define específicamente las métricas para
realizar la medición de la calidad en uso del producto.
• ISO/IEC
25023 - Measurement of system and software product quality: define
específicamente las métricas para realizar la medición de la calidad de
productos y sistemas software.
• ISO/IEC
25024 - Measurement of data quality: define específicamente las métricas para
realizar la medición de la calidad de datos.
ISO/IEC
2503n – División de Requisitos de Calidad
Las normas que forman este apartado ayudan a
especificar requisitos de calidad que pueden ser utilizados en el proceso de
elicitación de requisitos de calidad del producto software a desarrollar o como
entrada del proceso de evaluación. Para ello, este apartado se compone de:
• ISO/IEC
25030 - Quality requirements: provee de un conjunto de recomendaciones para
realizar la especificación de los requisitos de calidad del producto software.
ISO/IEC
2504n – División de Evaluación de Calidad
Este apartado incluye normas que proporcionan
requisitos, recomendaciones y guías para llevar a cabo el proceso de evaluación
del producto software. Esta división se encuentra formada por:
• ISO/IEC
25040 - Evaluation reference model and guide: propone un modelo de referencia
general para la evaluación, que considera las entradas al proceso de
evaluación, las restricciones y los recursos necesarios para obtener las
correspondientes salidas.
• ISO/IEC
25041 - Evaluation guide for developers, acquirers and independent evaluators:
describe los requisitos y recomendaciones para la implementación práctica de la
evaluación del producto software desde el punto de vista de los
desarrolladores, de los adquirentes y de los evaluadores independientes.
• ISO/IEC
25042 - Evaluation modules: define lo que la Norma considera un módulo de
evaluación y la documentación, estructura y contenido que se debe utilizar a la
hora de definir uno de estos módulos.
• ISO/IEC
25045 - Evaluation module for recoverability: define un módulo para la
evaluación de la subcaracterística Recuperabilidad (Recoverability).
Modelo de Calidad Genérico (ISO 20010)
Este modelo la calidad en
características, a su vez este se subdivide en subcaracterísticas y atributos,
el cual se divide en dos partes:
- El modelo para la calidad interna y externa de un producto software
- El modelo para la calidad en uso de un producto software
Modelo de Calidad del producto del Software
(interno y externo)
Modelo de calidad en uso
MÉTRICAS: Una
métrica es el método con el que se mide diferentes atributos en este caso del
software y se sustenta en la escala de valoración que se defina para obtener un
resultado que permita determinar si el producto cumple o no con las
especificaciones requeridas.
En el
estándar ISO 25000 existen Métricas para evaluar la calidad interna y externa
de las 8 características, del modelo de calidad del producto software (interna
y externa). Estás se aplican a:
Métricas Internas: Son utilizadas cuando el software está en
desarrollo, permite identificar problemas y aplicar los correctivos.
Métricas Externas: Son
utilizadas cuando el software está en prueba, sirve para medir el
comportamiento el software.
Métricas de calidad de uso: Estás son aplicables cuando el software está en ejecución, para identificar si cumple con las necesidades del cliente.
Para profundizar
más en cuanto a la aplicabilidad del estándar ISO 25000 encontramos dos
documentos que a consideración del grupo de trabajo encontramos muy útiles
puesto que se evidencia la aplicación paso a paso del proceso de evaluación
bajo el estándar.
- Cumple los requisitos contractuales y demuestra a los clientes que la calidad del software es primordial.
- El proceso de evaluaciones periódicas ayuda a supervisar continuamente el rendimiento y la mejora continua.
- Detectar anticipadamente los defectos y procesar su eliminación.
- Evaluar y controlar el rendimiento del software
- Uno de los principales beneficios que ofrece la norma es que alinea los objetivos del software con las necesidades reales que se le demandan.
- Evitando ineficiencias y maximizando la rentabilidad y calidad del producto de software.
- Verificar el software aumenta la satisfacción del cliente y mejora la imagen de la empresa.
- Diferenciación de los competidores, asegurando tiempos de entrega y reducción de fallos en el producto tras su implantación en producción.
- Poder establecer acuerdos de nivel de servicio, definiéndose determinados parámetros de calidad que el producto debe cumplir antes de ser entregado.
- Detectar los defectos en el producto software y proceder a su eliminación antes de la entrega, lo que supone un ahorro de costos en la fase de mantenimiento posterior.
- Evaluar y controlar el rendimiento del producto software desarrollado, asegurando que podrá generar los resultados teniendo en cuenta las restricciones de tiempo y recursos establecidas.
- Asegurar que el producto software desarrollado respeta los niveles necesarios para las características de seguridad (confidencialidad, integridad, autenticidad, no-repudio, etc.).
- Comprobar que el producto desarrollado podrá ser puesto en producción sin poner en compromiso el resto de sistema y manteniendo la compatibilidad con las interfaces necesarias.
- Refuerza la confianza en el producto recibido, ya que se asegura que se han pasado unos estándares exigentes.
- Aumento de la Satisfacción, al alcanzar los niveles de calidad y exigencias del uso que el cliente estableció.
- Seguridad en la protección de datos del cliente
- Se propone un proceso de evaluación que puede ser adaptado a compradores, desarrolladores y evaluadores externos.
- No establece los niveles de calidad deseables para cada proyecto.
- No menciona “un número de referencia a lograr”, o el umbral que debe cumplir una métrica.
- Sería irreal fijar un valor, o valores, únicos de referencia para toda la industria.
- La refactorización del producto es muy costosa
- El conjunto de métricas se
proporciona para sub‐características
que a su vez engloban conceptos difícilmente medibles si no se descomponen en
atributos