Function point counting is a measurement concept that was originated in 1979 by Allan Albrecht of IBM. As part of this concept, Albrecht determined software could be sized by assessing processed external transactions. IBM advanced this methodology in 1984 to include the evaluation of application complexity and categorization of system characteristics. Today, the function point counting methodology has been refined to provide a dependable, repeatable form of code analysis through automated analysis solutions.
Function point counting is unique because it allows organizations to evaluate the functional weight of software deliverables during any point of the development life cycle without necessarily understanding the functionality itself. The takes into account these factors during calculation:
- External Inputs
- External Outputs
- Internal Logical Files
- External Interfaces
Function point counting calculates a single value, which represents the total amount of functionality being delivered by an application. Size is then communicated as a stand-alone value or segmented to display information regarding specific software components.