A System for Evaluating the Congruence of Software Process Models

It is increasingly being recognized that the design, customization, reuse and improvement of software processes are important for developing quality software within budget and on time. There is an urgent need for methods and tools to assist in these tasks. In this talk, we describe one of several works at McGill a software system to address these needs. The system uses an empirically derived “contingency model” that describes the degree to which the process/context relationships contribute to the success of a process. It uses this model along with the characteristics of a subject software process and its environment to: (i) evaluate how fit (or congruent) the process is in the given environment, and (ii) identify those relationships that are considered to lower process congruency. Based on the feedback received from the system, the process engineer can change the values of appropriate process/context variables in order to improve process congruency. We demonstrate the usage of the system by giving examples from three applications: (a) congruence evaluation and improvement of a process model, (b) selection of the fittest process model from among several models, and (c) process reuse. The data used in the examples was gathered in a field study of fifteen software projects, with particular focus on requirements engineering.

[1]  Khaled El Emam,et al.  Customising Software Process Models , 1995, European Workshop on Software Process Technology.