What is systems maintenance?
Systems maintenance is the modification (e.g., repair, correction, enhancement) of existing applications. Systems maintenance expenditures can account for 50 to 70 percent of the total cost of a system over its total life cycle. For example, 80 percent of the total cost of software is in maintenance. 1 Not all maintenance expense is necessarily bad; rather, the issue is the relative amount spent on systems maintenance. After all, applications must be adapted to a changing environment and improved over time.
Organizations often adopt the following procedures and controls for their systems maintenance process:
- Because systems maintenance is like miniature systems development, it should include analysis, cost/benefit study, design, implementation, and approvals for each development step. In systems maintenance, certain SDLC procedures deserve more attention than others. For example, changes must be tested prior to implementation to determine that a change corrects the problem and does not cause other problems. Participants and signoffs should be the same as those required for systems development. For example, users should review system changes
- By charging users for maintenance costs, an organization can reduce the submission of frivolous maintenance requests.
- By adopting a formal procedure for submitting change requests, batching these requests together for each application, and then prioritizing the batches, management can gain control of systems maintenance and reduce the expense and disruptions caused by maintenance.
- During systems maintenance, information should be gathered that provides feedback to improve the operation of the system and to improve the systems development process. For instance, poor quality application documentation and inadequate user training can cause numerous systems maintenance requests. Correcting these deficiencies can preclude the need for similar maintenance requests in the future. Likewise, improvements in the systems development process can prevent deficiencies from occurring in other systems when they are being developed.
- Management should see that program change controls (see Chapter 8) are used to ensure that all modifications to computer programs are authorized, tested, and properly implemented.
- High-quality documentation must be created and maintained. Without current, accurate documentation, maintenance programmers cannot understand existing programs, and therefore cannot effectively or efficiently modify them.
Why is the management and control of systems maintenance so important?