The analogy estimation method is also called top-down estimation. It is a method to estimate the cost of a new project by comparing the actual cost of a similar project that has been completed.
The analogy estimation method is suitable for evaluating projects that are similar to historical projects in terms of application, environment, and complexity. The constraint is that similar comparable software development systems must exist. The accuracy of estimation results depends on the integrity and accuracy of historical project data and the approximation between the current project and historical project.
The premise for using this method is:
A. The measurement of the scale and workload of previous projects is correct;
B. At least one previous project has a similar scale and a new project;
C. The development cycle, methods, and tools used for new projects are similar to those of previous projects, and the skills and experience of developers cannot be the same as those of previous projects.
The basic steps of analogy are as follows:
1. Sort out the project function list and encode the number of lines for each function;
2. Identify the similarities and differences between each function list and historical projects. Pay special attention to the fact that historical projects are not adequate.
Fang; (take a cut, increase your mind; avoid making the same mistake)
3. Obtain the estimated values of each function through steps 1 and 2;
4. generate an estimate of the scale.
Advantage: the estimation is accurate;
Disadvantages: It depends on actual experience. Similar projects must be available for reference.
Using Analogy Method often solves the estimation problem of reusable code. The best way to estimate the amount of reusable code
Programmers or system analysts examine existing code in detail to estimate the need to duplicate reusable code for a new project.
Percentage of newly designed code, percentage of code to be re-encoded or modified, and percentage of code to be re-tested
. Based on the three percentile ratios, the following formula can be used to calculate equivalent new code lines:
Equivalent code line= [(Redesign% +Recode% +Retest%)/3]× Existing code lines
For example, if there are 10,000 lines of code, assume that 35% needs to be re-designed, 55% needs to be re-encoded, and 75% needs to be re-tested.
The equivalent code line can be calculated as follows:
[(30% + 50% + 70%)/3] × 10,000 = 5,500 equivalent code lines.
That is, reusing the 10000 code is equivalent to writing 5500 lines of code.