Using Industry Experience Function Points

Perhaps the most useful form of recorded industry experience comes in function point counts. Many people measure software efforts based on the number of lines of code. The trouble with this measure is that the same function involves many more lines in a low-level language than in a high-level language. Often, an algorithm coded in one language requires more lines to be coded in another language.

A function point count is a more stable measure of software size than lines of code, because it is based on the number of inputs, outputs, files, and other measures of complexity. The International Function Point Users Group (IFPUG) has put considerable effort into devising and maintaining standard methods for sizing software.

The Function Point Method Briefly, one counts the files, inputs, outputs, and queries involved in an application. Each is rated as simple, average, or complex. Each rating is weighted to yield the unadjusted function point count. For example, if five files in an application are of average complexity (for which the IFPUG method specifies a weighting of 10), they add 50 function points to the total.

The whole application is rated on 14 measures of overall complexity, which include the degree of distributed processing and the proportion of transactions that involve online data entry. Each complexity measure is rated on a five-point scale (i.e., 70 is the highest score possible). The complexity rating is divided by 100 and 0.65 is added to yield a factor ranging from 0.65 to 1.35. The unadjusted function point count is multiplied by this factor to obtain the adjusted function point count.

For example, the counting and weighting of files and other items produces an unadjusted function point count of 1000. The application is of significant complexity and the rating of the 14 complexity measures gives a total of 60 points. As 60/100 + 0.65 is 1.25, the adjusted function point count would be 1250.

Measuring Productivity in Function Points Many thousands of projects have been analyzed to build up function point databases, which can be used to compare the effort that went into each project with the number of function points created. Wide ranges of productivity exist. For example, with inexperienced staff, unstructured methods, ordinary tools, and low-level languages, productivity ranges from 0.25 to 5 function points per staff month. At the other end of the range, with experienced staff, structured methods, power tools, and high-level languages, productivity ranges from 20 to 100 function points per staff month. IS projects generally range from 3 to 50 function points per staff month, and the average is 8 function points.[1]

If a project team can achieve ten function points per staff month, then a 1250-function-point project takes 125 staff-months or ten people a little longer than a year. If productivity is 20 function points per staff month, then the work can be done in half the time.

Although function points are a reasonable sizing measure, they are not much use in estimating effort unless productivity can be estimated. To do that requires a track record of the project productivity of the staff.

Project Management Made Easy

Project Management Made Easy

What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.

Get My Free Ebook


Post a comment