Method

The measure of software development productivity is generally taken to be the time spent by a developer for a unit of development. The problem remains however of how to measure a unit of development.

This problem of computer science, normally known as the software metric problem has been around for many years. Perhaps the most venerable and widely known metric is the lines-of code (loc) metric, whereby we just count the number of lines of code written to quantify the unit of development.

However this solution brings with it its own problems:

  • do we count only procedural commands?
  • do we count comments and declarations too?
  • should there be a maximum and/or minimum length for each line?
  • how are macro-instructions and other code-dense techniques to be evaluated?
  • are lines of code in different languages equivalent?

The real problem of loc as a metric is that regardless of its shortcomings as a comparator, it is useless as a predictor. We cannot know the number of lines of code in a project until after it has been completed.

In the late seventies an IBM researcher, Allan Albrecht, proposed a unit of measurement called Function Pointsa. Function Point Analysis (FPA) measure the ‘size’ of a requirement based on externally measurable characteristics such as the number of interfaces, the number of entities and so on. The essence of FPA is that it measures independently of implementation and it measures on the basis of information known close to the beginning of the lifecycle. Over the last twenty years the use of FPA has grown internationally and an community now collaborates to standardise function points (the International Function Point User Group - IFPUG) .

This study uses FPA as the metric because it provides a publicly documented and consistent way of comparing the projects studied. It also provides some comparisons, albeit not as rigorous, with other studies conducted .

Continue
Back to Contents