History of Functional Size Measurement Print
Written by Cosmic   
Wednesday, 11 June 2008 09:19

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. He proposed a method called 'Function Point Analysis' which has since evolved into the 'IFPUG' method. The definition of this method 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 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' 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' 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 (www.nesma.org) of the IFPUG method which aimed to simplify some of the sizing rules
  • The University of Québec, Montréal and others published (www.lrgl.uqam.ca/ffp.htm) 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. COSMIC published its latest definition of the method, v2.2, in January 2003.


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.


Last Updated ( Monday, 21 July 2008 15:51 )