System Implementation: A Comprehensive Guide
System Implementation
Six Major Activities:
- Coding
- Testing
- Installation
- Documentation
- Training
- Support
System Implementation (Cont.)
Purpose:
- To convert final physical system specifications into working and reliable software
- To document work that has been done
- To provide help for current and future users
The Process of Coding, Testing, and Installation
Coding
Physical design specifications are turned into working computer code.
Testing
- Tests are performed using various strategies.
- Testing performed in parallel with coding.
Installation
The current system is replaced by the new system.
Software Application Testing
- A master test plan is developed during the analysis phase.
- During the design phase, unit, system, and integration test plans are developed.
- The actual testing is done during implementation.
- Test plans provide improved communication among all parties involved in testing.
Seven Different Types of Tests
Static or Dynamic Techniques
- Static testing means that the code being tested is not executed.
- Dynamic testing involves the execution of the code.
Test is Automated or Manual
- Automated means a computer conducts the test.
- Manual means that people complete the test.
Seven Different Types of Tests (Cont.)
- Inspection: a testing technique in which participants examine program code for predictable language-specific errors
- Walkthrough: a peer group review of any product created during the systems development process, including code
- Desk checking: a testing technique in which the program code is sequentially executed manually by the reviewer
Seven Different Types of Tests (Cont.)
- Unit testing: each module is tested alone to discover any errors in its code
- Integration testing: the process of bringing together all of the modules that a program comprises for testing purposes
- Modules are typically integrated in a top-down incremental fashion.
Seven Different Types of Tests (Cont.)
- System testing: the bringing together of all of the programs that a system comprises for testing purposes
- Programs are typically integrated in a top-down, incremental fashion.
Seven Different Types of Tests (Cont.)
- Stub testing: a technique used in testing modules, especially where modules are written and tested in a top-down fashion, where a few lines of code are used to substitute for subordinate modules
The Testing Process
- The purpose of testing is to confirm that the system satisfies the requirements.
- Testing must be planned.
- Test case is a specific scenario of transactions, queries, or navigation paths.
The Testing Process (Cont.)
- Test cases represent either:
- Typical system use
- Critical system use, or
- Abnormal system use.
- Test cases and results should be thoroughly documented so they can be repeated for each revision of an application.
Automated Testing
- Improves testing quality
- Reduces testing time up to 80%
- Functions:
- Create recorded data entry and user action scripts
- Compare test results between test cases
- Simulate high-volume for stress-testing
Combining Coding and Testing
- Coding and testing often go together.
- Big companies have dedicated test staff.
- With eXtreme programming (XP) a common technique is refactoring.
- Refactoring = making a program simpler after adding a new feature.
Acceptance Testing by Users
Acceptance testing: the process whereby actual users test a completed information system, the end result of which is the users’ acceptance of it
Primary purpose: ensure the system, as built, meets all requirements
Acceptance Testing by Users (Cont.)
Additional Types of Acceptance Test:
- Recovery testing — forces software (or environment) to fail to verify that recovery is properly performed
- Security testing — verifies that protection mechanisms built into the system will protect it from improper penetration
- Stress testing — tries to break the system
- Performance testing — determines how the system performs on the range of possible environments in which it may be used
Installation
Installation: the organizational process of changing over from the current information system to a new one
Four Installation Strategies:
- Direct Installation
- Parallel Installation
- Single-location installation
- Phased Installation
Direct Installation
Direct installation: changing over from the old system to a new one by turning off the old system when the new system is turned on
Parallel Installation
Parallel installation: running the old information system and the new one at the same time until management decides the old system can be turned off
Single-Location Installation
Single-location installation: trying out an information system at one site and using the experience to decide if and how the new system should be deployed throughout the organization
Also known as location or pilot installation
Single-Location Installation (cont.)
Phased Installation
Phased Installation: changing from the old information system to the new one incrementally, starting with one or a few functional components and then gradually extending the installation to cover the whole new system
Phased Installation (cont.)
Planning Installation
Considerations
- Data conversion
- Error correction
- Loading from the current system
- Planned system shutdown
- Business cycle of the organization
Documenting the System
System documentation: detailed information about a system’s design specifications, its internal workings, and its functionality
- Intended for maintenance & support
User documentation: written or other visual information about an application system, how it works, and how to use it
- Intended for system users
Training and Supporting Users
Support: providing ongoing educational and problem-solving assistance to information system users
For in-house developed systems, support materials and jobs will have to be prepared or designed as part of the implementation process.
Training Information Systems Users
Potential Training Topics
- Use of the system
- General computer concepts
- Information system concepts
- Organizational concepts
- System management
- System installation
Types of Training Methods
- Resident expert
- Traditional instructor-led classroom training
- E-learning, distance learning
- Blended learning (instructor plus e-learning)
- External sources (e.g., vendors)
Training Information Systems Users
Electronic performance support system (EPSS): component of a software package or an application in which training and educational information is embedded
An EPSS can take several forms, including a tutorial, an expert system shell, and hypertext jumps to reference materials.
Supporting Information Systems Users
- Support is extremely important to users.
- Providing support can be expensive and time-consuming.
Providing Support Through a Help Desk
Help desk: a single point of contact for all user inquiries and problems about a particular information system or for all users in a particular department
Providing Support Through a Help Desk (Cont.)
Requires
- Technical skills: extensive knowledge about how to use the system and typical problems that can be encountered
- People skills: good listening and communication, dealing with complaints and frustrations
Organizational Issues in Systems Implementation
- Biggest measure of success: Will it be used?
- Major factors influencing implementation success:
- Management support
- User involvement
- Commitment to the project
- Commitment to change
- Extent of project definition and planning
Project Close-Down
- Evaluate the team.
- Reassign members to other projects.
- Notify all affected parties that the development project is ending and that you are switching to operation and maintenance mode.
- Conduct post-project reviews.
- Close out customer contract.
- Formal signoff