Skip to content
SE eBook
Menu

Size-Based Effort Estimation Models (Single and Multivariate)

Public section
Preferences are saved on this device.

Static Single-Variable Model

A static single-variable model uses one main size parameter, such as Lines of Code (LOC) or Function Points (FP), to estimate effort:

(3.1)

$$E = a \times (\mathrm{Size})^{b}$$

Where:

  • E = Effort (typically in person-months)
  • Size = LOC, KLOC, or FP (depending on the model)
  • a, b = constants derived from historical data

These models are simple and easy to apply, but:

  • They do not capture variations in complexity, team capability, or technology.
  • They are less reliable for projects that differ significantly from the historical data used to derive a and b.

Static Multivariate Model

A static multivariate model uses multiple factors to estimate effort or cost, such as:

  • Project size
  • Complexity
  • Team experience
  • Tools and environment

These models are more expressive and can account for interactions between attributes. Typical examples include:

  • COCOMO family (size + cost drivers)
  • Walston–Felix model and other early parametric models

Specific Estimation Models

Software Engineering Lab (SEL) Model

The SEL model, introduced by NASA’s Software Engineering Laboratory, is a static, single-variable model used for estimating software production. The effort and development time according to the SEL model are calculated as follows. Let L be the size of software (often in thousands of lines of code, KLOC). Then:

(3.2)

$$E_{SEL} = 1.4 \times L^{0.93}\ \text{person-months}$$

(3.3)

$$D_{SEL} = 4.6 \times L^{0.26}\ \text{months}$$

Walston–Felix Model

The Walston–Felix model, developed at IBM (1977), relates delivered source code size L (in KLOC) to effort and duration. According to Walston and Felix, effort and development time are computed as:

$$E = 5.2 \times L^{0.91}\ \text{person-months}$$
$$D = 4.1 \times L^{0.36}\ \text{months}$$

The productivity index (I) defined by Walston and Felix uses 29 variables (i = 1 to 29) that are highly correlated to productivity:

$$I = \sum_{i=1}^{29} W_i X_i$$

Where Wi is the weight factor for the ith variable, and Xi \in \{-1, 0, +1\}. The estimator assigns Xi as:

  • -1 if the variable decreases productivity
  • 0 if the variable has no effect
  • +1 if the variable increases productivity

Example 3.1: Comparing Walston–Felix and SEL Models

Problem: A software project is expected to require 8 person-years of effort. Compare the SEL and Walston–Felix models by estimating the size of software (in LOC) that can be produced.

Solution: Manpower involved = 8 Person Years (PY) = 96 (12 × 8) person-months (PM). The number of lines of code can be obtained by reversing the effort equation:

$$L = \left(\frac{E}{a}\right)^{\frac{1}{b}}$$

Accordingly:

  • $L(\text{SEL}) = \left(\frac{96}{1.4}\right)^{\frac{1}{0.93}} \approx 94{,}264\ \text{LOC}$
  • $L(\text{Walston–Felix}) = \left(\frac{96}{5.2}\right)^{\frac{1}{0.91}} \approx 24{,}632\ \text{LOC}$

Interpretation: For the same effort (96 person-months):

  • SEL model predicts the team can deliver about 94 KLOC.
  • Walston–Felix model predicts about 25 KLOC.

This large difference shows why it is important to:

  • Understand the assumptions behind each model.
  • Use models calibrated with local historical data.
  • Treat these formulas as guides, not absolute truth.
Login to add personal notes and bookmarks.