DCG Software Value is a long-time provider of software sizing services. We firmly believe that accurately sizing software is a critical aspect of managing and controlling successful software project delivery. Several sizing methodologies are available, but most often we employ the use of IFPUG function points (from the International Function Point Users Group), which measures functional requirements. This technique is known as Function Point Analysis.
Although this technique is widely and effectively used, we often get a number of questions about it. This blog post attempts to answer some of the most common questions we receive, but if you have others, please leave a comment below and we’ll address it!
What is Function Point Analysis?
Function Point Analysis is a technique for measuring the functionality that is meaningful to a user, independent of technology. Function Point Analysis is governed by IFPUG, which produces the Function Point Counting Practices Manual. This manual is used by all IFPUG-certified Function Point Analysts to conduct function point counts. IFPUG is an ISO standard for software measurement.
Function Point Analysis considers five major components of an application or project: External Inputs, External Outputs, External Inquiries, Internal Logical Files and External Interface Files. The analyst evaluates the complexity of each component and assigns an unadjusted function point value. The analyst then analyzes the application against 14 general system characteristics to further refine the sizing and determine a final adjusted function point count.
When Can Function Point Analysis Be Used?
- Function Point Analysis can be used at the beginning of projects to derive cost and duration estimates using well defined, industry-proven models and software.
- Function Point Analysis can be used at the end of the project. Metrics such as productivity, defect density and time-to-market can be created using function point counts. These metrics allow measurement for internal improvement initiatives, contract compliance and comparison to industry benchmarks.
Can Function Point Analysis Be Used When Evaluating Commercial Off the Shelf (COTS) Software?
Function Point Analysis can be used with COTS software projects in several important ways. These include the following:
- Functional requirements analysis: Like for any project, once the functional requirements have been defined, a function point count can be done to quantify the size of the application or project. This sizing can then be used for selection of the COTS package or for build-or-buy decisions.
- COTS function analysis: A function point count can be done on a prospective COTS package and used for comparison to functional requirements during the evaluation and selection process.
- Gap analysis: Comparison of the functionality provided by the COTS package to the requirements yields the gaps that must be filled with custom applications or additional COTS software.
- Project estimation: Using function point counts as input to industry-leading estimation applications and models provides accurate estimates for COTS configuration, customization, custom development and testing. This includes estimates for development of COTS extensions and external interfaces.
Looking for more on function points? Check out these publications:
- An introduction to Function Point Analysis, including what it is and who would benefit from it. Download.
- DCG’s Function Point Analysis services. Download.
If you need more information on enhancement productivity improvement opportunities, or you have questions about function points, don’t hesitate to reach out! I’m always up for a discussion!
Anthony Manno, III
Vice President, Outsourced Services