Cost Estimating
Essay by 24 • June 14, 2011 • 1,492 Words (6 Pages) • 2,524 Views
Project managers must take cost estimates seriously if they want to complete software projects within budget constraints. After developing a good resource requirements list, project managers and their software development teams must develop several estimates of the costs for these resources. There are several different tools and techniques available for accomplishing good cost estimation.
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 percent higher or twenty percent lower than the estimated costs. The cost management plan is part of the overall software development project plan.
A large percentage of the total software development project costs are often labor costs. Many organizations estimate the number of people or hours they need by department or skill over the life cycle of a software development project.
Developing a good cost estimate is difficult. There are several tools and techniques available to assist in creating them. Four of the commonly used tools and techniques are analogous cost estimating, bottom-up estimating, parametric modeling, and using computerized tools.
Analogous estimates are sometimes referred to as top-down estimates. Analogous estimates use the actual cost of a previous, similar software development project as the basis for estimating the cost of the current software development project. This technique requires a fair amount of expert judgment and is less costly than the other methods. However, this method is also less accurate. Analogous estimates are most reliable when previous software development projects are similar in fact, not just in appearance. Groups preparing cost estimates must have the necessary expertise to determine whether certain parts of the software development project will be more or less expensive than analogous projects. If the software development project to be estimated involves a new programming language, or working with a new type of computer hardware or network, the analogous estimate technique may result in too low of an estimate.
Bottom-up estimates involve estimating individual work items or activities and summing them to get a software development project total. This is sometimes referred to as Activity Based Costing. The size of the individual work items and the experience of the estimators drives the accuracy of the estimates. If a detailed work breakdown structure is available for a software development project, the project manager could have each individual responsible for a work package develop their own cost estimate for that work package. The project manager would then add all of the cost estimates to create cost estimates for each higher
...
...