|

ISO Standard for Functional Size Measurement

Functional size measurement - what is it?
Organisations engaged in software engineering have struggled for years in search of acceptable quantitative methods for measuring process efficiency and effectiveness, and for managing software costs, for the systems they acquire, develop, enhance or maintain. One critical, and particularly elusive, aspect of this measurement requirement has been the need to determine software size. Numerous software sizing methods have been proposed in the past. These included numbers of source lines of program code and various measures derived from the technical characteristics of the software. These methods have limitations in that they can not be:
- applied early in the software development process,
- applied uniformly throughout the software's life time,
- easily interpreted in business terms, or
- meaningfully understood by users of the software.
The concept of Functional Size Measurement (FSM) overcomes these limitations by shifting the focus away from measuring how the software is implemented to measuring size in terms of the functions required by the user. The first method to develop this concept was Function Point Analysis developed in 1979 by A. Albrecht of IBM. Since the public release of Function Point Analysis, many sizing methods have been developed based on its concepts. Differing interpretations of the original concepts have resulted in inconsistencies amongst the various sizing methods. These inconsistencies lessened the ability and attractiveness of any of these methods to be a used as a standard method for the functional sizing of software.
Background FSM StandardsIn late 1992 the software metrics User Groups from Australia, UK, Netherlands and the USA created a workgroup under ISO/IEC JTC1/SC7. A suite of standards was proposed as part of the WG12 Project 7.31 to resolve inconsistencies and establish a more rigorous method for functional sizing. As the standards have progressed the following user groups have actively contributed to their development.
- Australian Software Metrics Association (ASMA)
- Centre d'Intérêt sur les Métriques (CIM)
- Deutschsprachige Anwendergruppe für Software Metrik und Aufwandschätzung (DASMA)
- Finnish Software Measurement Association (FiSMA)
- French Function Point Users Group (FFPUG)
- Gruppo Utenti Function Points Italia (GUFPI), (now: Italian Software Metrics Association, ISMA)
- International Function Point Users Group (IFPUG)
- Japan Function Point Users Group (JFPUG)
- Netherlands Software Metrics Association (NESMA)
- UK Software Metrics Association(UKSMA)
Status of the Standards
ISO/IEC JTC 1/SC 7 Working Group 12 (WG12) administered the 7.31 project for Software Measurement: Functional Size Measurement during its development stage. The maintenance of the standards has been assigned to a sub-group of Working Group 6(WG6). The Project is made up of six component parts:
- Definition of Concepts
- Conformity Assessment of Software sizing methods to ISO/IEC 14143-1:2007
- Verification of a Functional Size Measurement Method
- Functional Size Measurement Reference Model
- Determination of Functional Domains for use with Functional Size Measurement
- Guide for use of ISO/IEC 14143 series and related international standards
Part 1 of this standard ISO/IEC 14143-1:1998 was published in June 1998 as a full International Standard, and revised in 2007. Part 2 of this standard ISO/IEC 14143-2:2002 was published in 2002 as an International Standard and revised in 2008 to reflect changes in 14143-1. Parts 3, 4 and 5 are published as Technical Reports (TR) ISO/IEC 14143-3:2003, ISO/IEC 14143-4:2002 and ISO/IEC 14143-5:2004. Technical Reports are not as rigorous nor prescriptive as full International Standards since they usually represent an area which is still evolving and has not yet settled sufficiently to be 'set in rock' as a standard. It is anticipated that these Technical Reports will evolve into full International Standards over time. Each of the standards is available from the National Standards Bodies within each country, or via the SC7 web site www.jtc1-sc7.org through the Products & Services/ISO Store link. Part 6 was published in 2007.
In addition, the following Methods have been confirmed as International Standards:
- ISO/IEC 19761:2003 COSMIC - A Functional Size Measurement Method [MON] (to be updated to reflect COSMIC v3 during 2008)
- ISO/IEC 20926:2003 IFPUG 4.1 Unadjusted functional size measurement method -- Counting practices manual [MON] (under review)
- ISO/IEC 20968:2002 Mk II Function Point Analysis -- Counting Practices Manual
- ISO/IEC 24570:2004 NESMA Guide to Using Function Point Analysis
- ISO/IEC 29881 FiSMA sizing method is in the final stages of review
The first of these, (COSMIC) went through the usual ISO process for creating an IS, and the other methods used the PAS (Publicly Available Specification) route to arrive at the IS status.
Structure of FSM Standards
The following sections describe each of these standards and how they assist users of Functional Size Measurements achieve the stated benefits.
Part 1 : Definition of Concepts: Part 1 identifies the common fundamental characteristics of functional size measurement methods and defines a set of generic mandatory requirements for a method to be called a Functional Size Measurement Method (FSMM). The role of this part of the standard is to promote the consistent interpretation of FSM principles and facilitate comparability between Functional Size measures. It is anticipated that the main users of this part 1 will be those persons who are involved in developing functional size measurement methods and need to know their fundamental characteristics. People who need to verify that a particular software sizing method complies with the fundamental concepts of an FSM may also use it.
Part 2 : Compliance Assessment of Software sizing methods to ISO/IEC 14143-1:2007: Part 2 establishes a framework for assessing the extent of compliance of a particular functional size measurement method with the mandatory requirements of Part 1 of this standard. It aims to ensure that the outputs from this compliance assessment process are objective, impartial, consistent, repeatable and correctly represent the characteristics of the functional size measurement method being assessed.
Through the introduction of this standard, the benefits anticipated are:
- Compliance assessors will have specific procedures to follow when assessing the extent of compliance of a software sizing method with Part 1.
- Provision of a framework for all the inputs, processes and outputs of a compliance assessment for a functional size measurement method against Part 1.
- Enable the production of a standardised output report from a compliance assessment which will allow users of a software sizing method to evaluate the strengths and weaknesses of different methods and select the one which is most suited to their needs.
- Assistance to developers of potential Functional Size Measurement Methods in complying with the mandatory requirements of Part 1.
- Increase User awareness of the relative merits of FSM Methods.
Persons needing to verify that a particular software sizing method complies with the fundamental concepts of an FSM will use part 2 of this standard. Pam Morris (Australia) is the project editor. Peter Fagg from the UK is the co-editor.
Part 3 : Verification of a Functional Size Measurement Method: Although a number of functional sizing methods are currently in use worldwide there is no framework within which their effectiveness as measurement techniques can be expressed. This standard provides the process and the criteria against which the functional size can be validated. It is aimed at assisting designers and promoters of functional size measures to meet the specified criteria and to state their level of conformance to measurement theory and practice.
Through the introduction of this Technical Report the benefits anticipated are that it will:
- Provide a framework procedure for use when users or developers need to verify the capability of an FSM Method.
- Allow users of an FSM to evaluate the strengths and weaknesses of different FSM Methods and select the one most suited to their needs.
- Provide a tool for FSM Methods which will assist them in refining their technique to be more effective as a sizing method.
- Reduce the frequency of inappropriate claims of some current sizing methods.
- Increase end user awareness of the relative merits of FSM Methods as measurement techniques.
Part 3 of 14143 will be used by persons needing to check that a particular FSM Method is an effective measurement technique. Canada's representative, Professor Alain Abran is the project editor for Part 3.
Part 4 : Functional Size Measurement Reference Model: Users of the various functional sizing methods have made various claims regarding their limitations or usefulness when applied to different types of software such as management information systems, real time and scientific software. However there is no current agreement on Standard Reference sets of Functional User Requirements against which such claims can be verified. The purpose of this project is to provide reference points against which users of the validation process can assess the effectiveness of an FSM for different software types in various software environments.
Through the introduction of this Technical Report the benefits anticipated are:
- Developers of an FSM Method will be able to test the functional domains for which their method can be used effectively and refine their method.
- Persons verifying an FSM Method will be provided with reference objects against which an FSM can be applied and compared.
- Reduction in the inappropriate use of some current sizing methods.
- Better comparison of data used in quality and productivity benchmarking.
Persons needing to verify that a particular FSM Method is an effective measurement technique and persons needing example sets of functional user requirements from different functional domains will use part 4 of this standard.
The project editor for this part of the standard is Professor Eberhard Rudolph of Bremerhaven University in Germany. The assistant editor is Mitsuhiro Takahashi of Japan.
Part 5 : Determination of Functional Domains for use with Functional Size Measurement: Users of the various functional sizing methods have made various claims regarding their limitations or usefulness when applied to different types of software such as management information systems, real time and scientific software. However there is no current agreement on the characteristics of the Functional User Requirements which would classify them into different functional domains. The different terms describing software types have only been loosely defined by convention. The purpose of this part 5 is to establish a standard for classifying functional user requirements for use in the application of FSM.
Through the introduction of this Technical Report, the benefits anticipated are:
- Users of FSM will be able to evaluate the characteristics of their functional user requirements and categorise them as belonging to one or more functional domains.
- Selection of the FSM Method which has been shown to be appropriate for those functional domains relevant to the Functional User Requirements to be sized.
- Developers of an FSM Method will be able to clearly state the functional domains for which their method can be used effectively.
- Compliance testers and assessors of functional size measurement methods will be provided with clear guidelines for determining the functional domains for which their method is effective.
Persons needing to check the effectiveness of their FSM Method or check the compliance of functional size measurement methods will use part 5 of this standard. It may also be used to assess the functional domain of a particular set of functional user requirements so as to determine which FSM Method is most appropriate for their needs. The project editor for Part 5 is Carol Dekkers of the USA. Mary Bradley of USA is the co-editor.
Part 6 : Guide for the use of 14143 series, and related International Standards: The functional size obtained by measuring of a piece of software, contributes to a better understanding of the characteristics of the software and the software's development, maintenance and support activities. The three types of international standards and technical reports that relate to the definition and use of functional size and/or functional size measurement are:
a) Type 1: Describes concepts and provides definitions,
b) Type 2: Supplies information which enables evaluation of Functional Size Measurement Methods and examples of the software domains that they measure, and
c) Type 3: Defines instances of Functional Size measurement Methods.
This part of ISO/IEC 14143 provides a summary of the FSM related standards and the relationship between:
- the ISO/IEC 14143 series functional size measurement framework standards that provide the definitions and concepts of Functional Size Measurement and conformance and verification of FSM Methods, and
- the ISO/IEC standard FSM Methods, i.e. ISO/IEC 19761, ISO/IEC 20926, ISO/IEC 20968 and ISO/IEC 24570.
This part of ISO/IEC 14143 also provides a process to assist users to select an FSM Method that meets their requirements. This standard also gives guidance on how to use functional size. Recommending a specific FSM Method is outside the scope of this standard.
The audiences of this standard are:
- users and potential users of Functional Size Measurement; and
- developers of a Functional Size Measurement Method.
Part 6 has been proposed to be reviewed to reflect the updates to the set of standards.
If you would like more information about the standards please contact the chair of the sub-group of WG6 working on maintenance of the standards, Mr. Mitsuhiro Takahashi jacky_takahashi@yahoo.co.jp mentioning '14143 Info via ISBSG' in the subject line.
ISO 12207 and ISBSG Effort Phase map
The following table is provided as a guide for those organisations that use the ISO 12207 standard.
 |
ISO 12207 Project Steps
(Steps in ISO 12207 – Software Engineering Lifecycle Processes)
|
ISBSG Effort Phase |
| 1 |
Requirements Elicitation |
Specify |
| 2 |
System Requirements Analysis |
Specify |
| 3 |
System Architecture Design |
Specify |
| 4 |
Software Requirements Analysis |
Specify |
| 5 |
Software Design |
Design |
| 6 |
Software Construct (Code & Unit Test) |
Build |
| 7 |
Software Integration |
Build |
| 8 |
Software Testing |
Test |
| 9 |
System Integration |
Test |
| 10 |
System Testing |
Test |
| 11 |
Software Installation |
Implement |
| 12 |
User Support |
Implement |
|