2.5.10 Function Point Standards


  1. This IRM presents Function Point Analysis and provides appropriate standards.

  2. For information regarding other estimation techniques, contact the Estimation Program Office (EPO) http://mits.web.irs.gov/PEDS/EPO/default.htm


  1. Traditionally, one of the most challenging aspects of system analysis is the accurate estimation of project sizing, required development time, and end-user value. Productivity evaluation methods, such as lines of code or specific coding constructs, require the program to be written first. Function Point Analysis sizes an application from an end-user rather than coding language perspective. In fact, it is totally independent of all language considerations.

  2. A function point is defined as one end-user business function. Therefore, a program rated as having 'x' function points delivers 'x' business functions to the user.

  3. Function Point Analysis requires the following two major steps,

    1. First, identify business functions and then organize them into the following five groups: outputs, inquiries, inputs, files, and interfaces

    2. Second, adjust the raw totals (derived during the identification step) according to production environment factors referred to as General Application Characteristics.


  1. Set forth below is a list of each function point standard and its description:

    Acceptability — Function Point Analysis is an acceptable IS software sizing methodology. It may be used for estimating the size of all modernized system new development projects and their enhancements, and all legacy production system software and their enhancements.

    Method — Function point counts or estimates shall be conducted using either the "long count," "fast count," or "Internal Logical File (ILF) Model."

    Basis — IS function point analysis standards may be based upon the International Function Points Users Group (IFPUG), " Function Point Counting Practices Manual."

    Counting — Function point counts or estimates shall be conducted by a Function Point Team in conjunction with project developers. The Function Point Team shall be comprised of function point counters who are experienced in the IRS function point counting practices or who are Certified Function Point Specialists having received an IRS function point counting orientation.

    Repository — All function point counts and estimates shall be recorded, stored, and maintained both in the an electronic repository.

    Forecasting — Forecasting of resources needed for software projects within IS may be conducted based upon function point counts or estimates and appropriate associated software. These forecasts shall be statistically tested for validity and reliability.

    Process Modifications — Definition and recommended modifications to the forecasting process shall be provided by a centralized Function Point Team.

    IS Project Office Support — IS project offices will furnish a staff of IRS employees who understand the project's requirements in sufficient detail to provide all necessary information for the required function point counts or estimates. This applies to software developed by either IRS project teams or contractor project teams.

    Estimators — Commercial-Off-The-Shelf (COTS) estimation tools may be used. The Function Point Team will conduct the resource estimates and forecasts. Project offices will review the templates to ensure that the profile for the project (as derived from the answers to the questionnaire) is accurate. This review will occur before the first resource forecast is finished. This in effect calibrates the tool to the IRS environment.

    Estimates and Forecasts — There will be a function point count or estimate, and a resource forecast, for all IS projects requiring a business case for software development. This applies to new development projects and to releases/enhancements. The function point count or estimate will be updated and the resource forecast (and any other applicable estimates) will be updated throughout the software projects life cycle.