A Process Framework for Managing Interactions between Sotware Quality Charateristics
García Mireles, Gabriel Alberto
MetadataShow full item record
Software quality is dominated by the manufacturing view in which the conformance to software process models is considered to be the best approach by which to deliver high quality software products. Product quality is measured by using surrogates as the number of defects found in software products and/or rework costs. This view, although useful for structuring practices that a software organization deploys, lacks the appropriate support needed to directly focus on the quality needs of different stakeholders. The approach for software quality based on a product view addresses this from the perspective of the stakeholder¿s point of view. A valuable support that can be used to address stakeholder quality goals is a product quality model which describes the main quality characteristics to be taken into account when a software product is specified, measured or evaluated. However, the research into quality models has been developed in parallel, but independently, of the approaches used in the software process field. A strategy with which to enhance product quality could be based on both quality views. Integrated approaches of the process and product quality views can potentiate the business strategies focused on enhancing software quality. An approach focused on the software process provides a general view as regards the extent to which quality goals are fulfilled by current software processes. After diagnosing current quality goals using a tailored product quality model, the software process may be improved by introducing specific activities oriented toward enhancing a given product quality characteristic. In order to implement the aforementioned strategy, software organizations need structured approaches that support the enhancement of their product quality. As a proposal with which to support the introduction of a product based perspective into a software process oriented view of quality, this thesis presents the Software Quality Interaction Management Framework (SQIMF), a framework developed in order to manage interactions between product quality characteristics by defining a set of processes that is oriented toward both minimizing the number of negative interactions between quality characteristics and mitigating the impact of the negative interactions that could occur during software development. The framework additionally considers the development of improvement plans oriented toward enhancing a product quality characteristic using specific activities based on a harmonization approach. The SQIMF framework is composed of three components: 1. Conceptual view, which defines the SQIMF ontology. The SQIMF ontology relies on both the ISO 25010 quality model and other product quality model representations. The ontology also considers the vocabulary used in the software quality and software requirements fields to manage interactions between quality requirements and quality attributes. Furthermore, the SQIMF ontology considers concepts used in a decision-making process to support the trade-off analysis in order to resolve negative interactions. Moreover, the SQIMF ontology establishes links with both the Software Measurement Ontology (SMO) and the Harmonization of Multi models Ontology (H2MO) in order to use other supporting methodologies. 2. Methodological view, which defines a set of processes and methods that can be used to manage interactions between quality characteristics. The methodological framework includes: - Five processes suggested for use at organizational and project level. The processes bound to the organizational level address the tailoring of product quality models and the establishment of product quality goals. The processes bound to project level focus on monitoring product quality requirements in order to identify potential interactions between quality characteristics, and resolving negative interactions by applying a structured process for decision-making. - Methods to support the SQIMF processes. The process perspective is supported by the inclusion of methods used in the harmonization approach. A set of methods and techniques with which to trade off software quality characteristics is also included. 3. Technological view, which describes a web tool that can be employed to support the management of interaction models, the mapping between process models and product quality models, and the management of product quality models. This thesis also shows the reference framework regarding how software process improvement literature has addressed software product quality. The SQIMF framework proposal has emerged from the analysis of the current state of research in the SPI field. In addition, two empirical studies have been conducted. An exploratory case study carried out by means of a survey of three small Spanish companies helped to determine the need to carry out research into the management of interactions between quality characteristics. The second study, a case study conducted using interviews, showed how the interactions between quality characteristics are identified. The SQIMF framework can therefore address both quality perspectives in order to improve software quality. The exploratory studies showed the need for further research into this topic to support business quality needs.