Software Sizing Standards

Software sizing is used to estimate the size of a software application or component to support cost estimating, progress tracking, and other software project management activities. CISQ has published two standards for automating the measurement of software size.


Automated Function Points Used for the functional sizing of transaction-oriented software applications
Automated Enhancement Points Used for the sizing of both functional and non-functional code during software maintenance activities

The Automated Function Points measure was specified to mirror the counting guidelines of the International Function Points User Group (IFPUG) as closely as possible, while removing ambiguity to support automation. Traditionally, Function Points have been measured manually and counts can vary by +/-10% among certified counters. Automation is critical for the practice of software sizing to become affordable, consistent, and frequent. Manual review is infeasible for large multi‐layer, multi‐language, multi‐platform systems.


Function Points have been difficult to use during maintenance and enhancement activities because they do not measure non-functional code, which can account for over half the size of modern applications. Automated Enhancement Points were defined to solve this challenge by measuring the size of both the functional and non-functional code, and summing them into a Function Point-like measure.


Helpful resources: