Skip to content
SE eBook
Menu

Cost Estimation Models

Public section
Preferences are saved on this device.

Cost Estimation Models

Cost estimation models are mathematical or computational frameworks used to predict the effort, time, and cost associated with a software project. These models may be:

  • Static – based on fixed equations and parameters.
  • Dynamic – modelling how project variables change and interact over time.

Static Cost Estimation Models

Static models estimate cost, effort, or size using a fixed set of variables or parameters, without explicitly modelling how these variables change over time. They are usually applied at one point in the planning process.

Common static approaches include:

  1. Expert judgement
    Relies on the experience of senior engineers or managers, who provide estimates based on similar past projects, without using an explicit mathematical model of variable interactions.
  2. Parametric estimation
    Uses statistical or regression-based models (for example, effort as a function of size and complexity) with fixed parameters. Once calibrated, the same equations are reused for similar projects.
  3. Bottom-up estimation
    Breaks the system into smaller components, estimates each separately, and then aggregates the results. This is usually performed at a single planning point in time.
  4. Top-down estimation
    Starts with an overall estimate for the complete project and then distributes effort and cost down to subsystems and tasks.
  5. Basic and Intermediate COCOMO
    Use static, size-based effort equations (e.g. based on KLOC) combined with a set of cost drivers to compute person-months and schedule.
  6. Function-based sizing models
    Approaches such as Function Point Analysis (FPA), Feature Points, and Use Case Points use counts of user-visible functionality as the main driver for effort and cost, with relationships that are typically static.

Dynamic Cost Estimation Models

Dynamic models recognise that project variables (requirements, team size, productivity, defects, etc.) are interdependent and evolve over time. These models simulate how changes in one variable can influence others as the project progresses.

Examples of dynamic approaches include:

  • Detailed / advanced COCOMO (e.g. COCOMO II)
    Distributes effort across life-cycle phases, allows refinement as more information becomes available, and can react to changes in size, cost drivers, or process assumptions.
  • PERT (Program Evaluation and Review Technique)
    Uses optimistic, pessimistic, and most-likely time estimates for activities and updates expected completion times and critical paths as project data is gathered.
  • Agile estimation techniques (story points, velocity)
    Use short, iterative cycles in which estimates are refined based on observed team velocity and completed work. Plans are continuously adjusted as the project evolves.
Login to add personal notes and bookmarks.