point
Suresh Menon

Principal Consultant

Digital Stream Consulting

PROCESS METRICS AND SOFTWARE PROCESS IMPROVEMENT

The only rational way to improve any process is to measure specific attributes of the process, develop a set of meaningful metrics based on this attributes and then use the metrics to provide indicators that will lead for strategy for improvement

Examples of Metrics are

  • Defect Rates by Individual
  • Defect rates  by module
  • Errors found during development
  • Percentage slip in delivery schedule of software

Software process metrics can provide significant benefit as an organization works to improve overall level of process maturity.  As an organization becomes more comfortable with the collection and use of process metrics, the derivation of simple indicators give way to more rigorous approach called statistical software process improvement(SSPI). In essence , SSPI uses software failure analysis to collect information about all errors and defects encountered  as an application , system or product is developed and used. Now the whole process has evolved into a new concept called six sigma where the application of statistical techniques in a software company has gained considerable importance.

We can also make use of the fish bone diagram to show cause and effect analysis further to our discussion direct measures of the software engineering process include cost and effort applied. Direct measures of the product include lines of code(LOC) produced , execution speed, memory size and defects reported over some set period of time. Indirect measures of the product include functionality, quality, complexity. Efficiency, reliability, maintainability and many other abilities. To illustrate we consider a simple example individuals on 2 different project teams record and categorize all errors that they find during the software engineering process. Individual measures are then combined to develop team measures Team A found 342 errors during the software engineering process and team B found 184 errors because we do not know the complexity of the projects this teams are working we cannot comment which team is better, however if the measures are normalized it is possible to create software metrics that enable comparison to the management.

The Project Manager must also evaluate quality as the project progresses , private metrics collected by individual software engineers are assimilated to provide project level results.

The majority of software developers still do not measure and sadly most have little desire to begin but they should understand that measurement is one number of “medications” that may help cure the “software affliction”. It provides benefit at the strategic level at the project level and at the technical level.

In Short Software quality metrics like productivity metrics focus on the process , the project and the product. By developing and analyzing a metrics baseline for quality an organization can act to correct those areas of the software process that are the cause of software defects.

The  Author (Suresh Menon) is a subject matter expert on ERP and has worked in various capacities like Project manager, Test manager, ERP Consultant, Implementation manager, he can be contacted on sureshmenonr1009@gmail.com for comments and queries.