Learning Objectives 14.1 Explain and contrast four types of maintenance 14.2 Des cribe several factors that influence the cost of maintaining an information system and apply these factors to the design of maintainable systems; and 14.3 Describe maintenance management issues, including alternative organizational structures, quality measurement, processes for handling change requests, and configuration management
Figure 14-1: Systems Development Life Cycle
Maintaining Information Systems 14.1 Explain and contrast four types of maintenance Four major activities occur within maintenance: Obtaining maintenance requests Transforming requests into changes Designing changes Implementing changes
Figure 14-2: System Service Request for Purchasing Fulfillment System (P V F)
Figure 14-3: Maintenance Activities Parallel Those of the S D L C
Deliverables and Outcomes 14.1 Explain and contrast four types of maintenance S D L C maintenance phase is a subset of the activities of the entire development process Development of a new version of the software and new versions of all design documents created or modified during maintenance
Types of Maintenance (1 of 2) 14.1 Explain and contrast four types of maintenance Maintenance refers to changes made to a system to fix or enhance its functionality Corrective maintenance refers to changes made to a system to repair flaws in its design, coding, or implementation Adaptive maintenance refers to changes made to a system to evolve its functionality to changing business needs or technologies
Types of Maintenance (2 of 2) 14.1 Explain and contrast four types of maintenance Perfective maintenance refers to changes made to a system to add new features or to improve performance Preventative maintenance refers to changes made to a system to avoid possible future problems
Figure 14-4: Value and Non-Value Adding of Different Types of Maintenance ( Sources: Based on Andrews & Leventhal, 1993; Pressman, 2005)
The Cost of Maintenance (1 of 2) 14.2 Describe several factors that influence the cost of maintaining an information system and apply these factors to the design of maintainable systems Many organizations allocate 60-80% of information systems budget to maintenance Because many organizations have accumulated more and more older so-called legacy systems that require more and more maintenance
Figure 14-5: New Development Versus Maintenance as a Percentage of the Software Budget over the Years ( Source: Based on Pressman, 2005)
The Cost of Maintenance (2 of 2) 14.2 Describe several factors that influence the cost of maintaining an information system and apply these factors to the design of maintainable systems Maintainability is the ease with which software can be understood, corrected, adapted, and enhanced Factors influencing maintainability: Latent defects: unknown errors after installation (increases corrective maintenance) Number of system customers: the greater the number of customers the greater the maintenance costs Quality of system documentation: lack of documentation makes maintenance harder Maintenance personnel: high quality programmers required for maintenance Tools: automated documentation and code tools Well-structured programs: well designed programs are easier to understand and fix
Figure 14-6: Quality Documentation Eases Maintenance ( Source: Based on Hanna, M. (1992, December). Using documentation as a life-cycle tool. Software Magazine, 41–46.)
Managing Maintenance Personnel 14.3 Describe maintenance management issues, including alternative organizational structures, quality measurement, processes for handling change requests, and configuration management Traditionally, maintenance and development were separately staffed Organizations are rethinking this. Maybe combine development and maintenance into one role? Another possibility: spread maintenance personnel in different functional units (marketing, accounting, human resources, etc.)
Table 14-2: Advantages and Disadvantages of Different Maintenance Organizational Structures Type Advantages Disadvantages Separate Formal transfer of systems between groups improves the system and documentation quality All things cannot be documented, so the maintenance group may not know critical information about the system Combined Maintenance group knows or has access to all assumptions and decisions behind the system’s original design Documentation and testing thoroughness may suffer due to a lack of a formal transfer of responsibility Functional Personnel have a vested interest in effectively maintaining the system and have a better understanding of functional requirements Personnel may have limited job mobility and lack access to adequate human and technical resources
Measuring Maintenance Effectiveness In measuring maintenance effectiveness you must measure the following factors: Number of failures Time between each failure Type of failure Mean time between failures (M T B F) – measurement of error occurrences that can be tracked over time to indicate the quality of a system
Figure 14-7: How the Mean Time Between Failures Should Change Over Time
Controlling Maintenance Requests Maintenance requests can be frequent Prioritize based on type and urgency of request Evaluations are based on feasibility analysis
Figure 14-8: How to Prioritize Maintenance Requests
Figure 14-9: How a Maintenance Request Moves Through an Organization
Role of Automated Development Tools in Maintenance (1 of 3) Traditional systems development Much time is spent on coding and testing Changes are implemented by coding and testing first Documentation is done after maintenance is performed Keeping documentation current is often neglected due to time-consuming nature of task
Role of Automated Development Tools in Maintenance (2 of 3) 14.3 Describe maintenance management issues, including alternative organizational structures, quality measurement, processes for handling change requests, and configuration management Using automated tools for systems development and maintenance Use data flow diagrams and screen design in lieu of source code Code regeneration using code generators Documentation completed during maintenance process
Role of Automated Development Tools in Maintenance (3 of 3) 14.3 Describe maintenance management issues, including alternative organizational structures, quality measurement, processes for handling change requests, and configuration management Reverse engineering – automated tools that read program source code as input and create graphical and textual representations of design-level information such as program control structures, data structures, logical flow, and data flow Re-engineerin g – automated tools that read program source code as input; perform an analysis of the program’s data and logic; and then automatically, or interactively with a systems analyst, alter an existing system in an effort to improve its quality or performance
Website Maintenance (1 of 2) 14.3 Describe maintenance management issues, including alternative organizational structures, quality measurement, processes for handling change requests, and configuration management Issues and procedures related to website maintenance include: 24/7/365 : Maintenance is challenging as it has to be done without taking the site offline Check for broken links : Most common issue! H T M L validation : Pages should be processed by a code validation routine before publication Reregistration : When content significantly changes, site may need to be reregistered with search engines
Website Maintenance (2 of 2) 14.3 Describe maintenance management issues, including alternative organizational structures, quality measurement, processes for handling change requests, and configuration management Issues and procedures related to website maintenance include: Future editions : Be consistent to avoid confusing users Post indications of future changes to the site Use batch changes to limit frequency of changes
Electronic Commerce Application: Maintaining an Information System for P V F WebStore 14.3 Describe maintenance management issues, including alternative organizational structures, quality measurement, processes for handling change requests, and configuration management To maintain P V F’s WebStore, the following questions need to be addressed: How much is our website worth? How much does it cost our company when our website goes down? How reliable does our website need to be? Pine Valley Furniture needs to immediately develop a plan for addressing the WebStore’s service level problems
Summary In this chapter you learned to: Explain and contrast four types of maintenance Des cribe several factors that influence the cost of maintaining an information system and apply these factors to the design of maintainable systems Describe maintenance management issues, including alternative organizational structures, quality measurement, processes for handling change requests, and configuration management