Abstract:
A computer implemented method for automatically identifying one or more metrics for performing a CMMI evaluation of an entity, wherein the CMMI evaluation is performed at a particular CMMI level and the method comprises the steps of accessing an electronic database of a plurality of candidate metrics, providing a first list of requirement elements to define a set of specific requirements of the entity, providing a second list of requirement elements to define a set of general requirements of the business field of the entity, searching for a first subset of metrics from the plurality of candidate metrics that match the first list and second list of requirement elements, searching for a second subset of metrics from the first subset of metrics that match with the CMMI level, and outputting the second set of metrics in a user-friendly format suitable for the CMMI evaluation.

Description:
TECHNICAL FIELD OF THE INVENTION 
     The present invention relates to a system and method for automatically selecting one or more metrics for performing a Capability Maturity Model Integration (CMMI) (CMMI is a registered trademark of Carnegie Melon University) evaluation, wherein the system and method are performed electronically and are accessible from the web. 
     BACKGROUND OF THE INVENTION 
     Measurement catalogs collate and provide detailed documentation of potential performance metrics. However, at present measurement catalogs only exist in a paper-based format that does not permit convenient updating. 
     With such paper-based metric catalogs, the process of identifying suitable metrics for monitoring a process is tedious, cumbersome and time-consuming. In particular, it is necessary to use complex and user-unfriendly paper sheets (which do not provide any guidance or support to the user regarding the selection of appropriate metrics). Indeed, the CMMI specification book is the only source of guidance to the user. 
     Furthermore, since CMMI process areas are not clearly understood, the relationship between the CMMI process areas and the business requirements of a user organization typically had to be manually adjusted. Finally, such previous methods of identifying appropriate metrics are not easily re-used in other circumstances. Consequently, a huge amount of time and effort must be expended using the above-mentioned prior art methods, to enable metrics to be selected for each new client. 
     When measurement catalogs have been implemented in electronic form (e.g. the IBM Application Services Management (AMS) Measurement Catalog) in the past, the definition of metrics provided therein have been typically insufficient. Furthermore, the relationships between the various components of computed metrics have not been clearly described. 
     SUMMARY OF THE INVENTION 
     According to the invention there is provided a computer implemented method for automatically identifying one or more metrics for performing a CMMI evaluation of an entity, wherein the CMMI evaluation is performed at a particular CMMI level and the method comprises the steps of:
         accessing an electronic database of a plurality of candidate metrics;   providing a first list of requirement elements to define a set of specific requirements of the entity;   providing a second list of requirement elements to define a set of general requirements of the business field of the entity;   searching for a first subset of metrics from the plurality of candidate metrics that match the first list and second list of requirement elements;   searching for a second subset of metrics from the first subset of metrics that match with the CMMI level; and   outputting the second set of metrics in a user-friendly format suitable for the CMMI evaluation.       

     According to a second aspect of the invention there is provided an electronic system for automatically identifying one or more metrics for performing a CMMI evaluation of an entity, wherein the CMMI evaluation is performed at a particular CMMI level, the system comprising:
         a database including a plurality of candidate metrics;   a means of providing a first list of requirement elements to define a set of specific requirements of the entity;   a means of providing a second list of requirement elements to define a set of general requirements of the business field of the entity;   a means of searching for a first subset of metrics from the plurality of candidate metrics that match the first list and second list of requirement elements;   a means of searching for a second subset of metrics from the first subset of metrics that match with the CMMI level; and   a means of outputting the second set of metrics in a user-friendly format suitable for the CMMI evaluation.       

     According to a third aspect of the invention there is provided a computer program product stored on a medium readable by a computer machine, the computer program product tangibly embodying readable program means for causing the computer machine to perform the method according to the steps of accessing an electronic database of a plurality of candidate metrics, providing a first list of requirement elements to define a set of specific requirements of the entity, providing a second list of requirement elements to define a set of general requirements of the business field of the entity, searching for a first subset of metrics from the plurality of candidate metrics that match the first list and second list of requirement elements, searching for a second subset of metrics from the first subset of metrics that match with the CMMI level, and outputting the second set of metrics in a user-friendly format suitable for the CMMI evaluation. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Reference will now be made, by way of example, to the accompanying drawings, in which: 
         FIG. 1  is a block diagram of the software architecture of an online metrics catalog according to a first aspect of the invention; and 
         FIG. 2  is a flow diagram showing how the online metrics catalog of  FIG. 1  is used in a CMMI evaluation process. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Since the online metrics catalogue relates to a catalogue of evaluation metrics, it is useful at this juncture to briefly describe evaluation metrics and the importance of selecting the most appropriate metrics for a given evaluation process. The following discussion will also describe the stages in an evaluation process leading up to the selection of appropriate metrics. 
     Since metrics are defined within the context of an evaluation process, one of the more well-known evaluation strategies, namely the CMMI model will be described. 
     The following discussion will then turn to the software architecture of the online metrics catalogue and will finally describe how the online metrics catalogue is used in a CMMI evaluation. 
     Evaluation Metrics 
     Improvement of a management process depends upon improved ability to identify, measure, and control essential parameters of a project and/or organization. When used for assessing a software organization, “software metrics” is the identification and measurement of the essential parameters that affect software development. Essentially, software metrics deals with the measurement of a software product and process by which it is developed. 
     Metrics can be categorized is as primitive metrics or computed metrics. Primitive metrics are variables that can be directly observed, such as program size (in lines of code (LOC)), number of defects observed during unit testing, or total development time for a project. In contrast, computed metrics cannot be directly observed but are computed in some manner from other metrics. Consequently, computed metrics are often more valuable in understanding or evaluating a software process than primitive metrics. Examples of computed metrics are those used for assessing productivity (e.g. LOC produced per person-month), or product quality (e.g. the number of defects per thousand lines of code). 
     An indicator is a representation of one or more metrics that provides insight into an ongoing project or process improvement activity. For example, an indicator may be the behavior of a metric over time (e.g. number of trouble reports written and resolved over time) or the ratio of two metrics. 
     The cost of evaluating a project or organization is not inconsiderable. Consequently, even though it may, in principle, be possible to measure a large number of process/organization variables, it may not be economically viable to do so. The challenge of collecting software engineering data is to make sure that the collected data can provide useful information for project, process, and quality management without being overly burdensome on the organization. Therefore, it is important to consider carefully what data to collect. 
     In particular, a chosen metric must be capable of:
         representing the basic business objectives of the organization;   translating these objectives into more tangible operational objectives; and   providing adequate indicators to enable the operational objectives of the organization to monitored.       

     To be representative of the normal business operations of an organization, a selected metric must be measurable within the confines of the normal business operations of the organization. Furthermore, the metric must be compliant with recognized evaluation models (e.g. the CMMI model). Similarly metrics must also to be accurately defined and documented, to be CMMI compliant and more importantly, to enable the metric to be used in a wide variety of domains. 
     Stages in Developing an Evaluation Strategy 
     The first stage of an evaluation process must establish very precise goals for the process and only metrics that satisfy these goals should be collected. When metrics are clearly linked to defined goals, individuals will use the metrics because these assist in achieving operational and/or organizational objectives. However, if metrics are not clearly linked to a defined goal, the metrics may have limited, if any, use. 
     For example, a goal may be generically described by: 
     analyzing (the name of the activity or attribute being measured) 
     for the purpose of (the overall objective of the analysis) 
     with respect to (the aspect of the activity or the attribute being considered) 
     from the viewpoint of (the people who have an interest in the measurement) 
     in the context of (the environment in which the measurement takes place). 
     Once the goals of the evaluation process have been established, questions of interest should be defined. Answers to these questions help the management team to determine whether the goals of the evaluation process have been achieved. Each of these questions should be answerable quantitatively thereby providing the metrics for the evaluation process. 
     Having identified appropriate metrics, the precision of the evaluation must be carefully specified and a collection form (or template) and data fields established. 
     The Capability Maturity Model Integration (CMMI) Model 
     The Capability Maturity Model (CMM) (CMM is a registered trademark of Carnegie Melon University) is a well-known evaluation methodology that was initially developed to give the US Department of Defense a yardstick to assess and describe the capability of software contractors to provide software on time, within budget, and to acceptable standards. It quickly evolved into a powerful tool to guide process improvement, not only for software development, but for many related fields including systems engineering, product acquisition, team management and research and development. CMMI is a modification of CMM that can be used to guide process improvement across a project, a division, or an entire organization. 
     The online metrics catalogue provides a tool that searches through a database of metrics, process indicators and guidelines derived from measurement catalogs, to identify the most appropriate metric(s) for evaluating an organization in a manner that is fully compliant with the CMMI model and the needs of an emerging business. To this end, the online metrics catalog allows searching in all of the dimensions (either alone or in combination) of a metric definition, in accordance with the needs of a client organization. 
     Accordingly, the online metrics catalog significantly reduces the amount of time required for identifying optimal evaluation metrics. To facilitate this process, the online metrics catalog provides online support and assistance, graphical representation frames and templates. The online metrics catalog also provides descriptions of advanced statistical analytical tools, to allow an organization to identify simple ways of increasing the stability of its processes. The online metrics catalog also automatically generates business directives and basic project management guidance. 
     Furthermore, the generic approach adopted by the online metrics catalog and its facilities for easy customization enable the catalog to provide substantial improvements in turnaround time throughout a product lifecycle. To facilitate this process, the online metrics catalog integrates accurate process tracking and automatic process adjustment to monitor an overall project evaluation. 
     The generic approach adopted by the online metrics catalog also provides a framework to allow the addition of further metrics and/or objectives as required. Furthermore, the generic mechanism of the online metrics catalog is compatible with the re-use philosophy and permits approximately 80% of the metrics developed in previous evaluations to be re-used in subsequent evaluations. 
     In addition, the online metrics catalog can be exported to, and duplicated and replicated in any multi-site organization in a variety of sectors including the manufacturing, financial and pharmaceutical sectors. Finally, the online metrics catalog is based on a generic database that can be accessed from a web portal. 
     The online metrics catalog can be used as a repository of CMMI information. More particularly, the online metrics catalog enables an evaluator to determine the sources of the primitive metrics used to calculate a computed metric. Furthermore, the online metrics catalog enables an evaluator to determine which algorithm is used to calculate the computed metric and the manner in which the computed metrics can be interpreted and reported. 
     Furthermore, the online metrics catalog provides a means of searching for appropriate metrics to track how specific objectives are reached. The online metrics catalog also provides a means of searching for objectives that are covered by the metrics already in place; and a means of identifying metrics that can be put in place with the basic data that are already available in the organization 
     Software Architecture of the Online Metrics Catalog 
     Referring to  FIG. 1 , an online metrics catalog  10  comprises a database of information relating to the client&#39;s specific requirements  12  (in particular, the specific goals that the client wants to track). For the sake of simplicity, this information will be known henceforth as the client&#39;s requirements  12 . 
     Online metrics catalog  10  further comprises a database of information relating to the more generalized (legal and commercial) requirements of a business field  14  in which the client is involved. For the sake of simplicity, this information will be known henceforth as general business requirements  14 . It will be appreciated that in many cases, general business requirements  14  interact or overlap with client&#39;s requirements  12 . 
     Online metrics catalog  10  further comprises a Line of Business (LoB) Golden Rules Directives database  16 , which comprises a plurality of rules defining various attributes of a metric (for example, how a metric can be calculated, how the metric can be graphically represented and how the metric may be statistically tracked). 
     Finally, online metrics catalog  10  further comprises:
         an online metrics catalog engine  18 ;   a business directives function  26 ;   a stakeholder alignment function  20 ;   a project assessment function  22 ; and   a project tracking function  24 .
 
