Step 4: Determine the Value Adjustment Factor (VAF)

In this step we'll look at something named the "Value Adjustment Factor", or VAF. But first, a warning about the VAF.

A warning about the VAF

Before we tell you what the VAF is, let us first give you a warning about it: To the best of our knowledge, most users don't use it.

We can't tell you much about the history of the VAF, but what we can tell from the conversations we've had with many other users is that they don't use the VAF. This stems from at least two reasons that we can determine:
  • Most users count function points to derive a number that they can plug into another piece of software to determine a cost estimate. Those other software applications usually have their own equivalent of the VAF, and in fact, instruct you to supply the "raw FP count". So, in this case, the VAF competes against these vendor tools.
  • Some users don't feel that the GSCs are flexible enough. I tend to agree, and I think it's an easy argument. When you look at the math below, you'll see that for two applications under consideration, if both start with the same function point count - let's say 1,000 FPs - after adjustments the hardest application in the world would be rated at 1,350 FPs, and the easiest possible application would be rated at 650 FPs when adjusted. Let's say the hardest application in the world had to run on 10 different operating systems in 15 languages and be distributed electronically to 1 million users, and the easiest would be written in Microsoft Access, run on Windows, and be used by only one user, the author of the program. Do you really think the first application is only about twice as hard to deliver as the second? No, I certainly don't, and this is why I don't use the VAF.

All that being said, we'll give you the quick VAF introduction so you can make a decision on your own. If nothing else, we find it nice that someone has taken the time to come up with these 14 categories. It helps our thinking in other areas.

VAF Introduction

Here are a few facts and definitions to get the ball rolling:
  • The Value Adjustment Factor (VAF) consists of 14 "General System Characteristics", or GSCs.
  • These GSCs represent characteristics of the application under consideration. Each is weighted on a scale from 0 (low) to 5 (high).
  • When you sum up the values of these 14 GSCs you get a value named "Total Degree of Influence", or TDI. As you can see from the math the TDI can vary from 0 (when all GSCs are low) to 35 (when all GSCs are high).
Before getting into the VAF formula, let us quickly list the 14 GSCs:
  • Data Communication
  • Distributed data processing
  • Performance
  • Heavily used configuration
  • Transaction rate
  • Online data entry
  • End user efficiency
  • Online update
  • Complex processing
  • Reusability
  • Installation ease
  • Operational ease
  • Multiple sites
  • Facilitate change

Given this background information, you can see with the following formula:

VAF = (TDI*0.01) + 0.65

that the VAF can vary in range from 0.65 (when all GSCs are low) to 1.35 (when all GSCs are high). In the next section you'll see that the VAF is applied directly to the FP count to determine the "Adjusted Function Point Count".