Function Points FAQs


Counting Off-the-Shelf Products

Home

Issue Description

Sample Scenario

General Discussion


ISSUE

How do you determine application boundaries and count transactions when user requested business functionality is provided by an Off-the-Shelf (OTS) Product?

  Home


Sample Scenario

An off-the-shelf application is a reference to a purchased product that may be used as purchased or embedded in a custom developed application as part of the technical solution. It provides generic functionality, for example e-mail functions, spreadsheet functions, graphing functions etc. It is not a software package that provides specific business functions, for example Accounts Payable functions.

The solution for counting the OTS functionality depends on the user point of view of how the product is perceived within the application being counted. Is the off-the-shelf product used as a stand-alone product or is it embedded within the application as part of the solution? This is the key question.

Scenario 1 User Requirement and Technical Design

A user requests the ability to access data maintained by an application, by using an OTS product. For example, the user requires that a file of data be formatted, to be read by Microsoft Excel. The application produces the file but does not control how the file in question is used. Also the use of the file by the Microsoft Excel user does not result in direct update of the application data.

Scenario 1 Resolution

This scenario puts the off-the-shelf application outside the boundary of application being counted. Microsoft Excel's functionality would not be counted. The data being read and formatted is, in essence, being output to Microsoft Excel.

Transactions

The file being output is counted as either an External Output or an External Enquiry depending upon whether the output data is derived/calculated or simply read directly from internal files.

Scenario 2 User Requirement and Technical Design

A request is made by the user to be able to select a menu item or press a button that would put them into an off-the-shelf product directly (the request for a product by name).

Scenario 2 Resolution

The solution for this issue depends on the user point of view of how the product being used is perceived within the application.

This scenario is the equivalent of accessing another application (outside the boundary of the application being counted). Again, the specific functionality prosvided by the OTS product is not counted to this application.

Transactions

An External Output is counted for the control information being sent outside the application boundary.

Scenario 3 User Requirement and Technical Design

The third scenario is when requested functionality (like calculations provided by a spreadsheet application) is delivered by embedding the OTS product as a part of the technical solution. An example of this would be when the user requests the ability to invoke data in a spreadsheet within an application or to chart the results of some operation within the application. In this scenario, the user has asked to specifically perform a type of operation (spreadsheet or chart) within the application. The solution that is designed and implemented may be to embed Microsoft Excel within the application (triggering the Microsoft Excel application without the user being aware that they invoked it).

Scenario 3 Resolution

In this scenario the user has a clear requirement for a business function within the scope of their application.

In this case, that portion of the off-the-shelf application being used would be counted as part of the application being counted because it is user requested functionality being delivered.

Transactions

The required and delivered transactions would be counted normally as EIs, EOs, EQs or some combination depending on the tasks being performed.

Count only that part of the OTS product that is actually used by the application.

  Home


General Discussion

An off-the-shelf application is a reference to a purchased product that may be used as purchased or embedded in a custom developed application as part of the technical solution. Examples include Microsoft EXCEL®, Microsoft Word®, Microsoft Project®, etc. The issue is, whether to count any or all of the functionality provided by the OTS applications.

The solution for this issue depends on the user point of view of how the product being used is perceived within the application. Is the off-the-shelf product used as a stand-alone product or is it embedded within the application as part of the solution? This is the key question. Who maintains the off-the-shelf product is irrelevant (ie the user organisation or the OTS vendor).

It is important that, when doing a function point count, one asks for the user view of any situation. The principle being applied is to count all functionality requested and delivered to the customer regardless of the technology used to provide the functionality. Depending on their answer, an off-the-shelf application's functionality will be addressed.

When counting function points, it is important to identify whether the off-the-shelf application functionality is going to be counted. Include any assumptions you are making about the counting of off-the-shelf software in your list of assumptions.

The following steps are used to determine whether to count the off-the-shelf application.

  • Identify if an off-the-shelf product is being used.
  • Determine if the OTS product is being used in stand-alone mode or if it is incorporated as part of the technical solution to meet user requirements for the application being counted.
  • Document how it is, or is not being, counted and any assumptions being made.

The following hints should help identify the scenarios:

The following would indicate counting the off-the-shelf functionality within the scope of the application being counted:

    • The functionality is embedded within the application being counted (not used as a stand-alone product).
    • The ability to perform the task is requested by the user.
    • The functionality of the OTS product is invoked/controlled directly by the application being counted.
    • Only part of the functionality of the OTS product is used by the application being counted. Count only the part being used.
    • The following would indicate excluding any functionality from the OTS application from the application being counted:

        • The user requests the ability to use the off-the-shelf application directly.
        • The off-the-shelf application is invoked and is run as a stand-alone application (not embedded).
        • There is no control or limitation on the use of the OTS product by the application being counted.

  Home

Issue Description

Sample Scenario

General Discussion