Function Point Analysis: Difficulties and Improvements: Symons
Function Point Analysis: Difficulties and Improvements: Symons
I. INTRODUCTION
HE size of the task of designing and developing a
business computerized information system is determined by the product of three factors (see Fig. 1).
The information processing size, that is some measure of the information processed and provided by the
system.
A technical complexity factor, that is a factor which
takes into account the size of the various technical and
other factors involved in developing and implementing the
information processing requirements.
Environmental factors, that is the group of factors
arising from the project environment (typically assessed
in project risk measures), from the skills, experience and
motivation of the staff involved, and from the methods,
languages, and tools used by the project team.
The first two of these factors are intrinsic to the size of
the system in the sense that they result directly from the
requirements for the system to be delivered to the user.
Allan Albrecht has described a method known as
Function Point Analysis for determining the relative
size of a system based on these first two factors [ 11-[4].
The method has gained widespread acceptance in the
business information systems community, for system size
assessment as a component of productivity measurement,
when system development or maintenance and enhancement activities are completed. Where historic productivity data are available, the method can also be used as an
aid in estimating man-hours, from the point where a functional requirements specification is reasonably complete.
w
Environmental
Adjustment
outputs
Etc
Batch vs On-line
Performance
.Ease of Use
*
Etc
.Project Management1
. People Skills. etc
.Methods, Tools.
Languages
Description
Simple
External Input
External Output
x4=
x 4 =
__
__
Externallnquiry-x3=
x 7=
4
1 4Total
__
-x 7 =
10 =-
x 5=-
Complex
x6=
x5=
x 7 = -- x
Averaqe
-x 3 = -
-.-x
15 =-
-x
10 =-
-x
6=
__
ID
Characteristic
c1
Data Communications - C8
Distributed Functions __ C9
DI
ID
Characteristic
DI
DI Values
c2
c3
Performance - C10
Re.Useability
C4
lnStallatlonEase
Operational Ease -
C6
Multiple Sites -
c7
0.65
+ 0.01
DZ.
c5
its type and complexity [see Fig. 2(a)] and the sum for all
components is expressed in Unadjusted Function
Points (or UFPs).
2) The Technical Complexity Factor is determined by
estimating the degree of influence of some 14 component General Application Characteristics [see Fig.
2(b)]. The degree of influence scale ranges from zero (not
present, or no influence) up to five (strong influence
throughout). The sum of the scores of the 14 characteristics, that is the total degrees of influence (DI), is converted to the Technical Complexity Factor (TCF) using
the formula
TCF
UFPs
TCF.
Change
~
~ i
~ Strong
t
~influence.
t
~ Throughout = 5
or complex depends in part on the number of logical filetypes referenced from that component. As we shall see
below, the latter is roughly related to internal processing
complexity. (More recently guidelines have appeared [5]
suggesting that entities should be counted rather than
logical files.) Second, internal complexity appears as one
of the 14 General Application Characterisitics, and can
thus contribute up to 5 percent to the Technical Complexity Factor. All in all, the way internal complexity is taken
into account seems to be rather inadequate and confused.
Systems of high internal complexity studied by the author
do not appear to have had their size adequately reflected
by the FP method in the opinion of the designers of those
systems.
Finally, Function Points do not appear to be summable in the way one would expect. For example, if
three systems, discrete but linked by interfaces, are replaced by a single integrated system providing the same
transactions against an integrated database, then the latter
system will score less FPs than the three discrete systems. (Arguably the integrated system should score more
FPs because it maintains data currency better.) This result arises partly because the F P counting rules credit an
interface to both the issuing and receiving system, and
partly because the integrated file will generally score less
than the three discrete files.
One of Albrechts findings from studies of productivity
has been a falloff in productivity by a factor of roughly
3 , as system size increases from 400 to 2000 FPs [ 3 ] .
This is a very important result if true, but the finding depends on the accuracy with which FPs reflect relative
system size. Most of the above criticisms of the F P
method point toward the conclusion that the F P scale undenveighs systems which are complex internally and have
large numbers of data elements per component, relative
to simpler and therefore smaller systems. If the criticisms are valid and significant, then the falloff in productivity with system size may not be as serious as apparently
observed. Clearly it is an important issue to resolve.
NI W1
+ NE Wfi + N O WO
where
(---&pp
Stock
dd New Customer
53
Check Stock
Availability
Process
Order-Header
Process
Order-Item
Order-Item
Cancel
Stock Report by
Store & Product
Total
Product
I
I
I
20
Customer
Product-Type
Store, Stock
10
Customer
Order, Dispatch
,
84
Store, Product-Type
Stock
15
21
20
103
f---------Total
Project Man-hours-
Man-hours Devoted
lo TechnicalComplexity Factors
System
Technology
Input
MainIrame Batch
2
Mainframe On line
1 6,7..,
....,.
~~...,,,.,
2000
Albrecht
UFPs
Mini On line
0 97
1ooc
137
5 1
50 355
I
10
24
11
18
72
i,0
87i
,,,,,.
I
1 45
MainIrame On line
Fail Sate MI,.On line
Notes 1 This system obtained 11s input fiom another system Little ctlolt
was required lor input formatting and validafion
2 This PC based syslem was unusual 10producing very large
numbers ot documents with comparatively small variat~ons
across all dacumenl-types
3000
2000
Client A
Client B
( * See c o m m e n t in t e x t , S e c t i o n V-B)
0.44NI
1.67NE
+ 0.38No.
0.65 ( 1
Y/X )
1 /
O
O
l; : ; : ;(2)
( Slope = 0 005p per
e r DDI
l
12
TCF
(Actual)
Client
10 -
09
08
07
065017
019
l10
11
1l2
TCF (from D e g r e e of Influence)
018
13
14
VI. CONCLUSIONS
The experience of applying Albrechts Function Point
Method and the alternative Mark I1 approach to a variety
of systems has led to three groups of conclusions:
1) Albrecht versus Mark I1 Function Points.
2) Use of function points for productivity measurement
and estimating.
3) Limitations of function points.
NI
NO
SystemA
100
20
System B
100
20
20
Weights
(conventional technology)
05
04
Then
Size A
50
Size6
50
100
40
40
Ratio Sizes
40
AB
!30
-
98
SizeA
50
40
+ 20
Size B
50
40
Ratio Sizes A B
710
= 1 17
~
= 94
IO
pervised by one objective, experienced function point analyst. Such an analyst should accumulate and document
cases and derive general rules such as given in the Appendix, which will help ensure consistency and objectivity in function point analysis.
The suggestion has been made that it should eventually be possible to compute Mark I1 unadjusted function
points automatically from a functional model of a system
stored for example in a data dictionary. The difficulty with
this is not so much automating the counting but, bearing
in mind the previous limitation, ensuring that the model
is correct and in a form suitable for FP counting. (However the benefits of this effort may be much wider than
just the benefit of being able to count function points!)
FP analysis works for installed applications, not for
tools, or languages, such as a general purpose retrieval
language. The distinction between these two classes of
systems is not always absolutely clear. Applications provide preprogrammed functions where the user is invited
to enter data and receives output data. Tools provide commands with which the user can create his or her own functions. Business information systems are usually applications, but may sometimes incorporate tools, or features
with tool-like characteristics as well. Tools have a practically infinite variety of uses. The productivity of a group
which supports a series of tools for use by others, for example an Information Center, can only be measured indirectly by sampling the productivity achieved by the endusers who apply the tools.
A further limitation is that although in general FP
analysis works for business applications it may not work
for other types of applications, such as scientific or technical. This arises from its limited ability to cope with internal complexity. Again there is no absolute distinction
between these different categories but internal complexity
in business applications arises mainly from the processes
of validation, and from interactions with the stored data.
The Mark I1 method has aimed at reflecting these processes in a simple way. But scientific and technical applications typically have to deal with complex mathematical algorithms; FP analysis as currently defined has no
reliable way of coping with such processes.
VII. CONCLUDING
REMARKS
The function point method as proposed by Albrecht has
certain weaknesses, but it appears they can be overcome
by adjustments to the counting method as outlined here in
the Mark I1 approach. These methods still seem to offer
one of the best lines of approach for an organization that
wishes to study its trends in productivity and improve its
estimating methods for the development and support of
computerized business information systems.
APPENDIX
OF ENTITYA N D DATAELEMENT
COUNTING
SUMMARY
RULES
The following is a brief outline of the rules which have
evolved, and which will probably evolve further, to simplify entity and data element counting, and to introduce
more objectivity into the counting.
A . Entities
A distinction is made between three types of entities.
First, we count those entities with which the system is
primarily concerned. These are typically the subjects of
the main files or database of the system.
Second, we distinguish those things which data analysts
frequently and rightly consider as entities, but about which
the system holds typically only at most an identifying
code, or name, and/or a description, and which are stored
only to validate input. There are many possible rules to
help distinguish such entities; information about them is
usually held in files referred to as system master tables
or parameter tables. These are not included in our
count of entity-references per transaction, on the grounds
that their contribution to system size will be taken into
account in the count of input data elements (which is considered to account for validation).
Third, entities about which information is produced
only on output, for example in summary data reports, are
also not counted. Their contribution to system size is considered to be reflected in the count of output data elements
per transaction.
B. Data Elements
Several data element counting conventions are required; examples include:
Data element types are counted, not data element occurrences.
Conventions are needed for counting of dates (which
may be subdivided), address fields (which may be multiline), and the like.
Batch report jobs, whether initiated by an operator,
or automatically at certain points in time, are considered
to have always at least a one-data element input.
Field labels, boxes, underlines, etc., should be ignored.
ACKNOWLEDGMENT
The author acknowledges with gratitude the permission
of the two Clients A and B to use their data for this paper.
He also wishes to thank Client staff for their patience,
support, and enthusiasm in the collection and analysis of
the data.
REFERENCES
[ 11 A . J . Albrecht, Measuring application development productivity.
II
scientific and business computing, working for both Government and private organizations. His first computer programming was carricd out around
1960 to analyze data collected in reactor physics experiments for thc U K
Atomic Energy Authority. In 1964 he joined C E R N (Centre European pour
la Recherche Nucleaire) in Geneva. Switzerland, and became Opcrations
Manager of one of the largest scientific computer centres in Europe. Subsequently he joined Philips Electronics in London, arid ovcr I I years u n dertook various assignments in business data processing. These included
establishing the Corporate Information Systems Standards and Data
Administration function at Philips Headquarters in Eindhoven, in The
Netherlands. H e has published other papers on various topics in physics.
computer accounting, computer security, and data analysis.