Using Function Points for Maintenance Effort


Function Point Terminology       Reference

Basic Principles
  1. Removing function points is cheaper than adding them.
  2. Adding n FPs to a N FP system is relatively cheap when n < < N.
  3. The 14 value adjustment factors don't apply to maintenance changes.
  4. The new value adjustment factors are applied, individually, to each Transaction Function Type or Data Function Type.

Maintenance Impact Ratio (MIR)
Subject measures of the impact of a change.
Used as a multiplier for the Unadjusted Function Point counts.

MIR is 5-valued scale ranging from 0.125 to 1.2 based on Transaction Type Functions. See the reference (Tables 3 and 4) on how to set MIR

Maintenance Value Adjustment Factors (MVAF)
The 14 factors are reduced to 4; see reference for details
  1. Functional Similarity
    Multiply by .75 for cut and paste type changes
  2. Performance Sensitivity
    Multiply by 1.15 if function access large database table.
  3. Complex Function
    Evaluation of complexity. Multiply by factors of 1.5 or 3.0 for added functions. Add function points of 3 or 12 for chnaged functions.
  4. Standard Functionality Multiply by 0.5 if language or library provides the required change.
Final Equation
A separate MVAF factor is applied to each individual function transaction type.
This is a lot of detail but keep the objective in mind; it's worth the trouble.

AFP maintenance =

    UFP deleted function types   ×   VAF pre ) × 0.2   +
    SUM (UFP additions   ×   MVAF functional similarity   ×   MVAF performance sensitivity   ×   MVAF complex function   ×   MVAF standard functionality )   +  
    SUM (UFP changes   ×   MIR changes ×   MVAF funct. similarity   ×   MVAF perf. sensitivity   ×   MVAF standard functionality   +   MVAF complex function )  

Notes:

Adapted from Dan Stearns
Last updated 4/12/07