#delivery #estimate

idea

Cost of adding features to software grows exponentially with its size.

Time required by tasks is non linear. Task 2x as big might take 4x longer. Empirical evidence shows cost evolves quadraticly (exponent 1.5). Effort $E$ is determined by

$$E(n_{lines}) = const \times (n_{lines})^{1.5}$$

Determining the constant is given historic effort $E_h$ is

$$const = \frac{E_h}{\sqrt{n_{lines}}^{1.5}}$$

Also the consequence is that reducing the code base by a ratio of $\delta_{lines}$ (i.e. remove $\delta_{lines}$% of the code) means a delta in effort of[1]:

$$\delta_{E} = \frac{1}{\sqrt{1-\delta_{lines}}} $$

i.e. Reduce code by %, go % faster.

links

references