Book a Consultation

The Best Blog You’ll Ever Read to Help You Understand Function Points 

The Best Blog You’ll Ever Read to Help You Understand Function Points 

In software development, accurately measuring the size and complexity of your applications is crucial for success. One powerful and widely used method to achieve this is Function Points. In this blog, we’ll examine the concept of Function Points, explore how they work, and uncover the remarkable benefits they offer to organizations. Discover how this approach can elevate your project management and strategic planning to new heights. 

What are Function Points? 

Function Points are a unit of measurement used to express the size of software applications in terms of functional user requirements. Just as pounds measure weight and miles measure distance, Function Points measure the size of an application, independent of the programming languages and technologies used for implementation. This universality makes Function Points an invaluable technique for comparing applications built on different platforms or written in various languages. 

A brief history of Function Points 

Function points were first introduced in the mid-1970s by Allan Albrecht, who was tasked with finding new ways to measure application development productivity. His work culminated in a paper titled “Measuring Application Development Productivity,” presented at a software conference in California in 1979. This marked the first exposure of Function Points to the international software community. 

In 1984, the International Function Points Users Group (IFPUG) was established to maintain the function points standards and provide training and certification. By 2009, function points became an international ISO standard for software functional size. 

Measuring software with Function Points 

Function Points focus on the functional user requirements of a software application. These requirements describe what the application should do in terms of data transfer, data transformation, storage, data processing, retrieval, and presentation. Function Points do not measure non-functional requirements such as quality, reliability, usability, performance, or security. There are other techniques that can be used for these types of requirements, and we will be covering them in a separate blog (stay tuned!) 

Components of function points 

To measure the size of a software application using function points, we need to understand its components. These include: 

  1. Logical Files: These are the means that the application provides for persistent storage of data. Examples of logical files include databases, tables, files, among others. 
  1. Elementary Processes: also known as transactions, elementary processes are data in motion. This is how the application interchanges data with external users. Examples of these transactions include screens, reports and messages. 

The figure below illustrates these concepts: 

The Best Blog You’ll Ever Read to Help You Understand Function Points 

IMPORTANT: In Function Points, external users are defined as anything or anyone that interacts with an application. These include human users, other software applications, and physical devices (keyboards, monitors, sensors, buttons, etc.) 

  1. The counting process: Function Point analysis begins with a recollection of the available information (Step I). This includes things like requirements specifications, manuals, snapshots, user interviews, etc. The idea is to collect as much information as possible to help drive the analysis. After that, the scope and purpose of the count needs to be defined (Step II). The scope identifies what applications are being measured and the purpose basically answers the question of Why are we doing this Function Point count? 

After that, we are ready to measure the Logical Files (Step III) and Elementary Processes (IV). These are the core steps of the process. It is here where the user requirements are analyzed to identify the elements of the application that contribute to the functional size. Once the components are identified, we calculate the total functional size (Step V) and finally produce a nice report with the results of the count and the major assumptions we made (STEP VI). 

Applications of function points 

OK, we have a function point count… now what? 

Function Points can be used in various ways: 

  • Effort and Cost Estimation: Tools like SEER for Software can generate estimates for project effort, cost, and duration. 
  • Benchmarking: Organizations can assess productivity by comparing it against industry standards or historical data. 
  • Strategic Decision Making: Function points help in determining the feasibility of developing a solution in-house versus purchasing a commercial product. Function points can also be used as input for ROI analysis. 

Why you should care about function points 

Function Points offer a standardized, technology-independent method for measuring the functional size of software applications. This measurement is crucial for project management, cost estimation, and strategic planning. By understanding and utilizing Function Points, organizations can ensure more accurate and effective management of their software development projects. 

About Galorath 

Galorath is dedicated to helping organizations measure and manage their software development projects with precision. We provide tools and methodologies to ensure that your projects are on track, on budget, and aligned with your strategic goals. 

We hope you found this information valuable. 

Author Image
Karen McRitchie Karen has been with Galorath for over 30 years and leads all work related to the SEER product line. She comes from a software development and mathematical modeling background and has worked in all domains of cost estimation.

Every project is a journey, and with Galorath by your side, it’s a journey towards assured success. Our expertise becomes your asset, our insights your guiding light. Let’s collaborate to turn your project visions into remarkable realities.

BOOK A CONSULTATION