Building parametric models
by Barry Boehm
Over the years, we have evolved a seven-step approach for building, calibrating, and evolving parametric estimation models. These have primarily involved the Constructive Cost Model (COCOMO) family of software cost and schedule estimation models, but have also included estimation models for software quality and system engineering. The seven steps in the approach are:
- Review the relevant literature to identify likely successful and unsuccessful model forms, and likely model parameters.
- Perform behavioral analyses of the effects of candidate model parameters on the quantities being estimated.
- Involve experts in converging on consensus definitions of input and output parameters, counting rules, rating scales, and underlying assumptions.
- Conduct a Delphi exercise with the experts to determine the mean and variance of their estimates of the effects of model parameters.
- Gather and analyze project data to determine the data-determined mean and variance of the effects of the model parameters.
- Use the data results to determine a Bayesian a-posteriori adjustment of the expert-determined a-priori model parameter values.
- Continue to use the resulting model and to gather project data to look for anomalies in model estimates vs. actuals, and to iterate the model to better explain the anomalies.
This tutorial will summarize our experience in applying this approach across several parametric models in the COCOMO extended family. It will also address such added considerations as in-process feedback cycles, data conditioning, choice of parametric model form, outlier and scope analysis, and model reformulation.