Standard Components
Standard Components are used to estimate size if you develop many programs that are architecturally similar to each other. The Standard Component Method is also known as the PROBE method.
Description
You first need to find relevant elements to count in your previous systems. The specifics will vary depending on the kind of work you do. Typical systems might include dynamic Web pages, static Web pages, files, database tables, business rules, graphics, screens, dialogs, reports, and so on. After you've identified what the standard components are, you compute the average lines of code per component for your past systems.
Proxy based estimating produces size estimates based on previous developments in similar application domains. A proxy is a unit of software size that can be identified early in a project. Examples are screens, files, objects, logical entities, functions and function points. Proxies can be easily visualized from embryonic project specifications such as requirements documents. They can then be translated into lines of code by reference to historical sizes of similar proxies in previous development projects. Lines of code together with productivity figures can then be used to predict the resources required for a project.Here proxy is a placeholder for effort estimation. Function points are example of proxies.
Some criteria for good proxy:
- Proxy is a size measure and should relate closely to effort
- Should be mechanically countable
- Should be easy to visualise up front
A variation on this approach is based on the use of percentiles rather than estimated number of components. In this approach, you again need to have enough historical projects to compute meaningful percentiles (in other words, at least 10 historical projects, and, ideally, closer to 20). But if you have that much historical data, rather than estimating a number, you can estimate how much different from average you believe each component will be.
Limitations of Standard Components
The standard components approach has the advantage of requiring very little effort other than using your instincts to assess the sizes that the standard components will be in the new system and looking up the corresponding entries in the reference table.
The practice of standard components is not based on counting, and so it violates the general principle of count, compute, judge. It does, however, tie estimates back to something familiar, and so it can be useful at times.
Overall, while the use of standard components is probably not the best technique to use later in a project, it can support the goal of minimizing the effort to create an early-in-the-project estimate that is subject to a high degree of inaccuracy anyway because of the Cone of Uncertainty.