Con base en el modelo de Garvin (1984), Kitchenham y Pfleeger (1996) describen cinco vistas de calidad que son relevantes en el contexto de ingeniería de software.
En el contexto de la industria del software, los enfoques de calidad que se aplican con mayor frecuencia son el de la vista del fabricante y el de la vista del producto considerando los requisitos del usuario (Berander et al., 2005). En los siguientes párrafos se describen las principales características de éstos.
El enfoque de proceso se centra en la conformidad con la especificación y la adherencia al proceso de software. En proyectos de software de esta naturaleza, es común encontrar términos como defectos, fallas o costos asociados a la corrección de componentes de software cuando se trata de medir la calidad. Por tanto, la mejora de la calidad se alcanza cuando en el proyecto de desarrollo de software se logra una reducción de los defectos (Agrawal y Shari, 2007).
El incentivo principal de implementar marcos de procesos en las empresas es incrementar la calidad del software, disminuir los costos del desarrollo del software y reducir el cronograma (Unterkalmeinster et al. 2012). La principal aproximación a la calidad es el desempeño del proceso de software y éste se evalúa considerando distintos marcos de trabajo como CMM/CMMI, ISO/IEC 15504, entre otros (Unterkalmeinster et al., 2012). Estos marcos describen un conjunto de prácticas que han sido empleadas por organizaciones de software exitosas.
En el caso de la vista del producto, la calidad es vista como adecuada para su propósito. Esta vista del producto corresponde a la vista del usuario descrita previamente y subyace en la identificación de características del producto que satisfacen las necesidades del usuario (García-Mireles et al., 2015). Las características se miden considerando las metas que desea lograr el usuario en un escenario particular especificado. Estas metas se pueden describir a partir del conjunto de características de calidad contenidas en modelos de calidad como el ISO/IEC 25010 que describe ocho características de calidad: usabilidad, seguridad, portabilidad, mantenibilidad, eficiencia del rendimiento, adecuación funcional, fiabilidad y compatibilidad. Cada una de ellas está se descompone en un conjunto de subcaracterísticas.
La descripción de metas de calidad considerando algún modelo de calidad del producto proporciona una guía de aspectos por considerar en todas las etapas del proyecto de desarrollo de software, desde la especificación de los requisitos de calidad, la evaluación de la arquitectura en términos del efecto de los componentes diseñados en la calidad esperada, así como en la construcción y obtención de componentes que satisfagan los valores de calidad deseados. Este es un trabajo complejo y los pocos estudios publicados indican que la mayoría de los esfuerzos se dedican a mejorar la seguridad, usabilidad y mantenibilidad del software (García-Mireles et al., 2015).