An effective software metrics helps software engineers to identify shortcomings in the software development life cycle so that the software can be developed as per the user requirements, within estimated schedule and cost, with required quality level, and so on. To develop effective software metrics, the following steps are used.
- Definitions: To develop an effective metric, 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 to ambiguity occur.
- 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 the future requirements. While defining a model, the following questions should be addressed.
- Does the model provide more information than is available?
- Is the information practical?
- Does it provide the desired information?
- 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.
- Decide what is good: Once it is decided what to measure and how to measure, it is necessary to determine whether action is needed. 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 actions.
- Metrics reporting: Once all the data for metric is 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.
- Additional qualifiers: Additional metric qualifiers that are 'generic' in nature should be determined. In other words, metric that is 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 metrics in an organization depends on the attitudes of the people involved in collecting the data, calculating and reporting the metrics, and people involved in using these metrics. Also, metrics should focus on process, projects, and products and not on the individuals involved in this activity.