The development of a large portfolio of software projects raises several managerial challenges, like balancing resource allocation between different projects, and aligning development processes to the standards of the organization. Hence the project status and process quality characteristics, like planning precision or problem resolution speed, must be monitored continuously in order to identify development process weaknesses, and assess process improvements. Collecting the required data by regularly project status reporting can be expensive and intrusive, and furthermore ignores the past history of a process. This motivates mining data from routinely collected repositories like change request management (CRM) systems.
However existing CRM tools provide only a number of fixed metric evaluations and are limited in their adaptability. In order to support a flexible approach for the evaluation of metrics on CRM data, the tool BugzillaMetrics was developed at our group. It is based on declarative metric specifications. This enables concentrating the main effort on the model of the metric, not on its implementation. Moreover the core of BugzillaMetrics is a generic metric evaluation algorithm, that is adaptable to different change request management and version control systems. Currently adapters for Mantis, CVS, and Subversion are available. These tools have been made available open source in the QMetric tool suite.
Further on the QMetric tool suite was extended by support for the definition of quality assessment models, and their automatic evaluation. Quality assessment models leverage the evaluation results of the software metric to the level of the quality characteristics of interest for the user. The tools had been evaluated in case studies targeted at the evaluation of quality characteristics within a project portfolio of open source projects, as well as in an industrial context.
Please visit www.qmetric.org to learn more.
Update: Unfortunately, the QMetric website is no longer accessible.