CAST Software says that it has cracked the complexity of measuring function points in software by using automation. Automated function point counting provides development organizations an accurate productivity analysis at a substantially lower cost than manual counting, the company said.
A function point is an ISO standardized unit of measurement for expressing the amount of business functionality that an information system provides to an end user. CAST created algorithms for measuring function points in both custom and packaged applications from Oracle, SAP and Siebel Systems. The capability has been added to CAST’s Application Assessment Automation product.
Function point counts are used to determine the complexity of software, and thereby to estimate how long it should take to build, and also to measure developer productivity. “Productivity is defined as output in function points divided by the amount of effort it takes to create those function points,” said Jitendra Subramanyam, director of product strategy at CAST. The number of function points changes as an application is modified, and an accurate measurement should take that into account, he added.
However, despite the progress than CAST has made with its algorithms, the function-point solution is not fully automated because some areas are subjective, acknowledged Subramanyam. “The standard itself has portions that are not computable.”
CAST’s software detects small changes to function point counts that occur through maintenance work, which may be difficult to pick up through manual counts. Although maintenance and enhancements may occur in small bits, those small bits soon add up to a large amount of labor costs, said Subramanyam. “Function points don’t change on a continuous basis… Capturing that output metric gives a more accurate measure of productivity.”
Counting function points in small applications such as bug fixes is extremely difficult to do manually due to limits in adjustment, agreed Capers Jones, founder of Software Productivity Research, a consulting company, and an expert on the topic of function points and software estimation.
CAST’s software will also make it possible for organization to determine function point counts for large applications, Jones said, adding that it’s hard to manually count above 15,000 function points—and that large software can get much larger than that limit.
“Big applications in the 300,000-point size never get counted. Windows is in the 100,000 range, and Oracle and SAP are in the 300,000 range,” he said.
Accuracy in automating function point counts has been an issue, SPR’s Jones said. “In order to count [function points] well, people normally need to be trained and pass a certification exam. Most certified counters come within 3% [accuracy]. Trying to match that accuracy is not easy. CAST is probably first company that was able to do it.”
CAST’s automated function point-counting capabilities can work across composite applications, supporting over 30 commonly used technologies and frameworks, said Subramanyam. It measures calls from the UI to recreate the user experience from the data layer to the source code.
By applying some automation to function point counting, Subramanyam says that CAST has reduced the cost of manual measurement by two orders of magnitude from US$7 per function point to 7 cents per function point. The cost estimates are based upon research found in Jones’ book “Applied Software Measurement,” first published in 1991.
Manually counting function points is slow and expensive, Jones said. “The CAST methodology is fast and cheap.” He estimates that consultants charge around US$3,000 per day on average, and can count up to 400 function points daily. “CAST probably counts 1,000 per minute; it’s several orders of magnitude faster.”