Software Productivity Research
Home About Us Contact Us News & Refereneces
Training & Enablement
Software Metrics & Counsel
Benchmark & Assessment
Project Estimation
Client Services
Products Tools & Resources
Document Catalog

What Are Feature Points?

In 1986, Software Productivity Research, Inc. developed an experimental method for applying Function Point logic to system software such as operating systems, telephone switching systems, and the like. To avoid confusion with the IBM Function Point method, this experimental alternative was called "Feature Points." Though the initial results of using Feature Points were favorable, the method has been used only sporadically in iindustry, and restricted to software that has well-defined algorithms: systems software, embedded software, real time software, CAD, AI, and some traditional MIS software.

For the most recent thinking on metrics and appropriate use of Feature Points, please refer to this page for further information.

Function Points were originally invented to solve the measurement problems of classical Management Information Systems. This MIS origin means that Function Points are not necessarily perceived as optimal for the following reasons:

• Real time software, such as missile defense systems;
• Systems software, such as operating systems;
• Embedded software, such as radar navigation packages;
• Communications software, such as telephone switching systems; and
• Process control software, such as refinery drivers.
Additive to this list are other types of engineering applications, such as CAD, CIM, discrete simulations, mathematical software, and the like.

When Function Points are applied to such systems, they of course generate counts. However, the counts appear to be misleading for software that is high in algorithmic complexity, but sparse in inputs and outputs. From both a psychological and practical vantage point, these kinds of systems software seem to require a counting method that is equivalent to Function Points, but sensitive to the difficulties brought on by high algorithmic complexity.

The SPR Feature Point metric is a superset of the IBM Function Point metric and introduces a parameter, algorithms, in addition to the five standard Function Point parameters. The algorithms parameter is assigned a default weight of 3. The Feature Point method also reduces the empirical weights for Logical Data Files from IBM's average value of 10 down to an average value of 7. This reflects the somewhat reduced significance of logical files for systems software vis a vis information systems.

As may be seen, for applications where the number of algorithms and logical data files are the same, Function Points and Feature Points will of course generate the same numeric totals. When there are many more algorithms than files, however, which is not uncommon with systems software, the Feature Points will generate a higher total than Function Points. Conversely, if there were only a few algorithms but many files, which is common with some information systems, Feature Points would generate a lower total than Function Points.

When Feature Points and Function Points are used on classical MIS projects, the results are often almost identical. For example, one small MIS project totaled 107 Function Points and 107 Feature Points.

However, when applied to the more complex forms of system software, Feature Point counts are significantly higher. For a PBX telephone switch the Function Point total was 1,845, but the Feature Point total was 2,300 due to the high algorithmic complexity of the application.

Since Feature Points are driven by algorithmic complexity, a definition of "algorithm" is appropriate. An algorithm is defined as the set of rules, which must be completely expressed to solve a significant computational problem. For example, a square root extraction routine, or a Julian date conversion routine, would both be considered algorithms.

The SPR Feature Point method is similar in concept to Function Points, as can be seen in the following table.

The 1986 SPR Feature Point Method

Significant Parameter  Empirical Weight 
Number Of Algorithms______ X 3 =______
Number Of Inputs ______X 4 = ______
Number Of Outputs ______ X 5 = ______
Number Of Inquiries ______ X 4 = ______
Number Of Data Files ______ X 7 = ______
Number Of Interfaces ______X 7 = ______
Unadjusted Total   ______
Complexity Adjustment   ______
Adjusted Function Point Total   ______

The SPR Feature Point method and the IBM Function Point method are obviously similar in concept, but what about pragmatic results? As of 1992, the Feature Point technique is still experimental and is still undergoing field trials. Some of the results to date are as follows:

• When Feature Points and Function Points are used on classical MIS projects, the results are often almost identical. As mentioned above, one project totaled 107 Function Points and 107 Feature Points, and the Function Point and Feature Point values usually converge;
• When used on real time and systems software, Feature Points often generate higher totals than Function Points. In one small real time project, the total was 45 Function Points but 70 Feature Points.