Software Estimation is Just That – An Estimate
Successfully estimating a software project is not an exact science; therefore, the estimate delivered may have significant variances from actual results. This fact leads organizations to question the usefulness and value of software project estimating. However, the estimating process will always be successful if it includes one key element – open dialogue with the end user/customer.
Estimating a software project is about identifying and managing risk(s). Once the risk factors are identified, the estimator goes to work trying to determine the impact those risk factors will have on delivering the software solution on time and within budget.
A proper estimating model will be able to assess all of the risk parameters identfied and calculate an estimate based on historical data relative to the project being estimated. The output(s) from this process can then be shared with the end user/customer as appropriate.
Whether or not the resulting estimate is considered to be “accurate” may be open to debate; therefore, the value of putting forth the effort to generate an estimate may come into question. However, regardless of the actual results of the estimate, we have found that there is a great deal of value in engaging the end user in a dialogue and being very candid and open about the identified risk factors and the probability of the estimated outcomes.
The issue is as simple as building a relationship of trust and transparency with your end user. We would never represent an estimate as being 100% accurate. No one has that kind of crystal ball. But what we do know is what assumptions we made going into the estimate and our experience with probability trends. We want to let the end user know about the various risk factors we considered. In return, we want them to contribute their input, thoughts and experiences. If we are less than confident with the projected estimates we, of course, want them to know that too.
The estimating process should be viewed as an important part of a successful partnership you and your end user have in the development and deployment of the software deliverable. The estimate itself is not always the most important outcome of the process; rather, it’s the opportunity to have a deeper discussion and more thorough analysis of the software deliverable, allowing for more informed decision-making.
VP, Software Performance Management