Function Point Analysis (FPA) is a technique of functionality measurement provided by a software on its users point of view. Function Point (FP) is its measuring unit, that has as a goal making the measurement technologically independent. This is, FPA tries to measure what the software does and not how it was developed.
This being said, the measuring process (also called function point counting) is based in a standard evaluation of the user’s functional requirements. This standard procedure is described by IFPUG in the Counting Practice Manual.
The main developing projects estimate techniques assume that the software size is an important driver for the estimation of its development effort. Thus, knowing its size is one of the first steps of the effort, term and cost estimate process.
At this point it is important to know that function points do not measure effort, productivity nor cost directly. It is exclusively a software functional size unit. This size, among with other variables, is what could be used to derive productivity, estimate effort and cost of the software project.
What is Function Point Analisys? What is Function Point?
http://www.fattocs.com.br/blog/index.php/2013/01/1127?lang=en
What kind of software can be measured by Function Points?
FPA is a technique to measure the functionalities given by a software to the users; and this measurement is always made on an external perspective, the users’ perspective. However, it is important to say that the concept of user for FPA is not only the one of the end-user of the software. The user for the FPA is any person or thing that interacts with the software at any time. In other words, the user for FPA can be both the person acting as end-user to the software and another software that uses the services of the software in analysis.
Considering that every and any software exists to offer one or more services (functions) to someone (person or thing); it is concluded that every and any software can be measured by Function Points.
A usual mistake for beginners with FPA is to use as the analysis’ point of view only the end-user view. In this case some softwares will be partially (or completely) “invisible” to this user. Then they mistakenly concludes that FPA does not work for that software. The most common is the person to learn the principles of the FPA applied to systems with screens and reports. However, when this person faces softwares which do not have screens, softwares with batch processing, middlewares, basic softwares, it is natural to have trouble at measuring.
Let’s imagine that the goal was to measure a printer’s driver. Well, there is no end-user (person) for this kind of software. In this perspective, the printer’s driver is invisible to the end-user. However it exists to offer services to someone; in this case, the operating system. Thus, analyzing the printer’s driver in the perspective of the operating system, it is possible to see functions, for example: to start the the printer, inform the general situation of the device, eject a sheet of paper, print, alert the level of the ink, etc…
http://www.fattocs.com.br/blog/index.php/2013/01/609?lang=en
How significant are the software requirements for Function Point Analysis (FPA)?
The software requirements are fundamental to the Function Point Analysis (FPA), since the measurement process is based exclusively on them. The basic inputs of the measurement are the system requirements. It should be noted that the Function Point Analysis (FPA) measures only a part of the user requirements for the system: the functional requirements. Non-functional requirements are not measured by the Function Point Analysis (FPA). However in a model of cost estimation based on FP (cost = size x $ / PF), both types of requirements (functional and nonfunctional) are considered: the first will affect the functional size and the second will affect the unit cost ($ / PF).
Due to this importance of the requirements for the Function Point Analysis (FPA), how better the quality requirements is, easier and faster becomes the measurement process, and more accurate the result will be. Bad quality requirements negatively affect the entire software project, including the measurement activity. But a beneficial side effect of the measurement process is clearly demonstrated failures in the requirements. sooner these faults in the project are identified, lower is the cost to correct them, and greater is the chance of the project success.
http://www.fattocs.com.br/blog/index.php/2012/12/670?lang=en
What documents are needed for a function points counting?
There is not a specific document that is mandatory for measuring a software (or count function points). Any document on which can be extracted information from the user requirements can be used on a function points count. Whether they are use cases, manuals, prototypes, vision documents, data model, class model, etc.. This is consistent with the very purpose of the Function Point Analysis (FPA) to be a technique that is independent of the software implementation. You can implement a software by using different methods and tools for analysis, modeling and construction for various computing platforms, but none of this affects the measurement of the same in function points.
It is clear that certain types of documents can provide the necessary information for a function points count more easily. Other documents may contain only part of the information required for the counting of FPs, requiring the joint analysis of all documents to make the measurement. As well as other documents, because they have a more technical process for software development, may be more difficult to extract the user requirements. The best document to be used to count FP’s is one that contains the explicit user requirements in its business language, not on an IT language.
Each organization has its specific development process, producing a number of documents (or artifacts) distincts in a certain stages of the process. Therefore, the time at which the measurement is done also determines which documents will be available to do the work of measurement(or estimate) of the project functional size.
http://www.fattocs.com.br/blog/index.php/2012/12/668?lang=en
What are the main causes of errors in a function points counting?
Most of the errors found in a system of function points count is caused by four factors:
- Lack of the technique : there is still a large number of staff that are assigned to count function points of a system without the necessary knowledge of the counting process. Perhaps this occurs because there is widespread belief that the Function Point Analysis (FPA) is very simple. And indeed it is, but this does not mean it is not necessary professional training or a more dedicated study of the technique. With only a superficial knowledge of Function Point Analysis (FPA) it’s quite likely that the analyst makes mistakes. On this aspect, the IFPUG established its professional certification program CFPS, which aims to ensure that the certified professional knows all the definitions and rules of its Counting Practices Manual in its latest version.
- Allow the count be “contaminated” by the implementation: Function Point Analysis (FPA) is a technique for measuring the functional requirements of a software. In other words, measures what the user requests and receives from the software regardless of how it was implemented. Therefore, the result of a function points count must be the same, whatever the solution of implementation (process, architecture, tools, computing environment, etc.) taken by the developer. Count function points of a system is an exercise for abstraction of the user’s business problem that the software must attend . But this is not always an easy task and even experienced function points analysts can shift the focus from the count to the developer implementation solution. Often the analyst is induced to this way for lack of proper documentation.
- Lack of business knowledge: there is no use being a specialist in Function Point Analysis (FPA) and do not know the user business. To the function points count be done correctly, in other words, from the user’s point of view, it is necessary that the function point analyst seeks to understand the business first and only then do the function points counting. Often there is no time available to the point analyst seeks this knowledge. In this case he will act in partnership with a business analyst or a user to be able to do the function points count .
- Quality of the requirements available: much is said in software engineering on the importance of the gathering requirements and the impact that it has on the whole project when this task is not well executed. To the function points count it’s not different. If the documents from where the function point analyst extracts the user requirements to conduct the count are ambiguous, incomplete or poorly written, almost certainly that the result of the count will be affected.
This relation of factors is not presented in any particular order, but it’s fairly representative of the main factors that cause function points count being in an incorrect way.
http://www.fattocs.com.br/blog/index.php/2012/11/664?lang=en





