The concept of Function Points was invented by Alan Albrecht 25 years ago, yet they remain a mystery to most developers today. That's unfortunate, because once you know the functional size of an application, you've opens a new door to accurate project cost estimation and other useful metrics.

A recap of the process of Function Point Analysis shows that Function Points:

Are measured from the user's perspective (not a developer's perspective).

Are independent of the technology used to develop the application.

Are low cost, adding less than a 1% overhead to your process.

Are repeatable, as studies have shown that certified function point counters can come within 10% of each other.

Are ``use case friendly'', because counting function points typically corresponds to processes defined in use cases.

Using Function Point Analysis helps you more accurately estimate:

Project cost

Project duration

Optimum project staffing size

An accurate counting of function points leads to a wealth of valuable statistics that can be used to improve the development process, including:

Number of developer hours per FP.

Number of total hours per FP.

Cost per FP.

Number of FPs per month/week/day.

Number of bugs/defects per FP.

Number of bug/defect hours per FP.

Productivity increases (or decreases) due to technology changes.

These metrics, and others like them, can be used as part of the feedback loop to improve your software development lifecycle.