Demystifying Function Points

Clarifying Common Terminology

function point counts, one per application involved. For example, if an IT project includes the development of a new hospital billing system as well as enhancements to an existing hospital admittance system, the size of the overall IT project would involve two function point project counts:

·         A development FP count of the new hospital billing system

·         An enhancement FP count of the changes to the hospital admitting system

It is also worth noting that an enhancement project, whose total size encompasses the added, changed, and deleted functionality, will change the product or application size by the amount of functionality added, less that deleted.

Once this difference in the term project is understood, it is simply a matter of communicating the FP counts in the right context.

This is another one of the most confusing terms that carries a different meaning when used in Information Technology and business, versus the function points use of the term. For business and IT professionals, the term enhancement or enhancement project refers to any project where the existing software is enhanced in terms of performance, appearance, function, operation, platform, usability, etc. Note that enhancement projects are often discerned by both users and developers from the term maintenance in that the latter pertains to work done to keep the existing software up and running)

All of the following are examples of what our clients' users and developers would refer to as software enhancements:

·         Making changes/additions to hard coded data within the system

·         Populating new occurrences of dynamic data (e.g., having developers do data administration/table population as part of the project either manually or with the use of tools)

·         Upgrading software to be compatible with new database releases (such as a new Oracle release)

·         Splitting one physical screen into multiple physical screens (but not changing the functionality)

·         Changing error message text to be more "user friendly"

·         Cosmetic screen or report rearrangement, adding more screen highlighting, or creating additional menus (restructuring the navigation)

·         Adding new peripheral devices (such as adding the ability to print to laser printers on a formerly dot-matrix-only network)

·         Testing one application to verify the expected effects of changes in another application

·         Increasing the results list for an existing report by adjusting a filter to retrieve more valid values

·         Adding data elements to an existing report

About the author

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.