Sunday, September 25, 2016

Software Application Functional Design

Functional Design

Functional Design - Foreword

Although the format and content of the tasks listed do not represent specific steps, they do give a valuable checklist of considerations and techniques which may be of value during the prototyping and design process.

Functional Design

Objectives:

  • Finalise the functions and reports of the base software package to be used and determine how they will be used
  • Finalise the system enhancements needed to meet any unique Organisations needs not available in the standard system and determine how they will be developed

Hints:

  • The primary objective of implementing a new system is generally not more information, but more effective information.  The project team should focus on understanding how and why existing forms, reports and processes are being used, and how the same objectives can be accomplished more simply with the new system.  Implementing new systems and technologies may allow some existing forms, reports and processes to be combined or eliminated.
  • If a Consultant was not involved in the system evaluation and selection decision, it will be necessary to gain an understanding of business before designing how the new system should be integrated into the business.  Using Functional Questionnaires may be useful in gathering information about operation and functions.
  • Every attempt should be made to adapt the Organisation’s business processes to the standard processing features of the software package and reduce the number of enhancements needed.
  • The Organisation should also be encouraged to fully utilise the system’s features and functions, as appropriate.
  • If available, the Implementation Strategy Report developed during the evaluation and selection process can provide a starting point for determining the detailed configuration requirements for the new system.
  • If appropriate, implementation papers for each major system function can be separately prepared and approved.

Steps:

  1. Compare the manual and automatic functions of the existing system and the new system, identify any changes and complete the System Functions Worksheet
    1. Manual procedures and calculations that can be incorporated into the new system or eliminated
    2. Changes to current procedures and methods to take advantage of system features
    3. New functions not currently performed
  2. Compare the reports and enquiry screens of the existing system with the new system, identify any changes and complete the Report & Inquiry Screens Worksheet
    1. Enhancement to standard reports (i.e., transaction, management and control)
    2. Additional reports
    3. Additional data required
    4. Preprinted output forms (i.e., checks, statements, stationery)
    5. Specific parameter settings and runtime options of standard package reports
  3. Compare the existing input forms with the new system input screens, identify any changes and complete the Forms & Input Screens Worksheet
    1. Content, format and sequence
    2. Printing EOQs, lead times and reorder points
    3. Storage and distribution
    4. Disposition of existing forms (e.g., use up existing supplies, discontinue and destroy)
    5. Printing method (e.g., in-house copier, outside printer)
    6. Approved suppliers (for preprinted forms)
    7. Responsibility for monitoring quantities and reordering
    8. Control of sensitive forms (e.g., checks, vouchers)
  4. Finalise system controls and audit trails
    1. Source document completion and authorisation
    2. Input validation and reconciliation
    3. Transaction processing and reconciliation
    4. Form, report filing and retention
    5. Backup and storage
    6. Table and parameter maintenance
  5. Finalise system security and complete Security Access Worksheet
    1. Physical access controls to equipment, files, forms and reports
    2. Logical access levels for each system user
    3. Remote access procedures
    4. Access hours and locations
  6. Evaluate implementation alternatives and select approach
    1. Complexity
    2. Cost
    3. Resources
    4. Time-frame
    5. Organisational Impact
  7. Organise analysis and prepare the implementation paper for each system function
    1. Background
    2. Alternatives
    3. Recommended Approach
  8. Review implementation paper with client sponsor and obtain approval to proceed
  9. Complete System Change Requests for any identified system enhancements
    1. Functions
    2. Reports
    3. Input screens
    4. Security and controls

Tools:

  1. Implementation Strategy Report (if available)
    1. System Functions Worksheet
    2. Reports & Enquiry Screens Worksheet
    3. Forms & Input Screens Worksheet
    4. System Change Request

Deliverables:


  1. Implementation Paper (for major system functions)

Monday, September 19, 2016

Application Software Documentation Design

Documentation Design

Documentation Design - FOREWORD

This may not always reflect the “state-of-the-art” in methodology, but it does provide an illustration of the issues and approach for reference documentation design.

