El interés por conocer y mejorar la calidad del software es un tema de investigación q ue tiene varias décadas. McCall et al. (1977) propuso un modelo de factores que influyen en la calidad del software. Estos factores se agrupan según los objetivos que se planteen para la operación y mantenimiento del producto (Figura 3). En el desarrollo de nuevos productos de software se toman en cuenta los factores asociados a la operación del producto (por ejemplo, corrección, confiabilidad, eficiencia, integridad, facilidad de uso). Cuando se introducía un cambio en el software, entonces se consideraban los factores de la revisión del producto. Finalmente, si el desarrollo era hacer portable la aplicación a otras plataformas de hardware (o software) se deberían considerar los factores de transición del producto.
El modelo de McCall ha influido fuertemente la investigación en modelos de calidad del producto, elementos estructurales del modelo así como la identificación de los factores de calidad se han usado en otras propuestas de modelos de calidad. Actualmente, los modelos más empleados para la investigación y la práctica de la calidad del producto de software son el modelo ISO/IEC 9126 y el ISO/IEC 25010. Desde 2011, el ISO/IEC 25010 sustituye al ISO/IEC 9126.
Un modelo de calidad de producto está conformado por un conjunto de características que agrupan propiedades que podrían medirse en el software. El ISO/IEC 25010 (2010) proporciona un modelo de calidad en uso y un modelo de calidad de producto. El modelo de calidad en uso describe las características deseables que el usuario de un producto espera cuando lo está operando. Por ejemplo, es de interés en este modelo la eficiencia, la eficacia y satisfacción del usuario cuando éste último logra sus metas de uso del software en escenarios previamente establecidos.
El modelo de calidad de producto, también incluido en el ISO/IEC 25010, describe ocho características principales del software que pueden ser medidos estática y dinámicamente. Cada característica se compone de subcaracterísticas. Las características se utilizan durante el ciclo de vida del desarrollo del software con el propósito de definir con claridad los requisitos de calidad relevantes que el sistema bajo desarrollo debe satisfacer. Además, dicha definición permite medir la calidad durante las distintas etapas del ciclo de vida de desarrollo del software y evaluar la calidad del software cuando el producto está listo para entregarse al cliente.
La figura 4 presenta las características y subcaracterísticas del modelo de calidad del producto del ISO/IEC 25010. Cada una de ellas está descrita en el estándar. Por ejemplo, en el caso de la usabilidad, y dos de sus subcaracaterísticas, el estándar las define como:
Es evidente, que a partir de estas definiciones, la organización que desarrolla software debería considerar los distintos tipos de usuarios a los que está dirigido el software, conocer sus metas y las tareas que realizan para que el software contribuya a satisfacer sus necesidades con eficiencia, efectividad y satisfacción.