The idea of measuring a size of software in terms of
its ‘functionality’ as opposed to its physical components was first put forward
by Allan Albrecht of IBM in 1979 (Ref. 1). He proposed a method called
‘Function Point Analysis’ which has since evolved into the ‘IFPUG’ method. The definition of this method (Ref. 2) is now
managed by the International Function Point Users Group.
Albrecht’s clever piece of lateral thinking laid the
foundations for the subject of ‘functional size measurement’ (or ‘FSM’).
The IFPUG method actually has two components, firstly
concerned with a measure of functional size and the second concerned with
a measure of the contribution to overall size of 14 technical and quality
factors. Albrecht’s original approach has been refined significantly
over the last quarter-century, but its basic concepts are unchanged from the
mid 1970’s. Nevertheless, the IFPUG method is still the most widely-used
FSM method, albeit confined to the domain of business application software.
For a fuller description of the IFPUG method, see ‘What are the advantages
of the COSMIC method?’
Several developments from the Albrecht/IFPUG approach
have been made to improve the size measure, or to extend its domain of
applicability. The following are noteworthy.
·
Capers Jones published a method (Ref. 3) based closely on that of
Albrecht, called ‘Feature Points’, with the aim of extending FSM to apply to
scientific algorithms. The method has been largely abandoned due to the
intrinsic difficulty of sizing mathematical algorithms
·
Charles Symons developed the ‘MkII Function Point Method’ (Ref. 4) which
aimed to improve on Albrecht’s approach by better taking into account the
internal complexity of ‘data-rich’ business application software.
·
Scott Whitmire of Boeing developed ‘3D Function Points’ (Ref. 5)
to size business application and real-time software drawing on Albrecht’s
general approach. Details of the method remain proprietary to Boeing
·
The Dutch Software Metrics Association (‘NESMA’) published a variant (Ref.
6) of the IFPUG method which aimed to simplify some of the sizing rules
·
The University of Québec, Montréal and others published (Ref. 7) the
‘Full Function Point Method’ which used the IFPUG rules for business
application software and added extra components for sizing real-time software.
It will be seen that all of these methods can trace
their roots back to Allan Albrecht’s original ideas. They are what we
call ‘1st Generation’ FSM Methods.
Meanwhile, around 1994, a new Working Group 12 of the
ISO/IEC Joint Technical Committee 1, Sub-Committee 7 (Software Engineering) was
established to seek to establish an international standard for functional size
measurement. WG/12 quickly decided that no existing method was suitable for
adoption as the world standard, so set out to establish some basic
principles of FSM. This work resulted in the publication of ISO/IEC
14143/1:1997, entitled ‘Information Technology – Software measurement –
Functional size measurement – Definition of concepts’. Other standards
and technical reports in the 14143 series cover subjects like conformance
testing and verification of a candidate FSM Method and the definition of types
of software domains for FSM.
In late 1998, some members of WG12 met informally in
The meeting in
As a result of a decision of ISO/IEC JTC1/SC7 to ‘let
the market decide’, International Standards were published during 2002/3 for
the COSMIC method (ISO/IEC 19761), the IFPUG method – for its functional size
component (ISO/IEC 20926), the MkII FPA method (ISO/IEC 20968), and the NESMA
(ISO/IEC 24570)methods.
References
1. Albrecht A.J.,
‘Measuring Application Development Productivity’ in Proc. IBM Applications
Development Symposium. GUIDE Int and Share Inc., IBM
Corp.,
2. IFPUG,
1999, “Function Points Counting Practices Manual – Release 4.1”, International
Function Point Users Group (IFPUG), Wisconsin,
USA, 1999.
3. Jones,
T.C., ‘The SPR Feature Point Method’, Software Productivity Research Inc., 1986
4. Symons,
C.R., ‘Function Point Analysis: Difficulties and Improvements’, IEEE Trans
Software
5.
6. NESMA,
‘Definitions and Counting Guidelines for the Application of Function Point
Analysis. Nov 1997, (see www.nesma.org)
7. St-Pierre D., Maya M., Abran
A., Desharnais J.-M., Bourque P., “Full Function
Points: Counting Practices Manual”, Technical Report 1997-04, Université du Québec à Montréal,
8. Abran, A., Symons, C., Oligny,
S., ‘An Overview of COSMIC-FFP Field Trial Results’, 12th European
Software Control and Metrics Conference – ESCOM 2001, April 2-4,