Process Metrics Effectiveness

Choose a process metrics to discuss. How effective would it be to help process improvement? How easy is it to use?

Process metrics are used to measure the components of processes which are used to obtain software. (Singh et al. 2011) Process metrics are measurements that deal with a specific project or program and enable organizations to obtain, evaluate, and communicate excellent results of process improvement.

Time is the key element that effect process metrics, as it plays a big role in the quantitative analysis of projects. Therefore, comparing the time delta between proposed time and increased time is a significant component for project completions. Hence, process metrics are very useful to assess the improvement of a process (Zelkowitz, 2009).


Process metrics are the means for the software developmental project to be sustained throughout its life cycle. These metrics are collected in order to form strategic decisions about long-term process improvements. There are several process metrics and some of them are related to and dependent on other processes. One such process metrics is the Fault or Error reporting metric, which we will be discussing here.

Fault or Error Reporting Metric

The end goal of any software development process is to come up with a software system that meets the requirements of the business, while being done on time within the financial budget, and is easy to manage with enhancements and changes (Kan 2002).

 Source: GQM Paradigm - http://rafcammarano.wordpress.com/2008/04/07/goal-question-metric-gqm-model/

The GQM or Goal Question Metric Model is an easy way to ensure that the metrics that are collected are closely related to the business goals (Cammarano 2007). The software development process is a key process specially in QA testing. Fault or Error reporting metric can greatly impact this process. This particular metric analyzes average time the development team spends on correction of error. Most software projects are carried on under strict time limits, hence, it is essential that modules are developed on time and are as free of errors as possible. However, due to interactions between the individual modules with the larger application, developing a completely error-free module is not always possible. Another issue is the error reporting structure.  A specific module may function as designed, but given for testing, it is combined with the larger application. Thus during testing, the entire application is tested and hence individual errors in the specific modules may be difficult to recognize.

Fault/Error Reporting Metrics and Process Improvement

It has been reported that using this error reporting metric can have a positive effect on the entire software development process. Some important areas of the process that can be determined using this metric are average resolution time, average amount of errors per module, error impact critical, and potential enhancement opportunities. This helps in improvement the process development directly. It is challenging to make an application stable and fault tolerant, based on components like supporting applications, hardware infrastructure, etc. Hence, fault/error reporting metrics can definitely be effecting in helping process improvement. It also helps in understanding the financial impact and impact on resources that can result in the project being completed as per the specified deadline.

How easy is it to use?

There are certain difficulties faced when using error reporting metric. These are identification and ease of usage. It is very easy to record errors with this, but the subsequent phases of analyzing and identifying the system errors pose a problem. There have been cases when users have wrongly reported a warning as an error, which has lead to negative impact on investigation timing.

Conclusion    

Process is always done either to help in process improvement or to evaluate if the success criteria of a project is achieved. Once you are clear about the strategy you are going to use for improvement, you can choose and collect the suitable metrics. It is only by collecting metrics that a project or organization’s success and performance can be validated. Metrics are the proof, without them, it is only guess work. Process identification, analysis, measurement and change are critical factors for any software development process.

References:
  • Singh, G., Singh, D. and Singh, V. (2011). A Study of Software Metrics. IJCEM International Journal of Computational Engineering & Management, Vol. 11.
  • Zelkowitz, M.V. (2009). Process Improvement. Available: http://www.cs.umd.edu/~mvz/cmsc435-s09/pdf/slides17.pdf Last Accessed 11th February 2013.
  • Cammarano, R. (2008). Goal Question Metric (GQM) Model. Available: http://rafcammarano.wordpress.com/2008/04/07/goal-question-metric-gqm-model/ Last Accessed 11th February 2013.

Elad Shalom,
CTO at ITweetLive.com

Comments

  1. Hi Elad, interesting post

    ReplyDelete

Post a Comment

Popular posts from this blog

Cloud Computing Advantages and Disadvantages

Linked Files in Visual Studio 2010

BDD, TDD, and Everything Between