Thursday, April 6, 2023

List of common top-down and bottom-up approaches to cost estimation:


Top-Down Approaches:

  • Analogous Estimating
  • Consensus Estimating
  • Expert Judgment
  • Ratio Estimating
  • Project Estimating Software
  • Apportionment Method

Bottom-Up Approaches:

  • Work Breakdown Structure (WBS) Estimating
  • Three-Point Estimating
  • Parametric Estimating
  • Historical Data Estimating
  • Vendor Bid Analysis
  • Monte Carlo Simulation

Note that some approaches, such as function point analysis and feature point analysis, can be used as both top-down and bottom-up methods, depending on how they are applied. The choice of approach will depend on the nature of the project, the level of detail required, the availability of historical data and expert judgment, and other factors.

The consensus estimation


Consensus estimates refer to the process of obtaining an estimate for a project or task that is agreed upon by a group of experts or stakeholders. This approach involves bringing together individuals with relevant expertise or knowledge to collaborate and develop an estimate that is based on their collective input.
  1. The consensus estimation process typically involves the following steps:
  2. Identify the experts or stakeholders who will be involved in the estimation process. These individuals may include project managers, subject matter experts, team members, and other relevant stakeholders.
  3. Develop a detailed project plan or task list that outlines all of the individual components or activities that make up the project or task.
  4. Invite the experts or stakeholders to provide their own individual estimates for each component or activity.
  5. Compare the individual estimates and identify any significant discrepancies or differences.
  6. Discuss the reasons for any differences or discrepancies and work to resolve them through further discussion, analysis, or negotiation.
  7. Revise the estimates based on the input and feedback of the experts or stakeholders.
  8. Continue the iterative process of discussion and revision until a consensus is reached and a final estimate is agreed upon.

Consensus estimates can be useful for ensuring that all relevant expertise and knowledge is taken into account in the estimation process, and for increasing the accuracy and reliability of the final estimate. This approach can also help to build consensus and buy-in among stakeholders, which can increase the likelihood of project success.


Ratio estimation 

Ratio estimation can be used to estimate the cost of a project by using the ratio between the cost of a known project and the cost of the project you want to estimate. Here are some steps to follow when using ratio estimation for project cost estimation:

  1. Identify a known project that is similar in nature and scope to the project you want to estimate. This project should have a similar cost structure, similar resources and similar activities.
  2. Obtain data on the total cost of the known project. This may involve collecting data directly or using data that is already available.
  3. Identify the major components of the known project cost, such as labor, materials, equipment, and overhead.
  4. Calculate the ratio between the cost of each major component and the total cost of the known project. For example, if the labor cost of the known project was $100,000 and the total cost was $500,000, the labor cost ratio would be 0.2 (20%).
  5. Use the ratios calculated in step 4 to estimate the cost of each major component of the project you want to estimate. For example, if you estimate that the total cost of the project you want to estimate is $750,000, you would estimate the labor cost to be around $150,000 (20% of $750,000).
  6. Add up the estimated costs for each major component to get an estimate of the total project cost.
It's important to note that ratio estimation is not a perfect method and may not always provide accurate estimates. It is important to ensure that the known project used for the ratio estimation is truly similar in nature and scope to the project you want to estimate, and that there are no significant differences in factors that can affect cost such as location, complexity, or materials. Additionally, it's important to consider other factors that may affect the cost of the project, such as inflation or changes in market conditions.


Apportionment estimation
Apportionment estimation is a method of estimating project costs by allocating costs to different work activities or project components based on past experience or expert judgment. Here are the steps to follow when using apportionment estimation for a project cost estimate:

  1. Identify the major components or work activities of the project. This may include materials, labor, equipment, subcontractors, and other costs.
  2. Obtain historical data or expert judgment on the percentage of total project cost that can be attributed to each major component or work activity. This can be done through a review of previous similar projects or through consultation with experts in the field.
  3. Allocate the percentage of total project cost to each major component or work activity based on the data or expert judgment obtained in step 2.
  4. Calculate the estimated cost of each major component or work activity by multiplying the percentage allocated to that component by the total estimated cost of the project.
  5. Add up the estimated costs for each major component or work activity to get an estimate of the total project cost.

For example, if historical data or expert judgment indicates that 30% of the total project cost can be attributed to materials, 40% to labor, and 20% to equipment, you would allocate those percentages to the respective components based on the estimated total cost of the project. If the estimated total cost of the project is $100,000, you would estimate the cost of materials to be $30,000 (30% of $100,000), the cost of labor to be $40,000 (40% of $100,000), and the cost of equipment to be $20,000 (20% of $100,000).

