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’ R2. 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.