0% found this document useful (0 votes)
53 views9 pages

Function Point Analysis - PB

Function Point Analysis (FPA) is a method to estimate the time and cost of developing or maintaining software by measuring certain attributes of the system. These attributes include inputs, outputs, files, inquiries and interfaces, which are each assigned a complexity weight and counted. Additional factors that influence the project effort are also rated. The weighted counts and adjustment factors are used to calculate the size of the project in function points. This size can then be used to estimate time, cost and productivity comparisons. However, FPA does have some limitations and criticisms around its application and consistency.

Uploaded by

bansal25
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
53 views9 pages

Function Point Analysis - PB

Function Point Analysis (FPA) is a method to estimate the time and cost of developing or maintaining software by measuring certain attributes of the system. These attributes include inputs, outputs, files, inquiries and interfaces, which are each assigned a complexity weight and counted. Additional factors that influence the project effort are also rated. The weighted counts and adjustment factors are used to calculate the size of the project in function points. This size can then be used to estimate time, cost and productivity comparisons. However, FPA does have some limitations and criticisms around its application and consistency.

Uploaded by

bansal25
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 9

Function Point Analysis

What is Function Point Analysis (FPA)?


• It is designed to estimate and measure the time, and
thereby the cost, of developing new software applications
and maintaining existing software applications.
• It is also useful in comparing and highlighting opportunities
for productivity improvements in software development.
• It was developed by A.J. Albrecht of the IBM Corporation
in the early 1980s.
• The main other approach used for measuring the size, and
therefore the time required, of software project is lines of
code (LOC) – which has a number of inherent problems.
Function Point Analysis
How is Function Point Analysis done?
Working from the project design specifications, the
following system functions are measured
(counted):
• Inputs
• Outputs
• Files
• Inquires
• Interfaces
Function Point Analysis
These function-point counts are then weighed
(multiplied) by their degree of complexity:
Simple Average Complex
Inputs 2 4 6
Outputs 3 5 7
Files 5 10 15
Inquires 2 4 6
Interfaces 4 7 10
Function Point Analysis
A simple example:
inputs
3 simple X 2 = 6
4 average X 4 = 16
1 complex X 6 = 6
outputs
6 average X 5 = 30
2 complex X 7 = 14
files
5 complex X 15 = 75
inquiries
8 average X 4 = 32
interfaces
3 average X 7 = 21
4 complex X 10 = 40
Unadjusted function points 240
Function Point Analysis
In addition to these individually weighted function points, there are
factors that affect the project and/or system as a whole. There are a
number (~35) of these factors that affect the size of the project
effort, and each is ranked from “0”- no influence to “5”- essential.
The following are some examples of these factors:
• Is high performance critical?
• Is the internal processing complex?
• Is the system to be used in multiple sites and/or by multiple
organizations?
• Is the code designed to be reusable?
• Is the processing to be distributed?
• and so forth . . .
Function Point Analysis
Continuing our example . . .
Complex internal processing = 3
Code to be reusable = 2
High performance = 4
Multiple sites = 3
Distributed processing = 5
Project adjustment factor = 17

Adjustment calculation:
Adjusted FP = Unadjusted FP X [0.65 + (adjustment factor X 0.01)]
= 240 X [0.65 + ( 17 X 0.01)]
= 240 X [0.82]
= 197 Adjusted function points
Function Point Analysis
But how long will the project take and how much
will it cost?
• As previously measured, programmers in our
organization average 18 function points per
month. Thus . . .
197 FP divided by 18 = 11 man-months
• If the average programmer is paid $5,200 per
month (including benefits), then the [labor] cost
of the project will be . . .
11 man-months X $5,200 = $57,200
Function Point Analysis
Because function point analysis is independent of
language used, development platform, etc. it can
be used to identify the productivity benefits of . . .
• One programming language over another
• One development platform over another
• One development methodology over another
• One programming department over another
• Before-and-after gains in investing in programmer
training
• And so forth . . .
Function Point Analysis
But there are problems and criticisms:
• Function point counts are affected by project size
• Difficult to apply to massively distributed systems or to
systems with very complex internal processing
• Difficult to define logical files from physical files
• The validity of the weights that Albrecht established –
and the consistency of their application – has been
challenged
• Different companies will calculate function points slightly
different, making intercompany comparisons
questionable

You might also like