Wednesday, January 30, 2013

Measuring Productivity in Software Development

In industrial production productivity can be measured as the efficiency of a production process by the relationship of output to input. Under the following conditions this relationship can be used to measure the productivity in software development:

  • Every measurement considers the same process which finishes with a defined quality, e.g. by passing a quality gate prior to the handover to production. 
  • The input can be determined accurately and reliably by the work performance (effort) of all related workers, e.g. in man days.
  • The output can be determined by a size metric.
Hence productivity can be calculated by the quotient of size (the output) and effort (the input). A critical success factor is quantifying the output by a size metric which is free from constructive or technological aspects and only counts objects, i.e. no subjective ratings by an estimator (see: Methods for measuring the Size of Software).

In most cases the benefit of productivity measurements is first applied after a longer period of time, when sufficient experience and empirical data are available:

  • Productivity influences of changes in staffing, development methods or tools, different aspects of the constructive quality assurance, etc. can be recognized and allow specific optimizations. Without measurements the effectiveness of improvements is a matter of chance.
  • The effort for a planned development project can be estimated on basis of experiences and empirical data for similar projects, if the size of the project can be estimated accurately (effort = size divided by productivity).

No comments:

Post a Comment