In this last phase of systems development, the analyst helps implement the information system. This phase involves training users to handle the system. Vendors do some training, but oversight of training is the responsibility of the systems analyst. In addition, the analyst needs to plan for a smooth conversion from the old system to the new one. This process includes converting files from old formats to new ones, or building a database, installing equipment, and bringing the new system into production.
Evaluation is included as part of this final phase of the SDLC mostly for the sake of discussion. Actually, evaluation takes place during every phase. A key criterion that must be satisfied is whether the intended users are indeed using the system.
It should be noted that systems work is often cyclical. When an analyst finishes one phase of systems development and proceeds to the next, the discovery of a problem may force the analyst to return to the previous phase and modify the work done there.
The Impact of Maintenance
After the system is installed, it must be maintained, meaning that the computer programs must be modified and kept up to date. Figure Below illustrates the average amount of time spent on maintenance at a typical MIS installation. Estimates of the time spent by departments on maintenance have ranged from 48 to 60 percent of the total time spent developing systems. Very little time remains for new systems development. As the number of programs written increases, so does the amount of maintenance they require.
Some researchers estimate that the amount of time spent on system maintenance may be as much as 60 percent of the total time spent on systems projects.
Maintenance is performed for two reasons. The first of these is to correct software errors. No matter how thoroughly the system is tested, bugs or errors creep into computer programs. Bugs in commercial PC software are often documented as “known anomalies,” and are corrected when new versions of the software are released or in an interim release. In custom software (also called bespoke software), bugs must be corrected as they are detected.
The other reason for performing system maintenance is to enhance the software’s capabilities in response to changing organizational needs, generally involving one of the following three situations:
- Users often request additional features after they become familiar with the computer system and its capabilities.
- The business changes over time.
- Hardware and software are changing at an accelerated pace.
Figure below illustrates the amount of resources—usually time and money—spent on systems development and maintenance. The area under the curve represents the total dollar amount spent. You can see that over time the total cost of maintenance is likely to exceed that of systems development. At a certain point it becomes more feasible to perform a new systems study, because the cost of continued maintenance is clearly greater than that of creating an entirely new information system.
Resource consumption over the system life.
In summary, maintenance is an ongoing process over the life cycle of an information system. After the information system is installed, maintenance usually takes the form of correcting previously undetected program errors. Once these are corrected, the system approaches a steady state, providing dependable service to its users. Maintenance during this period may consist of removing a few previously undetected bugs and updating the system with a few minor enhancements. As time goes on and the business and technology change, however, the maintenance effort increases dramatically.
- Incorporating Human–Computer Interaction Considerations
- Identifying Problems, Opportunities, and Objectives
- Determining Human Information Requirements
- Analyzing System Needs
- Designing the Recommended System
- Developing and Documenting Software
- Testing and Maintaining the System
- Implementing and Evaluating the System
- The Impact of Maintenance
- Types of Systems
- Integrating Technologies for Systems
- Need for Systems Analysis and Design
- Roles of the Systems Analyst
- The Systems Development Life Cycle
- Using Computer-Aided Software Engineering (CASE) Tools
- The Agile Approach
- Object-Oriented Systems Analysis and Design & Choosing Which Systems Development Method to Use