Lecture 18 – system maintenance
1
Types of maintenance – maintenance tasks
Four types of maintenance
Corrective – performed to fix errors
Adaptive – adds new capability & enhancements
Perfective – improves efficiency
Preventive – reduces possibility of system failure
Some analysts use term maintenance to only describe corrective maintenance, but maintenance really is one of the four types listed above
Costs during maintenance
Operational costs: items such as supplies, equipment rental, & software leases. Lower area of following diagram represents fixed operational costs, and upper area represents maintenance expenses
Maintenance expenses vary widely during system’s operational life & include spending to support maintenance activities, which include:
Changing programs, procedures, or documentation to ensure correct system performance
Adapting the system to changing requirements
Making system operate more efficiently
Total Cost of operating a system
The total cost of operating an information system includes operational and maintenance costs. Operational costs (green) are relatively constant, while maintenance costs (purple) vary over time.
5
Lifetime maintenance expenses of a system
Usually high when a system is implemented. Why?
Because problems must be detected, investigated, & resolved by what is known as corrective maintenance
Once system becomes stable, costs remain low. Why?
Involve minor adaptive maintenance
Eventually, both adaptive & perfective maintenance activities increase in a dynamic business environment
Near end of system’s useful life, costs go up again. Why?
Adaptive and corrective expenses increase rapidly, but perfective maintenance decreases when it becomes clear that the organization is going to replace the system
Type depends on the system & its age
corrective
Corrects errors in an operational system
Best maintenance approach is scaled-down version of the SDLC, where investigation, analysis, design, and testing are performed before implementing a solution
Any maintenance work that could affect entire system must be performed on a test environment & then migrated to operational systems
Most orgs have standard procedures for minor errors, such as an incorrect report title
Typical – user submits a systems request that is evaluated, prioritized, & scheduled by sys admin or sys review committee
If approved, maintenance team designs, tests, documents, & implements a solution
Corrective – worst case scenario
Is system failure
If an emergency occurs, maintenance team bypasses initial steps & tries to correct problem immediately.
May require a patch
Meanwhile, a written systems request is prepared by a user or member of IT department & added to maintenance log
When system is operational again, maintenance team determines the cause, analyzes problem, and designs permanent solution
Levels of response
adaptive
Adds enhancements to an operational system & makes the system easier to use
Enhancement is a new feature or capability
Need for this usually arises from business environment changes such as new products or services, new manufacturing technology, or support for a new web-based operation (brick-and-mortar migrating some sales online)
Procedure for minor adaptive maintenance is same as for routine corrective
User submits systems request that is evaluated & prioritized by systems review committee
Maintenance team then analyzes, tests, and implements the enhancement
perfective
Involves changing an operational system to make it more efficient, reliable, or maintainable
Requests for corrective and adaptive normally come from users – IT department usually initiates perfective maintenance
During system operation, changes in user activity or data patterns can cause a decline in efficiency, & perfective maintenance might be needed to restore performance
Can also improve system reliability – input problems might cause a program to terminate abnormally. By modifying data entry process, errors can be highlighted and users notified that they must enter proper data
When system is easier to maintain, support is less costly & less risky
perfective
Many organizations don’t perform perfective maintenance often enough
Companies with limited resources often consider new systems development, adaptive maintenance, and corrective maintenance more important than perfective maintenance
Managers & users constantly requests new projects, so few resources are available for perfective maintenance
Perfective maintenance can be performed as part of another project
It’s usually cost effective in the middle of a system’s life
Software reengineering – uses analytical techniques to identity potential quality & performance requirements in a system.
preventive
To avoid problems, preventive maintenance is performed
Requires analysis of areas where trouble is likely to occur
Often results in increased user satisfaction
Competes for IT resources along with other projects and sometimes doesn’t receive high priority it deserves
Examples of each
The maintenance team
What it requires
Effective Management
Quality Assurance
Cost Control
To achieve these goals, companies use various strategies
A maintenance team
A maintenance management program
A configuration management process
A maintenance release schedule
17
Who is in it
System administrator
Administrator should have solid technical experience, & experience in troubleshooting & configuring operating systems
One or more systems analysts
Analysts need strong IT background, solid analytical abilities, good communication skills, and overall understanding of business operations
Programmers
18
System administrator
Manages computer & network systems
Must:
Work well under pressure
Have good organizational & communication skills
Be able to understand & resolve complex issues in a limited time frame
Primary responsibility for operation, configuration, & security of systems
Responsible for routine maintenance, usually authorized to take preventive action to avoid an immediate emergency, such as a server crash or network outage
19
Systems analyst
Are skilled “detectives” who investigate & rapidly locate the source of a problem by using analysis & synthesis skills
Analysis means examining the whole in order to learn about the individual elements
Synthesis involves studying the parts to understand overall system
Analyst must have
Strong technical skills
Good grasp of business operations and functions
Effective interpersonal & communications skills
Be creative, energetic, & eager for learning new systems and techniques
Programmers
In a small organization, a programmer may also be required to perform analysis functions
In larger firms, work tends to be more specialized
Applications programmers
Database programmers
People who perform both programming & analysis functions are often called programmer/analysts
21
Organizational issues
Division of labor
Systems analysts and programmers are often divided into two groups
One performs new system development
The other handles system maintenance
Other organizations use a more flexible approach
Assign IT staff members to projects as they occur
So some personnel would be performing both new system development & maintenance once the system has been implemented
Depends on the organization
How analysts feel
Maintenance is less interesting & less creative than developing new systems
Might find it challenging to troubleshoot & support someone else’s work that might have been poorly documented & organized
24
Job rotation
Some orgs that have separate maintenance & new systems groups rotate them from one assignment to the other
When analysts learn different skills, org is more versatile & people can shift to meet changing business needs
Systems analysts working on maintenance projects learn why it’s important to design easily maintainable systems
Analysts working on new systems projects get better appreciation of development process & design compromises required to meet business objectives
25
Problems with rotation
It increases overhead b/c time is lost when people move from one job to another
When people constantly shift from one role to the other, they have less opportunity to become proficient in either
Newly hired & recently promoted IT staff members are often assigned to maintenance projects b/c their managers believe that the opportunity to study existing systems & documentation is a valuable experience
Another reason – the mini-SDLC used in many maintenance projects is good training from full-scale systems development projects
But for a new systems analyst, maintenance work may be more difficult than systems development, & so it might make sense to assign a new analyst to a development team where experienced analysts can provide training and guidance
26
Maintenance requests
Typical process for handling maintenance requests
Steps of handling the request
Initial determination – when user submits maintenance request, sys admin makes initial determination. If request is justifiable & involves a severe problem that requires immediate attention, sys admin at once. If not critical, admin determines whether request can be performed within a preauthorized cost level
Systems review committee – when request exceeds predetermined cost $$ level, sys review committee either approves it & assigns a priority or rejects it
Task completion – sys admin is responsible for assigning maintenance tasks to individuals or a team
User notification – users who initiate maintenance requests expect a prompt response. Even if the work cannot be done immediately, they must be notified
Maintenance releases
Documents and installs changes as a new version
Maintenance release methodology: Retains all noncritical changes and implements them simultaneously
Advantage - All changes are tested together, resulting in fewer versions and lesser expense
Disadvantage - New features of upgrades are available less often
Service packs: Maintenance releases provided by commercial software suppliers
Numbering:
1.0 is initial version of system. Release that includes first set of maintenance changes would be version 1.1
Change from version 1.4 to 1.5 would include minor enhancements
Whole number changes, from 1.0 to 2.0, or 3.4 to 4.0, indicate a significant upgrade