Software development project managers should prepare several types of cost estimates for most projects. Three basic types of estimates include a rough order of magnitude or ROM, a budgetary estimate, and a definitive estimate.
A rough order of magnitude estimate provides an estimate of what a project will cost. A rough order of magnitude estimate can also be referred to as a ballpark estimate, a guesstimate, a swag, or a broad gauge. This type of estimate is done at the early stages of a software development project, or even before a project is officially started. Project managers and upper level management use this type of estimate to help make project selection decisions. The time frame for this type of estimate is usually three or more years prior to completion of the software project. A rough order of magnitude estimate's accuracy is typically twenty-five percent below or seventy-five percent above the actual final cost of the project. In some cases, software development project managers will automatically double estimates for software development projects because of a history of cost overruns on information technology based projects.
A budgetary estimate is used to allocate money into an organization's budget. Many organizations develop budgets at least two years into the future. Budgetary estimates are made one to two years prior to the software project completion. The accuracy of budgetary estimates is typically ten percent below to twenty-five percent above the actual final cost of the project.
A definitive estimate provides an accurate estimate of project costs. Definitive estimates are used for making many purchasing decisions for which accurate estimates are required and for estimating final software development project costs. As an example, if a software development project involves the purchase of 50 copies of a compiler suite from an outside provider in the next 2 months, a definitive estimate would be required to aid in evaluating supplier proposals and allocating the funds to pay the chosen supplier. Definitive estimates are made one year or less prior to the software development project completion. A definitivie estimate should be the most accurate of the three types of estimates. The accuracy of this type of estimate is normally five percent below to ten percent above the actual final cost of the project.
The number and type of cost estimates vary by application area. Estimates are usually done at various stages of a software development project and should become more accurate as time progresses.
In addition to creating cost estimates, it is also important to provide supporting details for the estimates. The supporting details include the ground rules and assumptions used in creating the estimate, a description of the software development project used as a basis for the estimate, and details on the cost estimation tools and techniques used to create the estimate. These supporting details should make it easier to prepare an updated estimate or similar estimate as necessary.
A cost management plan is a document that describes how the organization will manage cost variances on the project. For example, if a definitive cost estimate provides the basis for evaluating supplier cost proposals for all or part of a software development project, the cost management plan describes how to respond to proposals that are higher or lower than the estimates. Some organizations assume that a cost proposal within ten percent of the estimate is acceptable and only negotiate items that are more than ten...