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:
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.
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:
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.)
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.
By Matt McDonald, President, Galorath Federal Inc. Businesses—whether service providers or manufacturers—are constantly under pressure in today’s world. They need to efficiently bid, manage, and monitor costs, schedules, and risks. Many companies are focused…
In today’s software development landscape of ever-changing requirements and uncertainties, it can be difficult to manage projects, ensure each initiative is rooted in data-driven insights, and stay on track for success. However, it doesn’t have to be a time-consuming and demanding process….
President-Elect Donald Trump has proposed establishing a government efficiency commission to reduce federal waste and improve operational efficiency. Similar to previous initiatives, like the 2010 Simpson-Bowles Fiscal Commission, these efforts face substantial political and organizational…
Managing a project successfully means juggling several crucial elements, like scope, deadlines, and budget. While each plays a vital role, having an accurate cost estimate is essential for resource allocation, preventing overspending, and ensuring…
The recent 2024 ICEAA/SCAF International Training Symposium in London highlighted the growing impact of artificial intelligence in cost estimation. Galorath demonstrated its SEERai® generative AI solution, showcasing its ability to reshape the cost estimation…
Galorath
From software to hardware, IT to space, Galorath's cost estimating software helps the most complex projects on the planet stay on budget and on schedule.
Share this:
Get access to news
Sign up to get relevant news in your inbox - never miss it!
Your Vision. Our Expertise. Let’s Build Success Together.
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.