ANALOGY


The analogy cost estimation technique involves comparing one or more completed projects in a similar domain as a means of producing new estimates. This can be achieved by analysing the data collected from these completed projects against the new project, assessing similarities. As the development effort is known this is used as a basis for estimating the current project. Estimation by analogy seems straightforward, but there are a number of problems that need to be addressed, how to determine project features ? These are restricted to information that is available at the start of the estimation process, examples of these can include application domain, software process and so forth. Other common problems are how many projects should we measure against ? Too few projects can lead to maverick projects being used; too many projects can weaken the effect of the closest analogies. With this estimation method the need for an expert is eliminated, therefore the sometimes difficult knowledge elicitation stage disappears as analogy systems examine problems that have occurred, unlike other cost estimation techniques which need to tackle all possible problems anticipated on a project.

 

The process involved to predict software cost estimates can be broken down into the following steps according to [COWDEROY & JENKINS]

1 Selection of analogies

2 Assessing similarities and differences

3 Assessment of analogy quality

4 Consideration of any special cases

5 Creating the estimate

 

1 Selection of analogies

The first stage in the process is to actually compile a database of suitable completed projects that we can measure similarities against in our new project. The selection process therefore involves selecting analogous projects that reflect both the development environment and project features as the new project.

2 Assessing similarities and differences

Now that we have a suitable database of analogous projects, the next stage is to assess the similarities to the new project. Similarity is determined in terms of project features, the number of features depend upon the data available to characterise the projects. [SHEPPERD et al.] reports datasets with as few as one project feature and as many as 29 features being used.

The process of selecting analogies can be achieved by the similarity in n-dimensional space where each dimension corresponds to a project feature. The most similar projects will be those closest together in n-dimensional space. The idea of n-dimensional space can be depicted below, the diagram has only 3 dimensions as it is hard to express more than 3 dimensions in a diagram.

Figure 6 N-dimensional space

Upgrade your browser to Internet Explorer 3.0

 

Figure 6 gives an example of how the selection process occurs. Lets suppose that we want to measure the effort for the new project, by analysing project features experience, function points and effort. From visualising 3-dimensional space you can clearly see that project B is closest to the new project and project A would be rejected is this case because of the substantial distance in dimensional space. The example here is rather trivial but in essence it is what happens. A realistic approach would involve more projects and dimensions or project features being used. This allows you to select the closest analogies to the new project, ultimately leading to a more accurate estimate.

3 Assessment of analogy quality

To access how well the quality of analogy predications perform you can apply estimation predication quality measures:

  • absolute error
  • percentage error and mean percentage error
  • magnitude of relative error (MRE) & mean magnitude of relative error (MMRE)
  • pred(25)

The results from the quality measures can be fed back into the analogy process to examine the results of why some estimates are better than others.

4 Consideration of any special cases

Sometimes it may be necessary to exclude some projects from consideration. Although the project could have been selected in stage 2 for similarities, that project might have a project feature that you wish to ignore. For example, the project under consideration may have used an unusual design methodology.

Assessment of Analogy

Other Reasons to use Analogy

 

The whole process of storing analogous projects eliminating redundant features to finding analogies can be automated by a PC based software tool known as ANGEL (ANaloGy softwarE tooL) developed by Chris Schofield and is available as a shareware copy. This machine learning tool is the focus of a research project being undertaken at Bournemouth University. For further information on the this tool, please click on the angel link.

Further Information

A paper by [SHEPPERD, SCHOFIELD, KITCHENHAM], discusses effort estimation using analogy in detail, and is available by clinking on the link


This page was last updated 12/3/97 Dan. Snell, Bournemouth University, Copyright. 1997