Software Quality Journal, 13, 195–214, 2005 c 2005 Springer Science + Business Media, Inc. Manufactured in The Netherlands. A Metamodel for Assessable Software Development Methodologies CESAR GONZALEZ-PEREZ cesargon@it.uts.edu.au TOM MCBRIDE mcbride@it.uts.edu.au BRIAN HENDERSON-SELLERS brian@it.uts.edu.au Department of Software Engineering, Faculty of Information Technology, University of Technology, Sydney, Ultimo NSW 2007, Australia Abstract. Software development methodologies usually contain guidance on what steps to follow in order to obtain the desired product. At the same time, capability assessment frameworks usually assess the process that is followed on a project in practice in the context of a process reference model, defined separately and independently of any particular methodology. This results in the need for extra effort when trying to match a given process reference model with an organisation’s enacted processes. This paper introduces a metamodel for the definition of assessable methodologies, that is, methodologies that are constructed with assessment in mind and that contain a built-in process reference model. Organisations using methodologies built from this metamodel will benefit from automatically ensuring that their executed work conforms to the appropriate assessment model. Keywords: capability assessment, metamodelling, software development methodologies, process assessment, SPICE/OOSPICE 1. Introduction While process modelling has a long history, many authors (e.g., Curtis et al., 1992) express concern about the inadequacies of existing software lifecycle models which, among other things, lack the rigour required by automated and automatable processes and do not offer any facility by which to reason about the process itself in order to know whether or not a changed process is improved by the change. More recently, metamodels have been proposed (e.g., Conradi et al., 1994; Henderson-Sellers and Bulthuis, 1997) as a means of creating additional rigour for methodology/process modelling. In essence, using metamodels means modelling a methodology as if it were any other system, applying the same modelling ideas and procedures that are usually applied to business applications or other software-intensive systems. A metamodel is, therefore, in this context, a model of a methodology or, indeed, of a family of related methodologies. Methodologies constructed from a metamodel usually offer a higher degree of formalisation 1 and better support for consistent extension and customisation, since the concepts that make their foundations are explicitly defined. Some metamodels are available as independent standards (such as SPEM, see (OMG, 2002)) while others are provided together with a broader methodological framework that may include a methodology (such as the OPEN Process Framework, (Firesmith and Henderson-Sellers, 2002) or OPEN/Metis, (Gonzalez-Perez, 2003), respectively). Once a methodology is in place and an organisation uses it, steps are followed and some work is actually carried out. The organisation may want to assess the quality of the execution