##
The Computational Software Equation

What one wants to measure is the "product" that is produced. This represents some measure of the fucntionality created and embedded in the product.
Naively one might begin with an equation of the form

Product + (Constant) * Effort * Time

where Effort measures the manpower measured in manmonths or years, applied to the work, time represents the time spent measured usually in months or years. The constant is a proportionality constant. This constant measures productivity.
In fact the relationship between these variables is not linear. A more accuraste equation is the following:

Product = Productivity * (Effort/B)^{(1/3)} * Time^{(4/3)}

Here Product is measured in lines of source code created (comments not included).

Productivity is a number obtained by calibration form past projects.

Effort is the manyears of work by all job classifications for the main build phase.

B is a special skills factor that is a function of size.

Size | B |

5-15K | .16 |

20K | .18 |

30K | .28 |

40K | .34 |

50K | .37 |

> 70K | .39 |

Note that is the process productivity, B and Prodcut size are kept constant
one gets the equation

Effort = Constant/Time^{4}

Empirical data support this relationship.

Return to
SoftwareEngineering home page

Last Changed: 14 October 1996