Introduction of Function Point Analysis (FPA)

2022-07-19 14:35:56
Dongwei Xu
Translated 1987
Summary : Function point analysis (FPA) is a method of measuring the functional scale of an information system by looking at user-related (functional) transactions and (logical) data files in the business.


Function point analysis (FPA) is a method of measuring the functional scale of an information system by looking at user-related (functional) transactions and (logical) data files in the business. The measurement unit used by FPA is the "function point," and the number of function points expresses the function scale of the information system.


FPA is usually used to budget for system development projects. The development cost of an information system is related to its scale: the larger the system, the higher the development cost. An organization can extrapolate how many hours it takes one person to implement a function point (on average) based on experience from previous projects, which we call productivity. Then size (number of function points) x productivity (number of hours required per function point) can be used as the basis for the project budget.


FPA can be used for new development projects as well as for projects of function enhancement.


FPA is a fast method without computer knowledge. If you have the proper documentation, it does not take much time to execute FPA. It is estimated that for a system that requires 1000 development hours, FPA can be completed in about 1 hour.

What Can FPA Provide?

Function points" is the only measurement unit that can specifically and objectively discuss the scale of the information system to be developed. A statement like "The system has 314 function points" provides much more information than "It is a fairly large system."


For this reason, using "function points" as a measurement unit (along with other means) provides the following benefits.


1. We Can Estimate and Budget the Project Cost Better and Earlier

Using the functional user requirements, we can determine the information system's function scale (function points). Using the experience of past completed projects, we can determine the expected productivity of the project (hours per function point). By calculating the product of scale and expected productivity, we can lay a solid foundation for the project budget of system development.


2. We Can Better Control the Project

The change in functional user requirements can be measured by function points, making it specific, quantitative, and controllable.


3. We Can Better Communicate System Development Projects.

If two people conduct function point analysis simultaneously, but the calculated function points are different, they have a different understanding of the functional user requirements of the system. Thus, it is possible to quickly identify unclear or incomplete functional user requirements by performing FPA.


4. The Measurement of Productivity

The actual number of development hours divided by the number of functional points of the information system gives the actual productivity of the project. We can compare this with the standard productivity and perform variance analysis to propose specific control and improvement measures for future projects.


5. The Measurement of Information System Quality

The number of errors per function point per unit time is a measurement indicator of the quality of information systems.


6. We Can Improve the Quality of the System Development Process

With the above analysis of productivity and quality improvements, we can reduce the problems in communication while introducing new control measures that can improve the quality of the software development process.

What does the FPA not provide?

  • FPA is not a project management method;
  • FPA does not automatically provide error-free project estimates, but it does provide important support in the project budgeting process;
  • FPA is not a project planning method.

What Phases of the Project Can FPA Be Executed?

Once we understand the high-level functional user requirements of the information system, then we can execute the FPA. The most critical thing for us is to know the number of functional user transactions and the conceptual data model.


FPA can be executed either during the proposal/feasibility study phase or the requirements/analysis phase, but the functional design phase is not a problem. In the early stages of the project lifecycle, performing FPA estimation using an indicative or estimated number of functional points may be necessary, as the information needed to perform (detailed) FPA may not be available at this stage.

What Project Can Phases Be Estimated If We Use FPA?

FPA can estimate the development work of each phase of the system development lifecycle. We know from experience how many hours are required on average per function point in each stage of a project.


For example, for the system development build phase, FPA can give reasonable estimates because the activities in that phase are particular and similar between projects.


In the operational phase of an information system, one can use FPA to estimate the operating cost of the information system, that is, the number of hours required per function point per year.

What Projects Can Use FPA?

People can use FPA for new system development or function enhancement projects. It should be noted that in the function enhancement project, the realization of some functions may require additional technical work (because the structure of the existing system may not be able to support the function enhancement directly, what kind of project can use FPA? We need to carry out additional transformation). Here's the point. FPA measures how many functions are delivered, and we include the hours of additional technical modifications. As a result, the expected productivity of the project is reduced compared with the standard delivery rate (because each function point requires more hours).

 

 

Write a Comment
Comment will be posted after it is reviewed.