I think we are all familiar with the Function Point concept, used for evaluation of the size of a software application in terms of functional features. We are all well aware of the limits of this unit of measure, to the point that it is considered rather obsolete in the software engineering community: subjectivity is the main flaw that people tend to highlight for FP analysis, despite some existing standard, mainly from ISO, tried to solve the issue. FP are currently used in industry and public administrations for issuing calls and describing complexity, but usually it is adopted only in paperworks, not by software designers and developers.
A few research activity have recently tried to bind function point analysis to model-driven engineering practices, at the purpose of automating the counting of FP starting from software models (for instance, you can look at the paper “Automating function point analysis with model driven development” presented at CASCON’06), but that remained a purely theoretical exercise, even if it was actually implemented in the WebRatio tool suite at the time.
That’s why I have been surprised when I got the news that OMG recently adopted a new standard related to Function Point analysis.
The new standard is called Automated Function Point (AFP). The initiative was led by the Consortium for IT Software Quality (CISQ) and by David Herron, coauthor of Function Point Analysis and leader of the international team that developed the standard
The Automated Function Point (AFP) was voted as an OMG specification in January 2013 through an RFC process (request for comments).
AFP provides a standard for automating the popular Function Point measure according to the counting guidelines of the International Function Point User Group.
Richard Soley commented the news as follows:
“Function-point counting has been around for ages. But function-point estimation has always been just that—estimation. […] 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.”
If the standard will keep his promise, I think it can bring back the concept of function point to a level that makes it usable from actual software engineers. However, I think we will need something more than that for revitalizing the usage of FP in technical activities. In a sense, I think that trust in FP analysis has been probably irremediably lost in the software engineering community.
Do you agree / disagree with my viewpoint?