The effort required to complete a software project is a prime factor that is used to arrive at the price. A good effort estimate for a software project also helps create a realizable development plan and support realizable plan revisions. A good estimate is not the only factor that determines the success of the software project. Nevertheless, having a good estimate is surely a factor that has significant benefits.
Here are the characteristics of a good software project estimate:
- Based on a well defined and credible effort estimation technique.
- Detailed enough so that the coverage of the full scope of the project is verifiable and leads to no ambiguity.
- The validity, relevance and credibility of historical data used and expert judgment are maintained high.
- Assumptions are clearly mentioned and verified with the client. Tendency of assumptions not to hold true is evaluated - failures are either tackled as risks or added to the Terms and Conditions of the contract.
- Risks identified, their impact assessed, and incorporated into the estimate.
- Facilitates future revision without much burden.
Apart from the above, a good estimate needs to be accepted and supported by the development team, project manager and other stakeholders of both the development company and the client.