The Object Management Group (OMG) board of directors has adopted the Automated Function Point (AFP) specification, which is a way of measuring the size of IT application software.
The Consortium for IT Software Quality (CISQ) led the push for adoption. AFP provides a standard for automating the popular function-point measure according to the counting guidelines of the International Function Point User Group (IFPUG). While several automated counters are on the market, there has never been a standard that ensures they are all counting the same way.
"Function-point counting has been around for ages—at least since 1979," said Richard Mark Soley, chairman and CEO of OMG. "But function-point estimation has always been just that—estimation. Two people could count the same code and come up with two different numbers; worse, one person could count a code base twice and get two different results.
"With the new OMG Automated Function Point specification, function-point counts aren't estimations; they're counts—consistent from count to count, and person to person. Even more importantly, the standard is detailed enough to be automatable; i.e., it can be carried out by a program. This means it's cheap, consistent and simple to use—a major maturation of the technology," he said.
Soley told eWEEK the AFP specification is the biggest news to come out of OMG's December meeting.
"The announcement by OMG of a specification for [AFP] counting should dramatically expand the use of function points for sizing IT applications," Bill Curtis, director of CISQ, said in a statement. "By dramatically reducing the cost of counting and eliminating the problem of inconsistency among manual counters, Automated Function Point measurement can become a standard component of the software development and maintenance process."
Function points measure the size of IT application software by measuring the business functionality the application provides to users. The cost of a single unit is calculated from past projects. The function-point count is a critical input for other parameters, such as cost effectiveness and productivity.
Function points were defined in 1979 by Allan Albrecht at IBM. Lines-of-code measures are typically used to size application software. However, lines-of-code measures reward low-level languages because more low-level code is necessary to do the same functions you can do with less code using a higher-level language.
Indeed, lines-of-code measures have been the center of much controversy since there is no standard and there are many variations for how lines of code are counted, CISQ's Curtis told eWEEK. "These problems have given rise to the popularity of function points as an alternative measure for sizing software," he said.
Moreover, up until now, certified counters have counted function points manually, Curtis said. "Manual counting is expensive, and certified counters can differ by 10 percent or more in their counts on the same piece of software," he said. So having a standard for automated counting offers clear advantages, he added. "This new standard should help spread the use of function points much more widely since it helps solve the two major problems of manual counting."
Capers Jones, a software industry measurement expert and vice president and CTO of Namcook Analytics, said the specification will bring function-point analysis to the fore. Jones has written books on software costs and estimation. He is an advisor to CISQ.
"The arrival of automated high-speed function-point counting will elevate the importance of function-point analysis from being a tool for midrange applications to becoming a powerful tool for executive analysis of the largest and costliest software applications," Jones said in a statement. "Both software productivity and software quality data based on function points will expand rapidly, as will reliable software benchmarks."
AFP is available to the public for free download at www.omg.org. CISQ will be hosting a webinar to discuss the standard on Thursday, Feb. 14 at 11 a.m. The CISQ Webinar will be led by Curtis and David Herron, who is co-author of Function Point Analysis and led the international team that developed the specification. Visit www.it-cisq.org for more information and to register.