To produce credible plans, estimates are required of effort and duration, (and from which cost can be derived), to meet the specified objectives. For the plans to be realistic, it is also necessary to secure the resource commitments in order to undertake the initiative in accordance with the schedule. Cost estimation in the context of software development is notoriously difficult. In order to improve standards of cost estimation, it is necessary to adopt a cost estimation process, based on using different estimation methods and measures at different stages in the project life-cycle, and incorporating feedback mechanisms to improve both individual estimating expertise and the accuracy of estimation models.