Thursday, April 15, 2010

The "unknown" and effort estimation for a software projects

The definition for effort estimation that I like the most is the following one from Wikipedia:
"....effort estimation is the process of predicting the most realistic use of effort required to develop or maintain software based on incomplete, uncertain and/or noisy input"
Starting from this definition, it's obvious that any estimation is based on "unknown" - sometime it's a big "unknown", sometime it's a small one, but it's always present (if it's not present it's not an estimation). Mathematically speaking, the reliability of the estimation is inversely proportional with the size of the "unknown", so to determine the reliability of the estimation you have to quantify the "unknown".  
Like the devil, the "unknown" has many faces - it may be a missing or incomplete requirement, a new technology,  a set of open points and assertions that have to clarified/confirmed, a changing project team, etc.
One thing to remember is that the output of the estimation process must be represented by a prediction for the effort accompanied by a list of factors (the "unknown") that influence the predicted effort and a reliability indicator of the estimated effort.

No comments:

Post a Comment

Search This Blog