Operation of the Online Metrics Catalog
       

     Referring to  FIG. 1  and  FIG. 2 , in use, online metrics catalog engine  18  receives at step  30  client requirements  12  information and general business requirements  14  information. Collectively, these two sets of requirements provide online metrics catalog engine  18  with the necessary information to specify the business environment in which an evaluation is to be performed and the client&#39;s expectations of the evaluation. 
     Online metrics catalog engine  18  further connects to the Line of Business (LOB) golden rule directives database  16  and selects a subset of metrics (and associated rules) therefrom which best reflect client requirements  12  and general business requirements  14 . For the sake of simplicity, the subset from the Line of Business (LOB) golden rule directives, will henceforth be known as business directives  26 . 
     The subset selection process is conducted in a two-step fashion. Before the process is started, an initialization step  32  is performed in which a draft subset is established. The draft subset comprises all the metrics and rules from Line of Business (LOB) golden rule directives  16 . After initialization step  32 , first step  34  of the subset selection process is performed, wherein metrics that do not comply with client requirements  12  and general business requirements  14  are removed from the draft subset. For example, if there is no need to track cost, then all cost related metrics are removed from the draft subset. 
     The second step  36  of the subset selection process is dependent on the CMMI level the customer wishes to attain. For example, if the client only wishes to attain CMMI Level 3, no real statistical analysis is needed. Accordingly, such statistical rules are removed from the draft subset. The resulting draft subset is then output at step  38  from online metrics catalog engine  18  as business directives  26 . 
     Business directives  26  are transferred to stakeholder alignment function  20  to identify possible deviations at step  40  from client requirements  12  or general business requirements  14 . In other words, stakeholder alignment function  20  determines how the business directives will be implemented by each stakeholder in the client&#39;s customer process (e.g. suppliers, customer development team and the client&#39;s customers). During this assessment, it may become clear that some of the selected metrics cannot be tracked in the way previously defined. For example, let a metric A in business directives  26  be a computed metric calculated on a weekly basis from a number of primitive metrics. However, let the primitive metrics only be available on a monthly basis. In this case, the definition of the metric A must be updated to reflect the frequency of availability of the primitive metrics. 
     More specifically, stakeholder alignment function  20  compares 32 features such as data coherency, data collection procedures, specifications, objectives and plans in a stepwise manner at step  34  with client requirements  12  before activating project assessment function  22 . In the event that the data coherency, data collection procedure, specification, objectives and plans do not comply with client requirements  12  or general business requirements  14 , selected business directives  26  are realigned to meet the objectives of the CMMI evaluation process. 
     When business directives  26  match client requirements  12  and general business requirements  14 ; and can be provided by all the stakeholders, a project assessment  42  is performed. The results of project assessment  42  form a baseline for assessing the subsequent performance of the client. 
     During the lifecycle of an evaluation (data collection, metric calculation and reporting, etc.), the evaluation is continuously tracked at step  44  to determine whether it is operating properly (e.g. do the results provided from the evaluation provide the answers that the client needs). The data produced by the tracking (e.g. indicators results, log file processing and multitask operation feedback) are continually compared at step  38  and aligned with business directives  26 . This enables the process to be refined and improved. 
     In addition, some process deviations can be eliminated by adjusting business directives at step  30  in light of the data collected from tracking process step  44 . Similarly, if something has changed in the client&#39;s environment (e.g. the involvement of a new stakeholder) or there has been a change in Line of Business Golden Rules Directives database  16  (e.g. a new algorithm implementation for a specific metric), these changes are continuously taken into account in the evaluation. 
     Such comparisons are performed until the evaluation is ended at step  46 . Once the CMMI evaluation is complete, online metrics catalog  10  saves the current evaluation parameters at step  48  in Line of Business (LoB) Golden Rules Directives database  16  for future re-use. 
     Modifications and alterations may be made to the above without departing from the scope of the invention.