# Estimating with functional size

The main use of functional size is to provide an estimate of the effort of implementing an application (or parts of an application, hereafter also referred to as ‘applications’) on basis of the specifications.

**Contents**

Constructing an estimating model

Important construction principles

### Constructing an estimating model

For estimating with functional size, both the size and the corresponding effort (the related number of work hours) of a number of applications must be captured. With help of a simple regression analysis (‘ordinary least squares’) the relationship between sizes and work hours can now be obtained and made visible in Excel. The relationship between sizes and work hours can be expressed by e.g. a linear function (see Figure below). This function (‘estimation model’) can be used

- as a project, tender and/or a Return of Investment estimate,
- to serve as a second opinion to an estimate given by a project manager or a contractor.

With new application sizes and the corresponding work hours of implementations the company data registration can be updated for estimations of future implementations.

As an example, suppose that the specifications of a number of applications below have been measured and realized, with the indicated implementation effort:

Application |
Size (CFP) |
Effort (hours) |

Application1 | 50 | 190 |

Application2 | 90 | 355 |

Application3 | 45 | 165 |

Application4 | 60 | 315 |

Application5 | 85 | 370 |

Application6 | 120 | 365 |

Application7 | 30 | 195 |

Application8 | 65 | 295 |

These data result in the graph of the Figure below, with the relationship between size and effort indicated by the trend line. The Figure also displays the formula of the trend line and the ‘determination coefficient’ R^{2}. The determination coefficient indicates the preciseness of the estimation model, of which the maximum is 1. The closer to 1, the better the line fits the points.

**Figure – The estimation model**

As the formula is a ‘best fit’, it makes no sense to use all decimals of the indicated formula, it produces ‘order of magnitude’ estimates of effort needed to implement an application, given its sizes in CFP. I.e. the formula can be rounded, meaning that efforts can be estimated with help of the simple formula.

**Effort (hours) = 2,5 * Size (CFP) + 109**

As an example, with a measured size of a specification of 100 CFP, the estimated effort would become 2,5 * 100 + 109 = 359 hours.

### Important construction principles

Note that it is vital to realize that

- the hours of all applications be collected for the same set of implementation activities;
- each estimate is the estimate of the hours to perform
*that*set of implementation activities; - the formula is calibrated for the organization where these numbers were collected, an organization with a different development environment may get different efforts;
- the formula is calibrated for the available size range, i.e. don’t use it for sizes far outside this range;
- the formula will change when new data are added;
- before adding the size and effort data, the size must be updated if the implemented functionality differs from the measured functionality;
- if desired, estimating models can be devised per software environment and/or per type of software to be developed.