History of Functional Size Measurement

 

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 London and decided to develop a new FSM Method, starting from basic established software engineering principles.   They were able to draw on the experience of the past 25 years of FSM and aimed to be compliant with ISO/IEC 14143/1:2003 from the outset.  The method should be equally applicable to MIS/business software, to real-time and infrastructure software (e.g. as in operating system software) and to hybrids of these.

 

The meeting in London resulted in the foundation of ‘COSMIC’, the Common Software Measurement International Consortium.  The first version of its method, ‘COSMIC-FFP v2.0,’ was published in October 1999, as the first, true ‘2nd Generation’ FSM Method.  Extensive and successful field trials were carried out over 2000/2001 (Ref. 8).  COSMIC published v2.2 of the method in January 2003 and its latest version 3.0 in September 2007. With this version, the name of the method was simplified to 'the COSMIC method'.

 

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. In 2008, the ISO/IEC 19761 standard is proceeding through the ISO process to be aligned with version 3.0 of the COSMIC method.

 

References

 

1. Albrecht A.J., ‘Measuring Application Development Productivity’ in Proc. IBM Applications Development Symposium. GUIDE Int and Share Inc., IBM Corp., Monterey, CA Oct 14-17, 1979, p83.

 

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 Eng., vol 14, no. 1, Jan 1988

 

5. Whitmire, S.A., ‘3D Function Points: Scientific and Real-time Extensions to Function Points’. Proceedings of the 1992 Pacific Northwest Software Quality Conference, 1992

 

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, Montréal, Canada.  (See www.lrgl.uqam.ca/ffp.html)

 

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, London (England), 2001.