Function Point Analysis

FPA - Function Point Analysis is one of the best methods for measuring functional size of a software. It is defined within the IFPUG FSM Method.

The FPA principles were introduced in 1979 by Alan Albrecht and his IBM colleagues. Then IBM waived the copright making FPA public and available to anyone and in 1986 IFPUG has been chartered. IFPUG (International Function Point Users Group) is a non-profit organization which promotes and encourages use of Function Points.

In general FPA helps develop consistent and accurate counting guidelines and maintains Public Standard for Sizing Software (CPM).
Function Point Analysis is a consistent, standardized method for measuring the functionality delivered to an end user.

Although it's available at the early project's development stage, it provides acceptable and meaningful level of accuracy.
Functional size measurement (FSM) is accomplished using the information in a language that is common to both users and developers.

Strengths and weaknesses of the FPA method

These days, time and money are the most valuable resources, therefore every business invention can be boiled down to looking for time- or money-savings. And so is with Function Points Method. Basically, the process of application developing or modifying usually is unknown - it's very difficult to predict what exactly is profitable.

In case of logistics, everything can be boiled down to kilometers, for instance. In case of IT applications, problem is more complex. The role of logistics' kilometers is played by function points there. Thank to them, it is easy to estimate the time needed for introducing changes or developing a new application. Thank to standardization it's also easier to compare the complexity of two (or more) applications written in different programming languages. Moreover, it no longer is a problem to rate development efficiency or estimate needed resources.

On the other hand, there still are countries which FPA isn't popular in. Why?
In a word, it must be remembered that Function Points Analysis isn't free of disadvantages.

  • Most of the weaknesses concern low accuracy of evaluating because usually a 'subjective judgement' is involved.
  • Gaining proficiency in the Function Point Analysis is not easy, the learning curve is quite long.
  • The method is quite time-consuming thus might result costly. External consultancy might be helpful, especially during the initial projects.

    Against all odds, FPA remains the most common method for measuring the applications. Moreover, it still is being developed and improved, therefore its disadvantages are supposed to get eliminated quickly. After all, further growth of FPA popularity is certain.