IFPUG Function Points have been with us for many years due to their usefulness in IT management, but would you know how to define what they are? That is what we are going to do in this article, explaining in a simple way what Function Points are.
Definition of Function Points
Function Points (FP) can be quickly defined as a unit of measurement of the quantity of software product. It is like the meter for length, but to measure the software product.
When we measure a software development project or an application or system what we do is to measure the functionalities that are delivered to the end user through a Function Points value following a certain method.
Origin of Function Points
Function points were developed by Allan Albrecht in the late 70’s while working at IBM. His idea was to develop a method that could describe the functionality of software so as not to fall back on measures that were widely used at the time such as lines of code.
The first concept evolved until the creation of the International Function Point User Group or IFPUG, the first organization oriented to the development of this measure as a software counting methodology. Today we can say that the IFPUG FPA (Function Point Analysis) method is the de facto industry standard, although it is not the only one.
Other methods have been developed from it, such as the NESMA (Netherlands Software Metrics Users Association) method with special rules for evolvability, or the COSMIC FFP (Full Function Points) method, as well as other IFPUG standards such as Simple Function Points (SFP).
What do they measure?
One of the main benefits of function points for software development projects is that they serve as a measure of what the software can do in terms of tasks and services. This according to ISO is the definition of functional requirements.
What do they NOT measure?
Just as functional requirements define the WHAT a software has to do, non-functional requirements define the HOW. This part is not measured through function points, but through the software development productivity associated to a development team/technology and through complementary measures such as IPFUG SNAP or UMSp developed by LedaMC.
Main advantage of Function Points
Being a metric focused on the functionality offered to the user, the main advantage of function points is that they are independent of the team performing the development. But also independent of the technology used and independent of the development paradigm employed. In other words, it allows us to objectively compare the amount of software product delivered by each team. And it does so regardless of whether it is using a waterfall development model or an agile development model.
In this way, we can compare which of the teams is more efficient in terms of effort, cost or any parameter we want. And with that information, we can help the team that is not so efficient to improve.
It is a perfect tool to help improve optimal supplier management.
To learn more
If you want to learn more, we recommend you to take one of our online courses. In our Academy you can learn IFPUG Function Points from scratch or get certified. You can see all the information in our Academy, with discounts for groups and for early registrations.
We also recommend that, if you are interested in counting function points, you can try Quanter. Quanter is an App that allows you to perform function point estimation and associated effort calculation automatically. You can try it for free here Quanter