Function Points FAQsCounting Off-the-Shelf Products |
|||||||||
Home ISSUE How do you determine application boundaries and count transactions when user requested business functionality is provided by an Off-the-Shelf (OTS) Product? 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. 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).
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.
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 following would indicate excluding any functionality from the OTS application from the application being counted: |