As the authors state in their summary and in the introduction, many existing software life cycle models “lack the rigor required by automated and automatable processes.” So, it is hard to know if and how a changed process is actually improved. Gonzalez-Perez et al. see an answer to this problem in the definition of formal metamodels. Examples for those metamodels are, to a certain extent, already extant (see software process improvement and capability determination (SPICE) or Capability Maturity Model Integration (CMMI)). However, as the authors remark, those models are not really full software development models, but rather process assessment models.
This paper tries to contribute to closing the gap between software development models and process assessment models. It discusses object-oriented and component-based SPICE (OOSPICE). It starts by introducing basic concepts like process, task, technique, and work product. Those basic OOSPICE terms are related to similar concepts in the object-oriented process, environment, and notation (OPEN) and software process engineering metamodel (SPEM).
The concepts are examined from both the process and assessment perspectives. Taking these two aspects into account, the authors develop an OOSPICE metamodel. Unified modeling language (UML) as a design and documentation tool helps the reader grasp their ideas quickly. After some basic models just reflecting the duality of process and assessment, the authors look at further aspects of process and assessment modeling. They start with context generalization, move on to process and task tailoring, and provide an introduction to constraints and temporal ordering. This leads to further refinement of the OOSPICE UML model.
In real life, target capability levels (as known from CMMI or from SPICE) and generic process elements have proven very useful for practical process modeling and assessment. Consequently, those properties form a further iteration of the authors’ OOSPICE model.
This model was implemented in a Microsoft Access database. Together with some common tools, it supported some initial experiments in optimizing a SPICE-based assessment methodology. Some further metamodel improvement work could look more closely at modeling enactment properties using patterns. The authors propose continuing their work on the OOSPICE metamodel with a focus in this direction.
The OOSPICE approach toward developing metamodels for assessable software development models promises some progress in addressing the issue noted above. In particular, the built-in process dimension in models like OOSPICE automatically ensures that work executed according to OOSPICE conforms to the assessment model, as stated in the paper’s summary.
It would be worth looking further into the research direction proposed by the authors. Although the paper is focused on a current research topic, it will be useful to anyone who wants to understand how assessment methods really work. For those who are in the process of deciding what process model to use for software process improvement, this paper provides some useful insight.