HN user

emjimenez

9 karma
Posts0
Comments3
View on HN
No posts found.

Software effort estimation methods fail because they ignore the margin of error. In Mathematics, engineering and statistics a result does not mean anything if it does not include the margin of error. One month may be one month if the margin of error is one day, and one month may be one year if the margin of error is one year. Classic estimation techniques like Cocomo or Albrecht Function Points ignore this fact. They have no mathematical rigor. If presented with mathematical rigor they would be absurd, because their margin of error is between 100% and 600%. Classic software effort estimation techniques are harmfull and dangerous, because ignoring the margin of error they invite to make decisions that ignore existing risks. No automatic method can replace human experience and wisdom. They have not bound margin of error too, but at least they do not pretend to hide existing risks.

In a 2001 article, J.P. Lewis demonstrated using the Kolgomorov-Chaitin-Solomonov noncomputability theorem that there are large limits to software Estimation:

http://scribblethink.org/Work/kcsest.pdf

Algorithmic complexity is not computable, then:

1. Program size and complexity cannot be feasibly estimated a priori. 2. Development time cannot be objectively predicted. 3. Absolute productivity cannot be objectively determined.

In fact, Software Estimation methods have an error margin of 100-400% (see Kemerer, C. 1987: An Empirical Validation of Software Cost Estimation Models").

Software Effort Estimation is harmfull because trusting in anything with a 400% margin of error is risky.