term that often differs between its IT and function point meaning. When used in systems development, "project" can take on a variety of meanings, even within the same organization. "Project" can be used to describe variously:
- The scope of work that includes enhancement or development of several discrete software applications;
- The scope of work including fixes/maintenance of existing functions plus enhancement to other functions of a single software application;
- Repairs of operating software upgrades of existing software;
- Combinations of any of the above.
In function point counting, the word "project" refers to the work product associated with the development or enhancement of a single application (system). The definitions of development (project) in the IFPUG CPM glossary attests to this:
Project: A collection of work tasks with a time frame and a work product to be delivered.
Development project function point count (DFP): A count that measures the functions provided to the users with the first installation of the software delivered when the project is complete.
What this means to FP counters and developers is that a "project" in business or IT terms may actually equate to multiple "Function Point projects" and therefore, translates into needing multiple 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; and
- 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
This is very different from "enhancement" in the context of function point counting, where it means Functional enhancement. The IFPUG Counting Practices