Introduction to Function Points
The software industry has many problems; one major problem is
our inability to estimate software costs. The great majority of
software projects come in over budget or are cancelled.
What kinds of problems?
- KDSI (1000s of delivered source instructions)
We use a metric that is not standardized and that violates a
fundamental productivity principle. (higher productivity => improved metric number)
- Accounting
The software industry has no standard way of measuring/accounting for
the cost of developing and maintaining software.
- Productivity Data
Our industry has been allowed to publish raw, unverified project
data. The result: we tend to overstate productivity and understate costs
- Estimating
Far too many software projects are estimated using the WAG method.
Managers accept poor estimates because they don't know better.
Function points?
- Unit of work
A function point is a proven, accepted software unit of work metric
that is based on the user requirements.
- Large body of projects
There is a large body of statistical data available; you can
compare your projects to 1000s of previous projects.
- Organization
There is an international organization,
IFPUG, dedicated to
function point theory and practice.
IFPUG certifies function point professionals and provides training
materials and tools.
Metrics
- Project Size
The size of a project is the total number of function points
required to do the work.
- Productivity
Hours per function point is an industry-accepted metric.
Many people use function points/person-month since person-months
are the standard unit of time measurement.
- Department Productivity
Total function points / Total logged time
- Quality
There are a wide variety of metrics used:
e.g. defects per function point
- Cost
$ per function point
Adapted from Dan Stearns
Last updated 4/12/07