Software Engineering: Function Point Analysis: Effort Estimation

Intro Counting Data FPs Transactional FPs Estimation

After you have a function point count, Rapid Development has the necessary formulas to compute the total effort in man-months, the optimal schedule time in months, and the number of lines of code (LOC). The following abbreviations are used here:

Choose type of project and team capabilities.

Jones's first-order estimation gives an estimate for optimal schedule months from the function point count. First you must choose the appropriate exponent, j, to use by identifying the type of system and the general capability of the development team.

Exponents for Jones's first-order estimate
Kind of softwareBest in classAverageWorst in class
Systems 0.430.450.48
Business 0.410.430.46
Shrink-wrap0.390.420.45

Calculate schedule months from function points

Jones's first order estimate formula uses the exponent, j, from the above table to compute schedule months, s, from function points, f. Schedule months do not include the requirements analysis phase, because this must have been completed to get the design needed for the function point count.
      s = fj

Calculate effort in man-months from function points

The following formula converts function points into total man-months.
      m = f3*j / 27
A spreadsheet could be used to compute this.

Lines of code

To convert the function points / effort / schedule into lines of code, use table 8-10 in Rapid Development page 196 (or tables 8-8 or 8-9 if appropriate). Look up the effort, then find the number of lines of code. This is for lines of C (or similar) code (eg, not assembler). I did a quick calculation and got about 100 lines of code per function point for one program.

Differences between the formulas and tables

The formulas and tables are not exactly the same, but give similar results. Rapid Development references papers which have studied the relationships more closely, and where one might find clarification of the differences.

Cost

Cost is often estimated from the man-months plus other expenses. A large organization I worked for figured cost was twice the salaries of the programmers to include benefits, office, and other overhead.