System enhancements are any additions or changes in functionality of
the base system in order for it to operate effectively in the customer environment. System enhancements include missing system functions,
additional reports, customised screens, special interfaces and
conversion programs. It is not a system enhancement (in this
context) where such additional functionality is achieved using the
standard facilities of the package such as a report generator or
screen customiser.
Software warranties are usually invalidated if any changes are made
directly to the Supplier’s software. They can also make implementing
future releases costly and time consuming. Where possible, system
enhancements should be developed around the standard system programs
and should take advantage of any software user exits.
Timing should be considered when developing system changes. For
instance, it is not necessary to prioritise a needed annual report
prior to implementation if that report is not needed for another twelve
months.
Even if the
programming changes are being made by the supplier or an outside
contractor, it is important that the project team fully understand
what actual code changes are made. This will help in pinpointing
problems if processing errors occur.
Program Specifications
On occasions, the project team will find the need to generate program
specifications. If there is no specific methodology in use, the
following example task list could be used:
Objectives:
- Identify precise requirements for custom programming work.
- Collect sufficient functional and technical documentation to enable the identified system changes to be correctly developed.
- Finalise the sources for developing the system changes.
Hints:
- Software warranties are usually invalidated if any changes are made directly to the Suppliers’s software. They can also make implementing future releases costly and time consuming. Where possible, system enhancements should be designed around the standard system programs and should take advantage of any user exits.
- Most software suppliers have significant development resources and can be contracted to design and develop needed enhancements. If a contract for custom enhancements is negotiated with the supplier, it should clearly state who has ownership of the enhanced software and if the vendor will support the enhancements in future software releases.
- In some cases, the supplier will agree to support enhancements they did not develop. The stipulations usually include that they design the changes, oversee the development and have ownership of enhancements made.
- If available, the Implementation Strategy Report developed during the evaluation and selection process can provide a starting point for determining the detailed system enhancement requirements for the new system.
Steps:
Review customer’s requirements and System Change Requests for
software changes and conversion programs and finalise how the changes
will be implemented. Document and agree these details in a technical
Implementation Paper. Possible approaches include:
- Modify vendor software
- User exit programs
- Stand alone programs and system modules
- Report writer and report shells
- Additional data elements
If the project team are undertaking the work directly, prepare
program specifications, for example:
- Program Specification Checklist
- System Change Request
- System Flow Diagram
- Program Structure Chart
- Data Element Description
- Data Base and Master File Layout
- Screen Description & Layout
- Screen Fields Worksheet
- Report Layout
- Source Document Description and Layout
- Source Document Fields Worksheet
- Summary of Test Conditions
Finalise approach and resources for developing system changes and
prepare System Enhancements Worksheet
- Consultant
- Customer MIS
- Software vendor
- Other outside contractor
Prepare cost estimates and justification, if needed
Finalise implementation priority for change specifications
- Critical to initial implementation
- As time and staff are available
Acquire source code
of supplier’s software and technical documentation, if needed and
available. (supplier’s source code will not necessarily be available
unless agreed in the contract with the vendor.)
Tools:
- Example: Program Specification Checklist
- Example: System Change Request
- Example: System Flow Diagram
- Example: Program Structure Chart
- Example: Data Element Description
- Example: Data Base and Master File Layout ** Example missing
- Example: Screen Layout
- Example: Screen Fields Worksheet
- Example: Report Layout
- Example: Report Fields Worksheet
- Example: Source Document Layout
- Example: Source Document Fields Worksheet
- Example: Summary of Test Conditions
- Example: System Enhancements Worksheet
Prepare Programming Environment
Objectives:
- Make any needed preparations for developing the system enhancements
- Hints:
- For consistency, if changes are being made to the software package, it is recommended that the vendor’s naming conventions and programming standards are followed.
- System development controls should be established and maintained, including:
- Separate development, testing and production libraries
- Formal procedures for moving programs between libraries
- System Error and Resolution logs
- Formal program signoffs.
Steps:
- Review the coding standards and conventions used by the vendor and establish programming standards
- Install development equipment and tools
- Create development libraries
- Load source code into development libraries
Tools:
- (None)
Deliverables:
- (None)
Program and Document System Changes
Objectives:
- Program, unit test and document the system enhancements
Hints:
- It is important to document thoroughly any changes made to provide backup and reference.
Steps:
- Conduct structured walk-throughs of program specifications with development team, revise program specifications as needed and prepare System Enhancement Checklist
- Program custom system enhancements
- Define test conditions and expected results
- Create unit test environment and prepare test data
- Execute unit tests, validate results and log program errors
- Correct program errors and retest as needed
- Document system enhancements, as needed
- Program Specification
- Interim change requests
- Final program listing
- Unit test plan
- Final test results
- Unit Test Issue log (completed)
- Update vendor documentation to reflect system enhancements
- Review System Enhancements Worksheet and note any differences in development costs or schedule
- Prepare System Enhancements Signoff Letter, if needed
- Review enhancements with client sponsor and obtain approval
- Load programs into the system test libraries
Tools:
- System Change Requests
- System Enhancements Worksheet
- Program Specifications
- Unit Test Issues Log
- System Enhancements Checklist
Deliverables:
- Enhanced application software and documentation
- System Enhancements Signoff Letter
No comments:
Post a Comment