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.