Estimation of Project Effort                                             

 

An estimate in person hours must be made for the total effort required to complete the project.  At least two different methods of estimation must be used, and all members of the team should be involved.  At least one of the methods should involve the calculation of function points.   In order to avoid the biases of a single individual each member of the team can be asked to come up with an estimate.  The team must then reconcile the differences between the estimates and reach a consensus on an estimate of total effort required.  For the table to calculate Function Points click here.  To convert function points to person months use the following formula:  E = 0.022 x (FP)1.05.  Convert this to person hours assuming that are 153 person hours in a person month.

A function point training manual can be found at http://www.softwaremetrics.com/Function%20Point%20Training%20Booklet%20New.pdf

 

It is recommended that you use the problem decomposition technique as the second technique. To do this first divide the total effort into separate activities and estimate the person hours to complete each activity.  As a team you should jointly decide on the activities to estimate, then have each member independently estimate the tasks.  As before, the team must then reconcile the differences between the estimates and reach a consensus on an estimate of total effort required.  For this technique, you may use the table located here or just devise your own table.  For example, you might want to estimate just the coding effort for each function or component and then consider requirements analysis, design, and testing as general activities.  As a hint, coding is usually only 25% of the total effort with analysis and design accounting for 35% and testing making up 40%.  In the case of this class project, however, you will probably do much less testing.  Make your estimates directly in person hours.

 

Attempt to reconcile the two estimates you produced and determine a final estimate.  This might be somewhere between the two or you might decide that one is a better estimate than the other and just accept it.  In any case, explain how you arrived at you final estimate.

 

Once the project is completed, the actual total effort should be determined by adding the efforts of all team members as recorded in their individual software engineering notebooks.  Also, indicate the total number of executable lines of code produced (i.e., the lines of code excluding lines containing only comments or delimiters) and the programming language used.

 

The actual effort and the original estimated effort should then be compared and an attempt should be made to explain any differences between the estimate and the actual effort.