11 Resource measurement: Productivity, teams and tools


A. Törn - Contents - - Previous chapter - Next chapter - - Previous page - Next page

11.1 The meaning of productivity

Often in software engineering productivity is defined as size per effort (the productivity equation). One problem is how to measure effort. Days can be of different lengths and all efforts may not be included. For size other factors pertaining to quality are also very important. Compared to productivity in other manufacturing most of the work goes into initial design, which is a creative process, whereas replication is trivial and thus cheap.

11.2 Productivity of what?

We should therefore distinguish the productivity of the process from the productivity of the resources (people). In order not to get the negative effects to be expected when measuring people, we should rely on a goal-driven approach to measurement, and make clear the likely benefits to all concerned.

We must realize that measurement will refer to personal productivity during a given process while working on a particular product. Table 11.2 highligths several possible limitations of the productivity equation (only the four first examples apply).

Reuse poses problems when calculating productivity, see Example 11.1.

11.3 Measuring productivity

First, to make effective use of the productivity equation, we must solve the problem of variations in the definition of size. As a result some researchers have proposed that we measure programmer productivity as

number_of_function_points_implemented / person_months

For an example, see Example 11.2. Because function points are difficult to calculate, tables like Table 11.4 could be used.