Managing Systems Implementations: Summary
The systems implementation phase consists of application development, testing, installation, and evaluation of the new system. During application development, analysts determine the overall design strategy and work with programmers to complete design, coding, testing, and documentation. Quality assurance is essential during the implementation phase. Many companies utilize software engineering concepts and quality standards established by the International Organization for Standardization (ISO).
Each systems development approach has its own set of tools. For example, structured development relies heavily on DFDs and structure charts. A structure chart consists of symbols that represent program modules, data couples, control couples, conditions, and loops. Object-oriented methods use a variety of diagrams, including use case, class, sequence, and transition state diagrams. Agile methods tend to use a spiral or other iterative model.
System developers also can use more generic tools to help them translate the system logic into properly functioning program modules. These tools include entity-relationship diagrams, flowcharts, pseudocode, decision tables, and decision trees. If an agile development approach is used, then the customer creates user stories that describe required features and priority levels. In agile methodology, new system releases are made after many iterations and each is test-driven carefully by the customer. Cohesion measures a module’s scope and processing characteristics. A module that performs a single function or task has a high degree of cohesion, which is desirable. Coupling measures relationships and interdependence among modules. Modules that are relatively independent are loosely coupled, which is desirable. Cohesion and coupling concepts are used in structured development, but also are applicable to object-oriented development.
Typically, you follow four steps when you create a structure chart. You review DFDs and object models to identify the processes and methods, identify the program modules and determine control-subordinate relationships, add symbols for couples and loops, and analyze the structure chart to ensure that it is consistent with your system documentation. Programmers perform desk checking, code review, and unit testing tasks during application development. Systems analysts design the initial test plans, which include test steps and test data for integration testing and system testing. Integration testing is necessary for programs that interact. The final step is system testing for the completed system. System testing includes users in the testing process.
In addition to system documentation, analysts and technical writers also prepare operations documentation and user documentation. Operations documentation provides instructions and information to the IT operations group. User documentation consists of instructions and information for users who interact with the system and includes user manuals, help screens, and tutorials.
During the installation process, you establish an operational, or production, environment for the new information system that is completely separate from the test environment. The operational environment contains live data and is accessible only by authorized users. All future changes to the system must be verified in the test environment before they are applied to the operational environment.
Everyone who interacts with the new information system should receive training appropriate to his or her role and skills. The IT department usually is responsible for training.
Software or hardware vendors or professional training organizations also can provide training. When you develop a training program, remember the following guidelines: Train people in groups; utilize people already trained to help train others; develop separate programs for distinct employee groups; and provide for learning by using discussions, demonstrations, documentation, training manuals, tutorials, Webinars, and podcasts. Users learn better with interactive, self-paced training methods.
Data conversion often is necessary when installing a new information system. When a new system replaces a computerized system, you should automate the data conversion process if possible. The old system might be capable of exporting data in a format that the new system can use, or you might have to extract the data and convert it to an acceptable format. Data conversion from a manual system often requires labor-intensive data entry or scanning. Even when data conversion can be automated, a new system often requires additional data items, which might require manual entry. Strict input controls are important during the conversion process to protect data integrity and quality. Typically, data is verified, corrected, and updated during the conversion process.
System changeover is the process of putting the new system into operation. Four changeover methods exist: direct cutover, parallel operation, pilot operation, and phased operation. With direct cutover, the old system stops and the new system starts simultaneously; direct cutover is the least expensive, but the riskiest changeover method. With parallel operation, users operate both the old and new information systems for some period of time; parallel operation is the most expensive and least risky of the changeover methods. Pilot operation and phased operation represent compromises between direct cutover and parallel operation; both methods are less risky than direct cutover and less costly than parallel operation. With pilot operation, a specified group within the organization uses the new system for a period of time, while the old system continues to operate for the rest of the users. After the system proves successful at the pilot site, it is implemented throughout the organization. With phased operation, you implement the system in the entire organization, but only one module at a time, until the entire system is operational.
A post-implementation evaluation assesses and reports on the quality of the new system and the work done by the project team. Although it is best if people who were not involved in the systems development effort perform the evaluation, that is not always possible. The evaluation should be conducted early so users have a fresh recollection of the development effort, but not before users have experience using the new system.
The final report to management includes the final system documentation, describes any future system enhancements that already have been identified, and details the project costs. The report represents the end of the development effort and the beginning of the new system’s operational life.