Within a development or enhancement project, it is possible for more than one independent business requirement (Change Request) to impact the same transaction. It is also possible that within the scope of one business requirement that the requirement itself changes during development. The IFPUG function point formulas for development and enhancement projects only consider delivered function points, can FPA be used to quantify the rework that may be involved in these two situations?
It is recognised that different types of system functionality may be classified as 'Help' functionality.For example:
Screen Help Help initiated within a particular system screen. Screen Help provides the user with a description of screen functionality, i.e. the screen's purpose, constraints, related functions, etc.This type of Help is usually available for character based mainframe systems.
Field Help Help initiated from a particular field within a system screen consists of two variations:
Help that directly accesses system reference tables to present the user with valid values for a particular field, plus other associated attributes that may assist the user in choosing a particular value.For example the correct choice of a Payment Type may depend upon sales value thresholds, customer types, customer credit rating etc.When the user selects Help on this field, the additional attributes that define the Payment Type are displayed to assist in user selection.This type of intelligent Help is usually available for GUI systems and less common in character based systems.
Another version of Active Field Help is the Drop Down List Box. This type of Help is specific to GUI systems and provides a list of valid values only. This list may be sourced from a Codes File, Reference File or hard coded.
Video Help Lotus ScreenCam is a package that allows developers to create small videos of screen movements. For example, an explanation of how to use a particular screen may be supported by a ScreenCam demonstration that simulates a user entering appropriate data into the screen. The package works similarly to recording a macro; the user starts the ScreenCam recorder and then performs the actions they want recorded, and stops the recorder when finished. The resultant video may then be included in the application's Help, for playback as required by the application user.
On-line Access to System Documentation
System documentation is translated into on-line Help files (hlp, .html) by using commercially available 'help utility' software (Microsoft Help, Hypabook, Help Development Kit HDK, Doc To Help, Microsoft Word 7 "save as .html").The data may be available on a local server or accessible via browsers.
Display of Reference Table Data
System menus often provide the user with the ability to 'view' the current records within either Reference Tables or Master Data Tables.This functionality is triggered independently of master data transaction processing and may be selected directly from a system menu.Typically the 'pop-up' windows that provide Active Field Help mirror this system functionality.
While enquiries on reference tables are counted as standard transactions, reference table enquiries are occasionally confused with help enquiries. Discussion of reference table enquiries is therefore included in this issue for clarification.
User help functions may be provided by a number of different implementation strategies.For example, help may be:
In today's applications, on-line help replaces system documentation and uses specially designed or purchased software to produce the help files.Much of the project effort involved in delivering on-line help functionality is not expended on the development of help functions but rather in the production of system documentation and analysis of information links.
For all systems, there exists a requirement to provide system documentation and to keep this documentation current.Effort to produce system documentation is an integral part of the project effort model (new development and enhancement).The medium by which the documentation is provided does not greatly impact the effort involved in the documentation production.
It is recommended that, help functionality is counted as per the IFPUG 3.4 guidelines which clearly identified functions that can be counted. Current IFPUG 4.1 Guidelines do not make any specific recommendations about how to count system help. Two examples of Field Help are provided but these examples do not define how the complete Help sub-system should be counted.
Note: There is an implied recommendation that help functionality be counted as a separate application, where many applications use the same help 'utility' software.However, this recommendation assumes that the Utility Application was custom built.
The recommended guidelines for counting Help functionality are as follows:
Screen Help files are counted as one ILF of Low complexity, with associated maintenance and enquiry transactions as appropriate (e.g. Add, Modify, Delete, View). Only one Screen Help Enquiry is counted for the entire application.
If Screen Help is hardcoded do not count a file and maintenance functions. Count only the Screen Help enquiry.
Passive Field Help files are counted as part of Screen Help unless they are proven to have unique attributes, in which case they are counted as a separate ILF of Low complexity with associated maintenance and enquiry transactions as appropriate. Only one Passive Field Help Enquiry is counted for the entire application.
For Active Help to be counted it must be demonstrated to be unique from the business transactions which permit the user to List and View the contents of existing reference tables
IFPUG Release 4.1 allows for the counting of Drop Down List Boxesprovided they are user requested and reference an ILF. In production systems it is not often possible to determine which Drop Down lists are user requested and which are not, or whether they are sourced from a file or the program source code. If a file is identified it will be considered an FTR on the relevant elementary process. See also:
Screen and Field Help are only to be counted where the functions have been custom built. Many PC applications use Microsoft Winhelp as their help engine. This is a good example of help that is not custom built and therefore not counted.
An additional ILF of Low complexity is counted for Video Help, with associated maintenance transactions as appropriate. Special attention should be given to assessing whether the typical set of maintenance transactions are applicable to video help; for example, Lotus ScreenCam videos are not modified, but rather deleted and re-created, so no Modify transaction should be counted in this instance.
Note: Only one view transaction per video help file may be counted regardless of how many screens and fields the enquiries could be initiated from.
Help functionality that provides the user with on-line access to system documentation will not be awarded function points. This type of functionality is typically provided through converting the system documentation into an appropriate format and including topic hyperlinks. No effort is made to link relevant parts of the documentation to specific screens and/or fields. The user is simply able to browse the online documentation much as they would the hardcopy document.
The List and View functions on reference data are counted once only for each file, for the entire application, irrespective of the number of times and number of ways these functions are accessed.The ability to select the reference data from a selection list whilst completing an External Input (read Field Help Active) contributes to the complexity of the External Input by adding another File Type Referenced (FTR).It is not another independent transaction.
This type of help functionality will be counted where the functions were custom built by developers. See also:
Contribution to VAF
The GSC 'End-user Efficiency' in the Value Adjustment Factor also considers 'Help'.