Saturday, November 5, 2011

How Designing best software metrics?



Effective software metrics help a software engineer to identify shortcoming in the software development life cycle, so that software can be developed as per user requirements, within estimated schedule and cost estimate, required quality level, and so on. For defining software metrics, a number of steps are followed, which are definition of entities and attributes to be measured, defining a model, establishing counting criteria, deciding what is good , reporting metrics and additional qualifiers. To develop effective software metrics, a number of steps are followed, namely:
  1. Definitions: To develop effective metrics, it is necessary to have a clear and concise definition of entities and their attributes that are to be measured. Terms like defect, size, quality, maintainability, user-friendly, and so on should be well defined so that no issues relating to ambiguity occur.
  2. Define a Model: A model for the metrics is derived. This model is helpful in defining how metrics are calculated. The model should be easy to modify according to future requirement. While defining a model, the following question should be addressed:

·        Does the model provide more information than is available?
·        Is the information practical?
·        Does it provide the desired information?
      
      3.    Establish counting criteria: The model is broken down into its lowest level metric entities and the counting criteria (which are used to measure each entity) are defined. This specifies the method for the measurement of each metric primitive. For example, to estimate the size of a software project, line of code(LOC) is a commonly used metric. Before measuring size in LOC, clear and specific counting criteria should be defined.

4. Decide what is good: once it is decided what to measure and how to measure it, it is necessary to determine whether action is needed or not. For example, if software is meeting the quality standards, no corrective action is necessary. However, if this is not true, then goals can be established to help the software conform to the quality standards laid down. Note that the goals should be reasonable, within the time frame, and based on supporting action. 

5. Reposrt data: Once all the data for metrics are collected, the data should be reported to the concerned person. This involves defining report format, data extraction and reporting cycle, reporting mechanisms, and so on.

6. Determine additional qualifiers: Additional metric qualifiers that are generic in nature should be determined.  In other words, metrics that are valid for several additional extraction qualifiers should be determined.
The selection and development of software metrics is not complete until the effect of measurement and people on each other is known. The success of metric in an organization depends on the attitudes of the people involved in collecting the data, calculating and reporting the metrics.
Although many software metrics have been proposed over a period of time, ideal software metric is one which is easy to understand, effective and efficient. In order to develop an ideal metrics, software metrics should be validated and characterized effectively.

1 comment: