IDENTIFYING METHODS AND TECHNIQUES FOR THE HARMONIZATION OF MULTIPLE PROCESS REFERENCE MODELS
IDENTIFICANDO MÉTODOS Y TÉCNICAS PARA SOPORTAR LA ARMONIZACIÓN DE MULTIPLES MODELOS DE REFERENCIA DE PROCESOS
PhD. Engineering Faculty, University of Cauca, Colombia, firstname.lastname@example.org
FRANCISCO J. PINO
PhD. Engineering Faculty, University of Cauca, Colombia, email@example.com
PhD. University of Castilla-La Mancha, España, Felix.Garcia@uclm.es
PhD. University of Castilla-La Mancha, España, Mario.Piattini@uclm.es
Received for review June 1th, 2011, accepted November 24th, 2011, final version January, 19th, 2012
ABSTRACT: Several papers which support the area of harmonization of multiple models have recently been proposed. In order to offer a clear and general view of the proposals described in these papers, it is important to carry out an analysis of them. An analysis which seeks to identify, classify, and connect the knowledge concerning the harmonization of models described in these proposals has therefore been carried out in this paper. This analysis is based on the four basic operations of set theory, and has permitted us to establish a definition of and the relationship between the techniques, methods, and concepts discovered in harmonization of models. Certain special considerations and conjectures which should be taken into account when implementing these methods and techniques are also described.
KEYWORDS: Harmonization, methods, techniques, multi-model, integration, mapping, comparison, homogenization, synergy, correspondence, complement.
RESUMEN: Actualmente es posible encontrar algunas propuestas y trabajos relacionados con la armonización de múltiples modelos. Con el fin de ofrecer una visión clara y general de las propuestas definidas, es importante llevar a cabo un análisis de ellos. Por lo tanto, en este artículo se lleva a cabo un análisis que busca identificar, clasificar y relacionar el conocimiento relativo a la armonización de los modelos descritos en estas propuestas. El análisis realizado se basa en las cuatro operaciones básicas de la teoría de conjuntos, lo cual ha permitido establecer un conjunto de definiciones y relación entre las técnicas, métodos y conceptos identificados en los trabajos analizados. Asimismo, se describen algunas conjeturas y consideraciones especiales para facilitar la implementación de las técnicas y métodos identificados.
PALABRAS CLAVE: Armonización, métodos, técnicas, múltiples modelos, integración, mapping, comparación, homogeneización, sinergia, complemento
The great diversity and heterogeneity of available reference models, together with the need to solve problems from many dimensions and organizational hierarchies, provide organizations with a positive environment which enables them to choose different solutions to various problems and needs . However, each of these approaches defines its own structure of process entities, definitions, and quality systems, which increases the complexity in the implementation of multi-models in a single organization. Organizations must, therefore, define the most appropriate means of choosing and implementing multi-models in the face of this huge quantity. Harmonization may be one solution towards working simultaneously with multiple models.
By using  as a basis, we have defined the harmonization of models as an activity that seeks to define and configure the most appropriate strategy that permits two or more models to be related in order to support an organization's quality goals and improvement. We believe that harmonization can be supported by a set of methods and techniques. These methods and techniques could offer a suitable strategy for enhancing work in multi-model process harmonization.
Despite the fact that some techniques such as mapping and comparison are widely used, many techniques have not yet been identified and defined, which makes the harmonization of multiple models difficult for organizations. Only a few of these methods and techniques have been addressed and, in this regard, it is therefore necessary to explore this issue in greater depth in order to offer a proposal which describes a set of elements related to the methods and techniques that should be identified, defined and/or applied during process harmonization.
Therefore, and in order to provide a solution that facilitates work on the harmonization of multiple processes models, in this paper we identify and define some methods, techniques, and related concepts found from the results of a systematic review. The methods and techniques identified are analyzed by using the mathematical concept of set operations; this has allowed us to establish certain relationships and classify them as a general concept or method, and specific procedure or technique. This analysis has permitted us to order the process harmonization proposals in a single set of definitions or glossary of techniques, methods, and related concepts. Certain considerations and conjectures, which should be taken into account when harmonizing multiple models, are also documented.
The paper is structured as follows: Section 2 presents the proposals and related works found in the systematic review carried out. Section 3 presents an analysis of the harmonization methods and techniques starting from a set theory, it also presents the relationships between the methods and techniques of harmonization identified. Section 4 presents a glossary of some methods, techniques, and related concepts. Section 5 presents two examples of the implementation of some methods, techniques, and related concepts. Based on these examples, we present some considerations and conjectures which should be taken into consideration when a method and technique is implemented. Finally, conclusions and future work are set out.
With regard to the analyses carried out in a systematic literature review presented in ,,this section provides a brief summary of the techniques used in works related to the multi-model harmonization. Table 1 shows those methods or techniques found in the works analyzed along with a brief summary of them. Some methods, techniques, and related concepts identified in Table 1 are shown with more detail in Section 4.
Table 1. Techniques found in the papers analyzed
Table 1 shows that several attempts have been made to define solutions for the harmonization of multi-models. These works propose various techniques with solutions to support harmonization. The techniques used are denominated in different manners; e.g., the activity used to discover related elements in several models may be denominated as comparison or mapping. Other works use terms such as synergy or compatibility to identify the level of relationship between models. However, most related comparison techniques do not use a comparison scale that allows us to classify the relationships taking into account a grade of similarity or difference, and thereby it would allow that the subjectivity in the comparison to be minimized. Similarly, the terms combining and merger are used to refer to several integrated models, but with the difference that the steps followed for their integration are not shown. Some works use the term single model or universal model. Likewise, complementarity is used to refer to models that take elements of others models in order to maximize their qualities.
The systematic review carried out has allowed for us to identify that, depending on an organization's needs, multi-model environments are characterized by the implementation of different methods and techniques to support their harmonization. However, it is obvious that in the works analyzed several different terms are used to identify them. Although the harmonization requirements in each organization are different, a glossary would permit the appropriate definition to be related, along with the minimum characteristics of each method and technique used. The contribution of this work is the classification of the methods and techniques identified and the identification of their relationships starting from the analysis of the sets operations. Additionally, we propose a glossary that encompasses the definitions of the methods, techniques, and related concepts identified. Certain considerations and conjectures obtained from an experience report, which we consider should be taken into account when they are implemented in a multi-model environment, are also documented.
3. ANALYSIS OF SET THEORY TO UNDERSTAND THE HARMONIZATION OF MODELS
In this section, we use the set theory and the main operations to better illustrate the harmonization of models. We simply believe that, based on the features found in the models, it is possible that the set theory may be a good reference through which to better understand the relationships that can be established in the harmonization of models.
In the set theory the word set implies the idea of a collection of objects that are characterized by something that they have in common. We therefore define a model as a grouping of all the objects defined which are different from each other and which are called elements of this model. We have also used the term element to refer to all the objects defined in a model. As in mathematics, the definition of object should include the broadest sense of its meaning and include any element or member to describe the set. The model's elements are therefore the processes, the activities, task, roles and so forth.
The analysis of the harmonization of models from the set theory is shown as follows:
3.1. Operations between models
The set operations considered were: union, intersection, difference, and complement. We also used Venn diagrams in order to better illustrate the relationships between models. The examples used are not real; they are used to enhance the understanding of the operations between models.
Intersection. The common elements between models are represented by the intersection of two or more models. Since the major goal of the intersection is to identify the common elements between models, this is considered to be a comparison operation, and it is therefore necessary to define the direction of the comparison. The intersection of models should also permit the common elements in the models to be identified at a low and/or high level.
Figure 1 shows the intersection of sets (Model A intersection Model B), which is represented for the elements in ISO 9001 and CMMI. An example of the intersection of elements at a high-level might be the establishment of the relations between ISO Clauses and the CMMI Specific Goals (SGs); or, at a low-level, between the ISO Clauses and the CMMI Specific Practices (SP). Intersection can also be found in more than two models e.g., the mapping between the processes of ISO 12207:08 and the process areas of CMMI-DEV, and the processes of ISO 12207:08 and ISO 15504-5 . The common elements are identified by analyzing the descriptions of each model. However, the precision level of the descriptions depends on the model . Moreover, when multiple models are compared to establish the relationships among them, it is necessary to carry out the intersection of the models in groups of two, which allows the complexity to be reduced in order to establish the relationships. Although each model usually specializes in a set of specific practices and different levels of abstraction and detail, in some cases it is possible to identify similar elements that may exist between models.
Figure 1. Intersection
Union. The union of two or more models is made up of the elements of the models involved (e.g., the union of the elements of models A and B). This means that the union of sets contains all the elements of A and B. We believe that the union of models must be carried out at a low-level. This allows the descriptions of the models elements to be unified in an objective manner.
As result of the union of models it is possible to have a single model process reference or unified model. One of the benefits of using a single model process reference is that the improvement efforts involve the same vocabulary . Although each organization has a different priority process dimension, the development of a single model represents a considerable effort as regards time, people, and money. Moreover, it does not make sense to create a universal single model for only one organization . We believe that the union of models concerns the development of one harmonized solution based on the practices and recommendations defined in more than one model.
Figure 2 shows the set union (Model A Union Model B), which is represented by the elements in ISO 9001 and CMMI. The resulting set is larger than the two separate models (see ). Moreover, it covers more practices if only the ISO 9001 or the CMMI model are used, or vice versa . No matter which models are integrated, the union of two or more reference models allows for the weaknesses of the models that an organization uses to be strengthened, and we therefore believe that the union of models enables a powerful formula to satisfy an organization's multiple needs.
Figure 2. Union
Difference. The difference between two models is represented by the elements of Model A that are not in Model B. It is possible to discover the difference between more than two models through the association of the differences between them. This operation allows for the elements of one model that are not present in another model to be identified (i.e., to discover their differences and similarities).
Similarly, as noted earlier in the intersection operation, the difference should permit the definition of the abstraction level or detail that will be used in the model comparison. Moreover, in the case of the difference, it is also important to define the directionality of the comparison, which depends on the model that is in use or is institutionalized in an organization. The degree of relationship identified depends on the direction of the comparison . Figure 3 shows an example of the different operation implemented in two models: the ISO 9001 Model and the CMMI Model. The possible operations will depend on the directionality of comparison chosen. In this case, the figure shows the comparison made to identify the different elements between the ISO 9001 model and the CMMI model, and vice versa.
Figure 3. Difference
Complement. The complement of a Model A is represented by the elements in Model B that do not belong to A. This means that the complement of Model A is all those elements that are not defined in A and are defined in a B model.
The complement can be obtained by using the models difference. That is, the difference between Model B and Model A (Model B-Model A) is called the complementary of A with regard to B. This also occurs with the difference between Model A and Model B, where the result obtained is the complement of B with regard to A. Therefore, the complement is a means to obtain the difference between models, and this entails carrying out the identification of missing elements in one model with regard to another.
3.2. Relationships between set operations, methods, and technique harmonization
Figure 4 shows the relationships between set operations, methods, and technique harmonization that have been identified. We consider that the methods are general procedures and that the techniques are specific procedures applied to the definition or framework of a method. That is, a method is a procedure which is generally oriented towards a specific purpose, while the techniques are different ways of applying the method. It has therefore been possible to use the results of the systematic review to identify some harmonization techniques, which are: combine, merger, align, mapping, terminology analysis (syntactic and/or semantic), and homogenization.
Figure 4. Relationships between set operations, methods and technique harmonization
At first sight, all the set operations may give the impression of being comparison techniques. However, on the basis of the analysis performed, it was possible to classify them within the following general procedures or methods, which are: complement, integration, comparison and analysis. The analysis technique is not associated with any set operation because it is not always implemented in the harmonization of multi-models. However, we recommend its use to facilitate the implementation of the other techniques; e.g., the complement and integration techniques use the comparison and analysis techniques to facilitate the understanding of the models by analyzing their terminology (syntactic and/or semantic) or through the homogenization of their process structure.
In Fig. 4, the method and techniques are separated, and each method can therefore specialize in different techniques (e.g., the analysis could be the homogenization and/or terminology analysis). It is similarly possible to use either a merger or a combination method to carry out the integration. This first version is not intended to encompass all the existing techniques and methods, but rather those which are most common and those used in the works analyzed, thus permitting their future adaptation and updating.
4. GLOSSARY OF METHODS, TECHNIQUES, AND RELATED CONCEPTS FOR THE HARMONIZATION OF MULTI-MODELS
From the literature analyzed in Section 2, we found that the most frequently used techniques are: combine, merger, align, mapping, terminology analysis (syntactic and/or semantic), and homogenization. In this section, we provide a definition of some of these. However, before defining the harmonization techniques identified, on the basis of the discussion in Section 3, we shall first define some related concepts, which are: harmonization, synergy, and correspondence.
4.1. Related concepts
Harmonization. According to , harmonization is not: (i) About creating a master meta-model or a new single model that encompasses all other models or (ii) about declaring any single combination of models as the best or suggesting a universal combination to suit all. Harmonization is, rather, the development of one suitable solution that allows an organization's goals to be satisfied. Based on the above definition, we have defined model harmonization as being an activity that seeks to define and to configure the strategy which is most suitable for the organization's goals with the aim of relating two or more models.
Synergy. We define synergy as being the integration of models that results in something larger than their simple sum, that is, when two or more models are synergistically united, this creates a result that takes advantage and maximizes the qualities of each model. Therefore, if we say that there is synergy between models, then the affinity between them (found from a comparison) must exist as a prerequisite. Model integration is therefore only possible if there is affinity. An example of the synergy between models can be seen in .
Correspondence. The correspondence in the harmonization of models can be defined as the relationship identified between the element process definitions of different models. Since each model describes its processes at a different level of detail, the correspondence cannot normally be completed. Therefore, a correspondence scale is often defined for the establishment of the relations (e.g., see  and ). The scale correspondence defined allows us to classify the relationships identified from the models compared in an approximate range. The scale used could vary according to the expert criteria and the method used.
4.2. Methods and Techniques
Some of the methods and techniques identified to date are defined as follows:
Comparison. According to the analysis of the comparisons carried out in [11,7], it is possible to define the comparison as the analysis of the high-level characteristics between models from a reference model. In the model comparison, the need to know the level of equality and proportion between the things being compared should take priority. The comparison in the harmonization of models can also be defined as the relationship found among the definitions of process elements of different models.
Integration. The major goal of some projects and harmonization initiatives is to support the integration of multiple models with an integration framework. Integration allows different models to be harmonized when collaboration between them is necessary in an organization. In [4,17] the integration of multiple models is carried out, and the techniques used are mainly aimed at the merger or combination of recommendations of the models analyzed. We therefore define the integration of models as being the action or effect of joining or merging two or more models through the implementation of techniques such as those mentioned in this section.
Homogenization. Since each model defines its own internal structure, the process elements used may be different. Although these might contain similar elements, each model defines different levels of detail. In accordance with the analysis and study realized in , we have defined homogenization as being the set of steps and tools by which one or more models are treated to convert the structures of their process elements into homogeneous structures. The homogenization technique supports and facilitates the implementation of other techniques (e.g., comparison techniques).
Mapping. Mapping can be defined as a comparison technique that goes far beyond the simple identification of the differences and similarities between the elements of the models that are compared. Mapping should involve a low-level abstraction comparison. That is, mapping necessitates the analysis of the elements of the models involved in the mapping (e.g., the activities, the work products, roles, task, and so forth).
5. EXAMPLES OF IMPLEMENTATION
In this section, we use the set theory and the main operations to better illustrate the harmonization of models. We simply believe that, based on the features found in the models, it is possible that set theory may be a good reference through which to better understand the relationships that can be established in the harmonization of models.
In the harmonization of models, it is possible to configure different strategies to harmonize multi-models (e.g., based on Fig. 2). We describe an example that illustrates one possible strategy through which to carry out the harmonization of two different models. This strategy might be: to carry out an analysis of the terminology and structure of models, to then carry out the homogenization of elements of the process analyzed, and to finally carry out the comparison of these elements. The elements comparison could have a semantic analysis, which could minimize the subjectivity of the relationships established. Finally, and based on the relationships obtained, it is necessary to choose the method and technique with which to integrate the two models. We recommend using the process for the harmonization of multiple-process reference models. A more complete and detailed version of the process is available in . We have modeled this process with SPEM by using EPF Composer. One harmonization strategy, therefore, is made up of one set of systematically defined techniques and/or methods to carry out the harmonization of multiple models.
A real example of implementation can be found in . This work presents an experience report and the harmonization strategy followed, which was focused on the harmonization of the ISO 20000-2 and ISO 27001 models. Since 2000-2 and 27001 are ISO models, it was not necessary to carry out a terminology analysis. The efforts of the harmonization strategy were therefore focused on carrying out: (i) the homogenization of the structure of each model, and this activity was supported by the homogenization technique (see ); and (ii) a low-level comparison of the models with regard to the information described in the elements of the process which were homogenized. This activity was supported by the comparison technique (see ). Based on the results obtained from the strategy executed, it was possible to establish: the analysis of the models based on the homogenization of their processes, the differences and similarities between the harmonized models, and a software tool to support the consultancy of ISO 20000. This software tool has been developed by taking into consideration information on the relationships found between the ISO 20000 and ISO 27001 processes. A more detailed summary of the experience report is shown in .
5.1. Considerations and conjectures
Some of the methods and techniques identified to date will now be defined. On the basis of the set theory analysis, we have identified some additional considerations and conjectures that we believe are important to bear in mind. These are:
6. CONCLUSIONS AND FUTURE WORK
Environments in which multiple models are applied are characterized by the fact that they require greater effort, time, and associated costs than conventional software process improvement projects. This difference may be caused by a lack of solutions which include aspects for carrying out activities that allow multiple models to be integrated in a harmonized manner. Moreover, due to the large proliferation and heterogeneity of models, standards, guides, and reference frameworks, organizations need to implement multiple solutions to cover their requirements. However, it is important to highlight that the models are not totally incompatible and that it is possible to reconcile or harmonize their characteristics.
This paper therefore analyzes the methods and techniques taken from the findings of a systematic review on the harmonization of multi-models for software process improvement. The methods and techniques identified were analyzed and classified by using the set theory. This analysis allows the relationships amongst them to be established for the first time. In addition, and on the basis of the findings obtained in the analysis, it was possible to identify certain considerations and conjectures that we believe must be taken into account when multiple models are harmonized. The major goal of this work is the identification, analysis, and classification of the methods and techniques used in harmonization models, along with facilitating and obtaining a better understanding of the relationships amongst the methods and techniques used, and establishing a definition that encompasses the minimum characteristics associated with each of them. The set theory has also allowed for us to enhance the understanding of the problems in the implementation of techniques when two or more models are harmonized.
The information obtained from this work will be used to tackle two streams, the first of which will focus on analyzing and detailing the definition of those techniques that have not been dealt with, (e.g., the complement technique and semantic analysis). The goal is to detail these techniques to the level of processes that describe what and how to implement them. The second stream focuses on updating the definitions and relationships amongst the methods and techniques identified and defining an ontology to support the harmonization of multiple reference models. It is possible that the literature may contain definitions of more methods and techniques that support and facilitate multi-model harmonization.
This work has been funded by the projects: ARMONÍAS (JCCM of Spain, PII2I09-0223-7948) and PEGASO/MAGO (MICINN and FEDER of Spain, TIN2009-13718-C02-01). Francisco J. Pino acknowledges the University of Cauca where he works as Titular Professor.
 Biffl, S., Winkler, D., Höhn, R. and Wetzel, H., Software process improvement in Europe: potential of the new V-modell XT and research issues. Software Process: Improvement and Practice. 11, 2006.
 CITIL. CMMI+ITIL. Available: http://www.wibas.de/publikationen/referenzmodelle/was_ist_cmmi/index_de.html [citado January de 2010].
 Ferchichi, A., Bigand, M. and Lefebvre, H., An Ontology for Quality Standards Integration in Software Collaborative Projects. First International Workshop on Model Driven Interoperability for Sustainable Information Systems. Montpellier, France, pp. 17–30, 2008.
 Ibrahim, L. and Pyster, A., A Single Model for Process Improvement. IT Professional. 6, 2004.
 ITGI (2008). Aligning Cobit 4.1, ITIL V3 and ISO/IEC 27002 for Business Benefit, IT Governance Institute (ITGI) and Office of Government Commerce (OGC). 131.
 Lin, L.C., Li, T.S. and Kiang, J. P., A continual improvement framework with integration of CMMI and six-sigma model for auto industry. Quality and Reliability Engineering International. 25, 2009.
 Mutafelija, B. and Stromber, H., ISO 9001:2000 - CMMI V1.1 Mappings, Software Engineering Institute: 31. 2003.
 Oshana, R. S. and Linger, R. C., Capability maturity model software development using cleanroom software engineering principles - results of an industry project. Proceedings of the Hawaii International Conference on System Sciences. 260, 1999.
 Pardo, C., Pino, F., García, F. and Piattini, M., Homogenization of Models to Support multi-model processes in Improvement Environments. 4th International Conference on Software and Data Technologies ICSOFT’09. Sofía, Bulgium, pp. 151-156, 2009.
 Pardo, C., Pino, F. J., García, F., Piattini, M. and Baldassarre, M. T., A systematic review on the harmonization of reference models. 5th International Conference on Evaluation of Novel Approaches to Software Engineering - ENASE2010. Athens, Greece, pp. 40-47, 2010.
 Paulk, M. C. How ISO 9001 compares with the CMM. IEEE Software. 12, 1995.
 Pino, F., Balssarre, M. T., Piattini, M. and Visaggio, G., Harmonizing maturity levels from CMMI-DEV and ISO/IEC 15504. Journal of Software Maintenance and Evolution: Research and Practice. 22, 2010.
 Pino, F. J., Baldassarre, M. T., Piattini, M., Visaggio, G. and Caivano, D., Harmonizing Improvement Technologies: A Comparison between CMMI-ACQ and ISO/IEC 12207:2008. 4th International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE 2009). Milan, Italy: pp. 177-188, 2009.
 SEI. Publications on CMMI mappings and comparisons. Available: http://www.sei.cmu.edu/cmmi/adoption/comparisons.html [citado April de 2010].
 Siviy, J., Kirwan, P., Marino, L. and Morley, J., The Value of Harmonization Multiple Improvement Technologies: A Process Improvement Professional’s View, SEI, Carnegie Mellon: 15. 2008.
 SPICE. Enterprise SPICE. Available: http://www.enterprisespice.com/ [citado April de 2008].
 Yoo, C., Yoon, J., Lee, B., Lee, C., Lee, J., Hyun, S. and Wu, C. A unified model for the implementation of both ISO 9001:2000 and CMMI by ISO-certified organizations. Journal of Systems and Software. 79, 2006.