C. Lampasona, M. Kläs, R. Plösch: Selection Criteria and Process for Quality Model Tailoring, Fraunhofer IESE Report, no. 034.12/E, Kaiserslautern, Germany, July 2012.


Software quality models concretize the concept of software quality. In general, this is achieved by describing it as a set of quality attributes and related measures that can be used to evaluate the quality of software with respect to those attributes. Quality models can be created from scratch using methods to guide the derivation of custom-tailored quality attributes and metrics (define-your-own-model approaches), or, existing fixed quality models specifying a prescriptive set of quality characteristics or metrics can be reused. Unfortunately, fixed models are very often focused on a very specific context or are too general, and deriving a model from scratch very often requires intensive expert effort. Balanced quality models are based upon the idea of adapting a core model for specific domains and specific purposes. This adaptation should be as much repeatable as possible and should therefore be methodically performed and guided by a tailoring process. The use of a base quality model and its systematic customization may support the cost-effective handling of quality needs within an organization or a project. Furthermore, the existence of a quality meta-model, as in the case of Quamoco, which specifies the same structure for all quality models, represents another potential advantage because it supports systematical quality model adaptation. A central challenge for the model-based evaluation of software quality is the identification of an adequate model to be customized and successfully tailoring it to the needs defined by specific quality goals. Another fundamental challenge for effectively tailoring software quality models is identifying necessary changes (what, when and how is to be modified) as well as concrete consequential changes to guarantee the consistency of the tailored model. Furthermore, tailoring can occur at different levels of abstraction, which also should be considered, in order to allow tailoring a model from different points of view.