Function Points FAQs
Are there any types of applications for which IFPUG function points may not be a suitable measure of applications size?
The Function Point metric, as defined by the International Function Point User Group (IFPUG) in the Counting Practices Manual (CPM), is the most widely used functional size measure in the IT industry. FPA measures functionality by quantifying the software's processes and data files.
The technique has been used extensively throughout the 1990s and is found to deliver a valid and effective measure of size for systems that display Management Information System (MIS) characteristics. MIS systems include:
- Software whose primary role is maintaining and reporting on data
- Systems whose end users are primarily external business users
- Systems where application to application interfaces do not represent the majority of business functions
- Systems where the amount of data movement within the system is a good indicator of the overall process size
- Systems where processes tend to have a predominant role which determines process type (ie Input, Output, Enquiry)
- Data rich systems ie systems where the data groups, accessed by system processes, are a major contributor to system size
The IFPUG method measures data movements (transactions) and static data (files). Therefore by definition, the IFPUG FPA technique is not well suited to measuring the size of applications that do not exhibit these components as the major part of the functionality delivered. Ie.
- Process rich, data poor systems
- Systems exhibiting computational/algorithmic complexity - Economic modelling applications
- Scientific applications - for example Climate modelling applications
- Real-time, Process control systems - Exchange alarm systems, systems that control equipment.
- Embedded/infrastructure software - operating systems, protocol converters, utilities, device drivers
- Gateway applications, robots/screen scrapers
- Static web sites - See Section 2.3.14. Web Based Applications
- Middle Ware Applications - See Section 2.3.16. Middleware Applications
IFPUG FPA can be interpreted and adapted to these types of systems, (See Issue : Robots, File Transfer Systems - Number of Applications Counted and, Robots, File Transfer Systems - Counting Guidelines) however the results obtained are not directly comparable to size results obtained for MIS systems.
The limitations identified in measuring these types of software have resulted in a number of variants being proposed to IFPUG FPA. These have included:
- Feature Points (Jones 1989)
- MK II Function Points (Symons 1991)
- 3D Function Points (Whitmire 1992)
- Full Functions (Software Engineering Management Research Laboratory, Universite du Quebec a Montreal, 1997)
- COSMIC (Common Software Measurement International Consortium 1999)
Each of these variants has attempted to address the perceived limitations of IFPUG for non MIS systems. The COSMIC-FFP technique is a recent development that endeavours to bring together the "best" concepts from each of the above variants. A number of the founding members of this COSMIC development group were developers of the early FPA variants.
The COSMIC-FFP method embraces both data rich and process rich software. It claims to overcome many of the IFPUG limitations by:
- Recognising the existence of different software layers
- Sizing elementary process at the sub-process level, thereby allowing the size of a functional process to grow to reflect all functionality provided
- Not requiring functional processes to be classified into type
- Considering the impact of referencing data in the size of processes but not also counting the static data as part of functional size
A public domain version of the COSMIC Measurement manual and other technical reports can be found on the Web at URL: http://www.cosmic-sizing.org/