The idea of Allan Albrecht

Contents
Sizing the functionality of software
Developments of other first generation methods
International standardization of functional size measurement
The development of the COSMIC method
Image of FSM methods and their evolution over time
References
.

Sizing the functionality of software

Allan AlbrechtThe 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 30 years, 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.

Developments of other first generation methods

Several developments from the Albrecht/IFPUG approach have been made to improve the size measure, or to extend its domain of applicability. They are what we call ‘first generation’ FSM methods (see below). 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

To understand the limitations of first generation methods, see ‘Advantages of the COSMIC method’.

International standardization of functional size measurement

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 then-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. This standard has been updated to ISO/IEC 14143/1: 2007

In 1998, some members of WG12 met informally in London and decided to develop a new ‘second generation’ FSM Method. The difference would be that the new method would be designed, starting only from basic established software engineering principles (‘1st generation’ FSM methods all used an ad hoc model of software functionality and were all calibrated on the relative effort to develop their respective functional components.). The group was able to draw on the past experience of FSM methods and aimed to be compliant with ISO/IEC 14143/1:1997 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 version 3.0 in September 2007. With this version, the name of the method was simplified to ‘the COSMIC method’. Subsequent versions have several further improvements to help understanding but there have been no changes to the fundamental principles of the method since it was first published. .

The development of 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. The ISO/IEC 19761 standard is revised every few years to be aligned with the latest version of the COSMIC method. .

Image of FSM methods and their evolution over time

The image below displays the versions of FSMs that have become ISO standards, and a timescale:
Image of FSM methods and their evoluation over time

(Courtesy C. Gencel)
.

More on the history of the COSMIC method and other related functional size measurement methods can be found in COSMIC Function Points – Theory and Advanced Practices edited by Reiner Dumke and Alain Abran

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.
  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.