It's important to note that apportionment estimation is based on past experience and expert judgment, which may not always provide accurate estimates. It is important to ensure that the historical data or expert judgment used for the estimation is reliable and relevant to the project being estimated. Additionally, it's important to consider other factors that may affect the cost of the project, such as inflation or changes in market conditions.


Function point estimation
Function point estimation is a method of estimating the cost of a project based on the complexity and functionality of the software being developed. Here are the steps to follow when using function point estimation for a project cost estimate:

  1. Identify the functionalities or features of the software being developed. This may include user interfaces, data storage, processing logic, and other components.
  2. Assign a complexity level to each functionality or feature based on its complexity and the effort required to develop it. This can be done using a function point analysis (FPA) method, which assigns point values to each functionality based on factors such as data inputs, outputs, files, queries, and interfaces.
  3. Calculate the total function points for the software being developed by adding up the point values for each functionality or feature.
  4. Determine the cost per function point based on historical data or expert judgment. This can be done by dividing the total cost of previous similar projects by the total function points for those projects.
  5. Multiply the total function points for the software being developed by the cost per function point to estimate the total cost of the project.
  6. For example, if the software being developed has a total of 500 function points and the cost per function point is $100, the estimated total cost of the project would be $50,000 (500 function points x $100 per function point).

It's important to note that function point estimation is based on assumptions and estimations of the software being developed, which may not always provide accurate estimates. It is important to ensure that the function point analysis method used is reliable and relevant to the project being estimated, and to consider other factors that may affect the cost of the project, such as inflation or changes in market conditions.




Here are some sample questions and solutions related to function point estimates:

Question 1: A software development project has 800 function points and the cost per function point is estimated to be $120. What is the estimated total cost of the project?

Solution: Total cost of the project = Function points x Cost per function point Total cost of the project = 800 x $120 Total cost of the project = $96,000
Therefore, the estimated total cost of the project is $96,000.

Question 2: A software development project has the following functionalities and associated complexity levels:
User interface: high complexity (15 function points)
Data storage: medium complexity (10 function points)
Processing logic: low complexity (5 function points)

If the cost per function point is $150, what is the estimated total cost of the project?

Solution: Total function points for the project = 15 + 10 + 5 = 30

Total cost of the project = Function points x Cost per function point Total cost of the project = 30 x $150 Total cost of the project = $4,500

Therefore, the estimated total cost of the project is $4,500.

Question 3: A software development project is estimated to have 500 function points. Historical data shows that the average cost per function point for similar projects is $80. What is the estimated total cost of the project?

Solution: Total cost of the project = Function points x Cost per function point Total cost of the project = 500 x $80 Total cost of the project = $40,000

Therefore, the estimated total cost of the project is $40,000.
Learning curve estimates

Learning curve estimates of cost for a project is a method of estimating the cost of producing a unit of output, such as a product or service, based on the experience gained through repetitive tasks. The learning curve theory is based on the assumption that the more a task is performed, the more efficient and productive the worker becomes.

Here are the steps to follow when using learning curve estimates of cost for a project:

  1. Determine the learning rate, which is the percentage improvement in productivity that is expected with each doubling of output. For example, if the learning rate is 80%, this means that the time required to produce a unit of output will be reduced by 20% with each doubling of output.
  2. Determine the cost of producing the first unit of output, which is called the unit 1 cost. This can be based on historical data or expert judgment.
  3. Calculate the expected cost of producing additional units of output using the learning curve formula:
  4. Cost = Unit 1 cost x (Output quantity)^(-log(Learning rate)/log(2))
  5. where:Unit 1 cost is the cost of producing the first unit of output
  6. Output quantity is the number of units of output being produced
  7. Learning rate is the percentage improvement in productivity with each doubling of output


Add up the costs of producing all of the units of output to estimate the total cost of the project.

For example, if the unit 1 cost is $10,000, the learning rate is 80%, and the project involves producing 1,000 units of output, the estimated cost of producing the 1,000 units of output would be:
Cost = $10,000 x (1,000)^(-log(80%)/log(2))
Cost = $10,000 x (1,000)^(-0.3219)
Cost = $10,000 x 0.4391
Cost = $4,391


Therefore, the estimated total cost of the project would be $4,391 x 1,000 = $4,391,000.

It's important to note that learning curve estimates of cost assume that the project is producing the same product or service repeatedly, and that the learning rate remains constant throughout the project. This may not always be the case, and it's important to consider other factors that may affect the cost of the project, such as changes in the production process or input costs.



No comments:

Post a Comment