Finalise Reference Documentation Design

Objectives:

  • Identify the additional reference materials needed for customer management, user and MIS support personnel to effectively operate the new system, take full advantage of its capabilities and minimise the effects from turnover

Hints:

  • Reference documentation provided by the supplier is usually written in generic terms and is limited to the standard system functions and operations.  This provides an opportunity to develop additional reference material covering customer-specific manual procedures, workflow and operations.  However, it is important to balance the value added from custom-developed reference documentation with the ongoing cost of maintaining it.  Supplementary reference documentation may include:
  • System Reference Guide – customer-specific instructions on using the system functions
  • User Reference Guide – customer-specific instructions on performing the related manual procedures
  • Operations Reference Guide – technical instructions on executing system processes
  • Management Reference Guide – functional system overview with emphasis on on-line inquiry and reporting.
  • In developing procedures for manual tasks, special attention should be given to finding ways to eliminate unnecessary tasks and streamlining the entire flow of information.  This requires looking beyond what is being done and evaluating why it is being done.
  • If available, the Implementation Strategy Report developed during the evaluation and selection process can provide a starting point for determining the detailed reference and documentation requirements for the new system.

Steps:

  • Evaluate the impact of the new system on existing manual procedures and company policies
    • Transaction preparation, review and approval workflow
    • Transaction entry and reconciliation
    • Security, audit trails and controls
    • Form and report filing and retention
    • System support, maintenance and implementation of enhancements
  • Evaluate the system impact on the technical support and operations procedures
    • Data collection and entry cutoffs
    • System processing, report generation and distribution schedules
    • System operations and technical support coverage
    • Backup frequencies and retention periods
    • System maintenance and enhancement
    • Manual change control
    • Implementation tasks
  • Identify any significant organisation improvements to maximise workflow efficiency and effectiveness
    • Organisation structure
    • Reporting responsibilities
    • Manpower requirements
    • Position responsibilities
    • Individual skills or expertise
  • Identify any outside parties that would be affected by the new system
    • Customers
    • Banks
    • Vendors
    • Service bureau
    • Auditors
  • Review existing customer manuals and supplier-provided manuals, identify any supplementary reference documentation needed and prepare tables of contents
    • System guide
    • User guide
    • Operations guide
    • Management guide
  • Determine content and distribution of reference documentation to be developed
    • Level of detail
    • Format
    • Number of copies
    • Printing and binding
    • Distribution list
    • Ongoing maintenance and control
  • Evaluate reference documentation alternatives and select approach
    • Complexity
    • Cost
    • Resources
    • Timeframe
    • Organisational Impact
  • Organise analysis and prepare Implementation Papers for reference documentation:
    • Background
    • Requirements
    • Alternative options
    • Recommended approach and justification
    • Details of recommended approach
  • Review Implementation Papers with customer sponsor and obtain approval

Tools:

  • Implementation Strategy Report (from evaluation and selection)
  • Example: Management Reference Guide TOC
  • Example: Operations Reference Guide TOC
  • Example: System Reference Guide TOC
  • Example: User Reference Guide TOC

Deliverables:


  • Reference Documentation Implementation Paper

Friday, September 16, 2016

Software Application Custom Development

Custom Development

System enhancements are any additions or changes in functionality of the base system in order for it to operate effectively in an organisations 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 a vendor’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 needed for another twelve months.
Even if the programming changes are being made by the vendor 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.

Example approach

The work may encompass the following tasks:
  • Prepare Program Specifications
  • Prepare Programming Environment
  • Program and Document System Changes
A summary of the typical skills required is as follows:
SIIPS Custom Development 1.PNG

Program Specifications

On occasions, a 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 vendor’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 vendors have significant development resources and can be contracted to design and develop needed enhancements.  If a contract for custom enhancements is negotiated with the vendor, 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 vendor 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 the Organisations requirements and System Change Requests for software changes and conversion programs and finalize 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
  • Organisation's 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 vendor’s software and technical documentation, if needed and available. (Vendor’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 walkthroughs 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