“Measuring programming progress by lines of code is like measuring aircraft building progress by weight.”
– Bill Gates
INTRODUCTION
A challenge in implementing Function Point Analysis (FPA) is making it understandable to developers, cost analysts and customers alike. Because Function Points are based on functional user requirements (what the software does), irrespective of the physical implementation (how the software is implemented), users of the method must think in terms of the logical functional requirements. This can be especially difficult for developers who spend their days focused on providing physical software solutions (involving How the software will be built). However, just as an architect begins by drawing a floor plan to meet the owners’ needs, software project managers and developers begin by documenting the functional user requirements articulated by their customers. Function Point Analysis examines these logical (also called functional) user requirements to determine the functional size of the software.
The difficulty that sometimes arises with developers is two fold:
- A developer’s job concentrates on the physical aspects of designing and implementing software similar to how a master plumber or master electrician concentrates on the physical aspects of building a house; and
- The Function Point Analysis method itself uses terms that are well known in the information technology industry, but the meanings of particular words are different.
This article focuses on several key words that are the most problematic when introducing function points. By simply making your developers aware of these differences in meaning, you can achieve higher levels of measurement success and less resistance in FPA implementation.
All of the functions that are evaluated in Function Point counting are logical user functions, that is, they are part of the logical user requirements for the software. Readers who want further details about FP are encouraged to obtain the Function Point Counting Practices Manual V4.1 from the International Function Point Users Group.
TERMS THAT CAUSE CONFUSION
The following terms are used both within the function point method and in information technology. The confusion arises because their general use in information technology often conveys a different meaning from that used in function point counting:
- Application (System)
- Enhancement(Project)
This list of commonly misunderstood words is not exhaustive and other words and acronyms can form barriers to understanding of function points.