Скачать презентацию Paul R Croll Chair IEEE Software and Systems Скачать презентацию Paul R Croll Chair IEEE Software and Systems

e415c820321e3c9256b96036801d5b6c.ppt

  • Количество слайдов: 49

Paul R. Croll Chair, IEEE Software and Systems Engineering Standards Committee Convener, ISO/IEC JTC Paul R. Croll Chair, IEEE Software and Systems Engineering Standards Committee Convener, ISO/IEC JTC 1/SC 7 WG 9 Computer Sciences Corporation pcroll@csc. com th th A Best Practice Approach for Software Maintenance - Sustaining Critical Capability 16 Annual Systems and Software Technology Conference 20 April 2004, 1355 -1440 16 Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved

Agenda l l l l l The Five Types of Software Maintenance A Best Agenda l l l l l The Five Types of Software Maintenance A Best Practice Approach Maintenance in the System Life Cycle Maintenance in the Software Life Cycle The CMMI and Maintenance ISO/IEC 14764 – The International Software Maintenance Standard IEEE 1219 – The National Software Maintenance Standard ISO/IEC 14764 / IEEE 1219 Harmonization Final Thoughts on Software Maintenance 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 2

Five Types of Software Maintenance l Corrective Maintenance u Identify and remove defects u Five Types of Software Maintenance l Corrective Maintenance u Identify and remove defects u Correct actual errors l u Adapt to a new/upgraded environment (e. g. , hardware, operating system, middleware) Incorporate new capability Preventive Maintenance u u Perfective Maintenance u Improve performance, dependability, maintainability u Update documentation Adaptive Maintenance u l l Identify and detect latent faults Systems with safety concerns l Emergency Maintenance Unscheduled corrective maintenance (Risks due to reduced testing) u 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 3

Two Types of Maintenance Activities – Bug Fixing l Corrective Maintenance u u l Two Types of Maintenance Activities – Bug Fixing l Corrective Maintenance u u l Identify and remove defects Correct actual errors Preventive Maintenance u u Identify and detect latent faults Systems with safety concerns l Emergency Maintenance Unscheduled corrective maintenance (Risks due to reduced testing) u 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 4

Two Types of Maintenance Activities – Development/Migration l l Perfective Maintenance u Improve performance, Two Types of Maintenance Activities – Development/Migration l l Perfective Maintenance u Improve performance, dependability, maintainability u Update documentation Adaptive Maintenance u u Adapt to a new/upgraded environment (e. g. , hardware, operating system, middleware) Incorporate new capability 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 5

A Best Practice Approach for Software Maintenance Build or Refine Your Process Architecture Look A Best Practice Approach for Software Maintenance Build or Refine Your Process Architecture Look to Framework Standards for Maintenance Process Objectives Look to the CMMI for Process Capability Expectations Look to Supporting Standards for Process Detail 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 6

How do we know what the objectives and expected outcomes should be for Maintenance? How do we know what the objectives and expected outcomes should be for Maintenance? Look to Framework Standards for Maintenance Process Objectives 16 th Annual Systems Technology Track 6, IEEE Sponsored Track – 20 April 2004, 16 th Annual Systems and Software. Conference – Track 6, IEEE Sponsored Track – 201355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 7

Maintenance in the System Life Cycle ISO/IEC 15288 System Life Cycle Processes SYSTEM LIFE Maintenance in the System Life Cycle ISO/IEC 15288 System Life Cycle Processes SYSTEM LIFE CYCLE (25) ENTERPRISE(5) AGREEMENT (2) PROJECT (7) ENTERPRISE ENVIRONMENT MANAGEMENT INVESTMENT MANAGEMENT SYSTEM LIFE CYCLE MANAGEMENT RESOURCE MANAGEMENT QUALITY MANAGEMENT ACQUISITION SUPPLY PROJECT PLANNING PROJECT ASSESSMENT PROJECT CONTROL DECISION MAKING RISK MANAGEMENT CONFIGURATION MANAGEMENT INFORMATION MANAGEMENT TECHNICAL (11) STAKEHOLDER REQUIREMENTS DEFINITION REQUIREMENTS ANALYSIS ARCHITECTURAL DESIGN IMPLEMENTATION INTEGRATION VERIFICATION TRANSITION VALIDATION OPERATION MAINTENANCE DISPOSAL Maintenance 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 8

ISO/IEC 15288 – Maintenance Process – Purpose l Clause 5. 5. 11. 1 Purpose ISO/IEC 15288 – Maintenance Process – Purpose l Clause 5. 5. 11. 1 Purpose of the Maintenance Process u u The purpose of the Maintenance Process is to sustain the capability of the system to provide a service. This process monitors the system’s capability to deliver services, records problems for analysis, takes corrective, adaptive, perfective and preventive actions and confirms restored capability. Source: ISO/IEC 15288: 2002, © ISO/IEC 2002. 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 9

ISO/IEC 15288 – Maintenance Process – Purpose l l Sustain the capability of the ISO/IEC 15288 – Maintenance Process – Purpose l l Sustain the capability of the system to provide a service Monitor and record problems Take corrective, adaptive, perfective and preventive actions Confirm restored capability Source: ISO/IEC 15288: 2002, © ISO/IEC 2002. 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 10

ISO/IEC 15288 – Maintenance Process – Expected Outcomes l Clause 5. 5. 11. 2 ISO/IEC 15288 – Maintenance Process – Expected Outcomes l Clause 5. 5. 11. 2 Maintenance Process Outcomes u u u u As a result of the successful implementation of the Maintenance Process: a) A maintenance strategy is developed. b) Maintenance constraints are provided as inputs to requirements. c) Replacement system elements are made available. d) Services meeting stakeholder requirements are sustained. e) The need for corrective design changes is reported. f) Failure and lifetime data is recorded. Source: ISO/IEC 15288: 2002, © ISO/IEC 2002. 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 11

ISO/IEC 15288 – Maintenance Process – Expected Outcomes l l l A maintenance strategy ISO/IEC 15288 – Maintenance Process – Expected Outcomes l l l A maintenance strategy is developed Maintenance constraints are provided Replacement system elements are made available Services are sustained The need for changes is reported Failure and lifetime data is recorded Source: ISO/IEC 15288: 2002, © ISO/IEC 2002. 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 12

Maintenance in the Software Life Cycle IEEE/EIA 12207 Software Life Cycle Processes SOFTWARE LIFE Maintenance in the Software Life Cycle IEEE/EIA 12207 Software Life Cycle Processes SOFTWARE LIFE CYCLE (17+1) ACQUISITION SUPPLY DEVELOPMENT OPERATION MAINTENANCE Maintenance PRIMARY (5) SUPPORTING (8) DOCUMENTATION CONFIGURATION MANAGEMENT QUALITY ASSURANCE VERIFICATION VALIDATION JOINT REVIEW AUDIT PROBLEM RESOLUTION ORGANIZATIONAL (4) MANAGEMENT Source: Singh 97 INFRASTRUCTURE IMPROVEMENT TRAINING TAILORING 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 13

IEEE/EIA 12207 – Maintenance Process – Purpose l Clause 5. 5 Maintenance process u IEEE/EIA 12207 – Maintenance Process – Purpose l Clause 5. 5 Maintenance process u This process is activated when the software product undergoes modifications to code and associated documentation due to a problem or the need for improvement or adaptation n u The objective is to modify the existing software product while preserving its integrity This process includes the migration and retirement of the software product The process ends with the retirement of the software product The activities provided in this clause are specific to the Maintenance Process; however, the process may utilize other processes in this International Standard. If the Development Process (5. 3) is utilized, the term developer there is interpreted as maintainer Source: IEEE/EIA 12207. 0 -1996, © IEEE. 1998 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 14

IEEE/EIA 12207 – Maintenance Process – Purpose l l l Activated when the software IEEE/EIA 12207 – Maintenance Process – Purpose l l l Activated when the software product undergoes post-delivery modifications Modifies the existing software product while preserving its integrity Includes the migration and retirement of the software product Source: IEEE/EIA 12207. 0 -1996, © IEEE. 1998 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 15

IEEE/EIA 12207 – Maintenance Process – Expected Outcomes l Appendix G, Clause G. 9 IEEE/EIA 12207 – Maintenance Process – Expected Outcomes l Appendix G, Clause G. 9 Maintenance process u The use of the Maintenance process should achieve the following objectives: n n n a) Define the impact of organization, operations, and interfaces on the existing system in operation; b) Identify and update appropriate life cycle data; c) Develop modified system components with associated documentation and tests that demonstrate that the system requirements are not compromised; d) Migrate system and software upgrades to the user's environment; e) Ensure fielding of new systems or versions does not adversely affect ongoing operations; f) Maintain the capability to resume processing with prior versions. Source: IEEE/EIA 12207. 0 -1996, © IEEE. 1998 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 16

IEEE/EIA 12207 – Maintenance Process – Expected Outcomes l l l l Defined impact IEEE/EIA 12207 – Maintenance Process – Expected Outcomes l l l l Defined impact on the existing system in operation Updated life cycle data Modified system components Demonstration that the system requirements are not compromised Migration of upgrades to the user's environment No adverse affect ongoing operations The capability to restore prior versions Source: IEEE/EIA 12207. 0 -1996, © IEEE. 1998 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 17

How do we know what the process capability expectations are for Maintenance? Look to How do we know what the process capability expectations are for Maintenance? Look to the CMMI for Process Capability Expectations 16 th Annual Systems Technology Track 6, IEEE Sponsored Track – 20 April 2004, 16 th Annual Systems and Software. Conference – Track 6, IEEE Sponsored Track – 201355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 18

Bug Fixing vs. Post-Delivery Development/Migration All Maintenance PP CM PMC RSKM PPQA TS REQM Bug Fixing vs. Post-Delivery Development/Migration All Maintenance PP CM PMC RSKM PPQA TS REQM PI TS PI VER ISM SAM CAR Bug Fixing VER Post-Delivery Development/ Migration RD VAL REQM 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved VAL 19

How does the CMMI Treat Maintenance? l Development u u The word “development, ” How does the CMMI Treat Maintenance? l Development u u The word “development, ” when used in the CMMI Product Suite, implies not only development activities, but also maintenance activities. Projects that benefit from the best practices of CMMI can focus on maintenance, development, or both. Source: CMMI -SE/SW/IPPD/SS, V 1. 1, Continuous Representation, © CMU SEI, 2002. The term Maintenance appears in the CMMI 70 times 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 20

How does the CMMI map to the consensus-based objectives and expected outcomes for Maintenance? How does the CMMI map to the consensus-based objectives and expected outcomes for Maintenance? 16 th Annual Systems Technology Track 6, IEEE Sponsored Track – 20 April 2004, 16 th Annual Systems and Software. Conference – Track 6, IEEE Sponsored Track – 201355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 21

The CMMI and System Maintenance – Objectives CMMI Process Areas ISO/IEC 15288 Maintenance Objectives The CMMI and System Maintenance – Objectives CMMI Process Areas ISO/IEC 15288 Maintenance Objectives Monitor the system’s capability to deliver services PMC PPQA RSKM Record problems for analysis VER Take corrective, adaptive, perfective and preventive actions Confirm restored capability CM VER VAL CAR VAL CM RD CAR REQM PPQA TS RSKM PI RSKM PMC 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 22

The CMMI and System Maintenance – Outcomes CMMI Process Areas ISO/IEC 15288 Maintenance Outcomes The CMMI and System Maintenance – Outcomes CMMI Process Areas ISO/IEC 15288 Maintenance Outcomes A maintenance strategy is developed Maintenance constraints are provided as inputs to requirements Replacement system elements are made available PP TS RD PI Services meeting stakeholder requirements are sustained PMC The need for corrective design changes is reported PPQA RSKM PPQA CM Failure and lifetime data is recorded SAM ISM RD RSKM CM PMC 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 23

The CMMI and Software Maintenance – Objectives CMMI Process Areas IEEE/EIA 12207 Maintenance Objectives The CMMI and Software Maintenance – Objectives CMMI Process Areas IEEE/EIA 12207 Maintenance Objectives Define the impact of organization, operations, and interfaces on the existing system in operation Identify and update life cycle data Develop modified system components with associated documentation and tests that demonstrate that the system requirements are not compromised TS RD TS RSKM REQM PI CM PPQA Migrate system and software upgrades to the user's environment PI CM Ensure fielding of new systems or versions does not adversely affect ongoing operations VER Maintain the capability to resume processing with prior versions TS VAL RSKM VER VAL RSKM PPQA RSKM CM 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 24

Where do we find detailed information to help us build or refine processes for Where do we find detailed information to help us build or refine processes for Maintenance? Look to Supporting Standards for Process Detail 16 th Annual Systems Technology Track 6, IEEE Sponsored Track – 20 April 2004, 16 th Annual Systems and Software. Conference – Track 6, IEEE Sponsored Track – 201355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 25

ISO/IEC 14764 – Maintenance Processes Clause number Process Implementation 8 Maintenance Processes u u ISO/IEC 14764 – Maintenance Processes Clause number Process Implementation 8 Maintenance Processes u u u Inputs Tasks Controls Support Outputs 8. 1 Maintenance Review/ Acceptance Problem and Modification Analysis 8. 4 8. 2 Modification Implementation 8. 3 Migration 8. 5 Source: ISO/IEC 14764: 1999, © ISO/IEC 1999. Retirement 8. 6 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 26

ISO/IEC 14764 – Process Implementation 8. 1 8 Maintenance Processes u u u Inputs ISO/IEC 14764 – Process Implementation 8. 1 8 Maintenance Processes u u u Inputs Tasks Controls Support Outputs Maintenance Review/ Acceptance Problem and Modification Analysis 8. 4 8. 2 Modification Implementation 8. 3 Migration 8. 5 Source: ISO/IEC 14764: 1999, © ISO/IEC 1999. Retirement 8. 6 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 27

ISO/IEC 14764 – Process Implementation 8. 1. 2. 1 Maintenance plans and procedures The ISO/IEC 14764 – Process Implementation 8. 1. 2. 1 Maintenance plans and procedures The maintainer shall develop, document, and execute plans and procedures for conducting the activities and tasks of the Maintenance Process. The Maintenance Plan should document the strategy to be used to maintain the system, while the Maintenance Procedures should provide a more detailed approach on Process how to actually accomplish the maintenance. In order to Implementation develop effective Maintenance Plans and Procedures, the 8. 1 maintainer should perform the following task-steps: Maintenance Problem and a) Assist the acquirer in developing the maintenance Review/ Modification concept. Acceptance Analysis b) Assist the acquirer in determining the scope of 8. 4 8. 2 maintenance. c) Assist the acquirer in analyzing maintenance organization alternatives. Modification d) Ensure written designation as the maintainer for the Implementation software product. 8. 3 e) Conduct resource analyses. f) Estimate maintenance costs. g) Perform a maintainability assessment of the system. Migration h) Determine transition requirements. 8. 5 i) Determine transition milestones. j) Identify the maintenance process which will be used. Retirement k) Document the maintenance process in the form of 8. 6 operating procedures. 8 Maintenance Processes u u u Inputs Tasks Controls Support Outputs Source: ISO/IEC 14764: 1999, © ISO/IEC 1999. 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 28

ISO/IEC 14764 – Problem and Modification Analysis Process Implementation 8. 1 8 Maintenance Processes ISO/IEC 14764 – Problem and Modification Analysis Process Implementation 8. 1 8 Maintenance Processes u u u Inputs Tasks Controls Support Outputs Maintenance Review/ Acceptance Problem and Modification Analysis 8. 4 8. 2 Modification Implementation 8. 3 Migration 8. 5 Source: ISO/IEC 14764: 1999, © ISO/IEC 1999. Retirement 8. 6 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 29

ISO/IEC 14764 – Problem and Modification Analysis 8. 2. 2. 1 MR/PR analysis The ISO/IEC 14764 – Problem and Modification Analysis 8. 2. 2. 1 MR/PR analysis The maintainer shall analyze the problem report or modification request for its impact on the organization, the existing system, and the interfacing systems for the following: a) Type; for example, corrective, improvement, preventive, or adaptive to new environment; b) Scope; for example, size of modification, cost involved, time to modify; c) Criticality; for example, impact on performance, safety, or security. In order to ensure that the requested MR/PR is feasible, the Process maintainer should perform the following task-steps: Implementation d) Determine if the maintainer is adequately staffed to implement the 8. 1 proposed change. Maintenance Problem and e) Determine if the program is adequately budgeted to implement the Review/ Modification proposed change. f) Determine if sufficient resources are available and whether this Acceptance Analysis modification will affect ongoing or projected 8. 4 8. 2 projects (may not be necessary for PRs). g) Determine the operational issues to be considered. For example, u what are the anticipated changes to system Modification interface requirements, the expected useful life of the system, the u Implementation operational priorities, safety, and security, 8. 3 security impacts, if it is not implemented? (may not be necessary for u PRs). h) Determine safety and security implications (may not be necessary u for PRs). i) Determine short-term and long-term costs (may not be necessary u Migration for PRs). 8. 5 j) Determine the value of the benefit of making the modification. Retirement k) Determine the impact on existing schedules. Source: 8. 6 l) Determine the level of test and evaluation required. ISO/IEC 14764: 1999, m) Determine the estimated management cost to implement the © ISO/IEC 1999. change (may not be necessary for PRs). 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 8 Maintenance Processes Inputs Tasks Controls Support Outputs Copyright 2004, Paul R. Croll, All rights reserved 30

ISO/IEC 14764 – Modification Implementation Process Implementation 8. 1 8 Maintenance Processes u u ISO/IEC 14764 – Modification Implementation Process Implementation 8. 1 8 Maintenance Processes u u u Inputs Tasks Controls Support Outputs Maintenance Review/ Acceptance Problem and Modification Analysis 8. 4 8. 2 Modification Implementation 8. 3 Migration 8. 5 Source: ISO/IEC 14764: 1999, © ISO/IEC 1999. Retirement 8. 6 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 31

ISO/IEC 14764 – Modification Implementation Process 8. 3. 2. 1 Analysis Implementation Once the ISO/IEC 14764 – Modification Implementation Process 8. 3. 2. 1 Analysis Implementation Once the MR/PR has been approved, the maintainer 8. 1 shall conduct analysis and determine which Maintenance Problem and documentation, software units, and versions thereof Review/ Modification need to be modified. These shall be documented. Acceptance Analysis 8. 4 8. 2 The results of this additional analysis should be u Inputs documented in the software development folders (SDFs). This effort includes the following task-steps: Modification u Tasks a) Identify the elements to be modified in the existing Implementation 8. 3 system. u Controls b) Identify the interface elements affected by the u Support modification. c) Identify the documentation to be updated. u Outputs Migration d) Update the SDFs. 8 Maintenance Processes 8. 5 Source: ISO/IEC 14764: 1999, © ISO/IEC 1999. Retirement 8. 6 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 32

ISO/IEC 14764 – Maintenance Review/Acceptance Process Implementation 8. 1 8 Maintenance Processes u u ISO/IEC 14764 – Maintenance Review/Acceptance Process Implementation 8. 1 8 Maintenance Processes u u u Inputs Tasks Controls Support Outputs Maintenance Review/ Acceptance Problem and Modification Analysis 8. 4 8. 2 Modification Implementation 8. 3 Migration 8. 5 Source: ISO/IEC 14764: 1999, © ISO/IEC 1999. Retirement 8. 6 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 33

ISO/IEC 14764 – Maintenance Review/Acceptance Process 8. 4. 2. 1 Reviews Implementation The maintainer ISO/IEC 14764 – Maintenance Review/Acceptance Process 8. 4. 2. 1 Reviews Implementation The maintainer shall conduct review(s) with the organization 8. 1 authorizing the modification to determine the integrity of the Maintenance Problem and modified system. Review/ Modification Acceptance Analysis The following task-steps should be performed: 8. 4 8. 2 a) Trace the MR/PR from requirements, to design, to code. u Inputs b) Verify testability of the code. c) Verify that coding standards were complied with. Modification u Tasks d) Verify that only necessary software components were Implementation modified. 8. 3 u Controls e) Verify that the new software components were integrated u Support properly. f) Check documentation to ensure that it was updated. u Outputs Migration g) Perform testing. 8. 5 h) Develop test report. Retirement 8 Maintenance Processes Source: ISO/IEC 14764: 1999, © ISO/IEC 1999. 8. 6 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 34

ISO/IEC 14764 – Migration Process Implementation 8. 1 8 Maintenance Processes u u u ISO/IEC 14764 – Migration Process Implementation 8. 1 8 Maintenance Processes u u u Inputs Tasks Controls Support Outputs Maintenance Review/ Acceptance Problem and Modification Analysis 8. 4 8. 2 Modification Implementation 8. 3 Migration 8. 5 Source: ISO/IEC 14764: 1999, © ISO/IEC 1999. Retirement 8. 6 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 35

ISO/IEC 14764 – Migration 8. 5. 2. 2 Migration plan In order to adequately ISO/IEC 14764 – Migration 8. 5. 2. 2 Migration plan In order to adequately control the migration of a system, a migration plan shall be developed, documented and executed. The planning activities shall include users. Items included in the plan shall include the following: a) Requirements analysis and definition of migration; b) Development of migration tools; c) Conversion of software product and data; d) Migration execution; e) Migration verification; Process f) Support for the old environment in the future. Implementation 8. 1 The development of the Migration Plan should include input from the users. As part of Maintenance Problem and this task, the maintainer should perform the following task-steps: Review/ Modification a) Analyze the migration requirements. Acceptance Analysis b) Determine the impact of migrating the software product. 8. 4 8. 2 c) Establish a schedule for performing the migration. d) Identify data collection requirements for post-operation review. u Inputs e) Define and document the migration effort. Modification f) Determine and mitigate risks. u Tasks Implementation g) Identify needed migration tools. 8. 3 u Controls h) Identify support for the old environment. i) Develop and/or acquire migration tools. u Support j) Incrementally decompose software products and data for conversion. k) Prioritize conversion of software products and data. u Outputs Migration l) Convert software products and data. 8. 5 m) Migrate software products and data to new environment. n) Run parallel operations. Retirement Source: o) Verify migration through testing. 8. 6 ISO/IEC 14764: 1999, p) Provide support for old environment. © ISO/IEC 1999. 8 Maintenance Processes 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 36

ISO/IEC 14764 – Retirement Process Implementation 8. 1 8 Maintenance Processes u u u ISO/IEC 14764 – Retirement Process Implementation 8. 1 8 Maintenance Processes u u u Inputs Tasks Controls Support Outputs Maintenance Review/ Acceptance Problem and Modification Analysis 8. 4 8. 2 Modification Implementation 8. 3 Migration 8. 5 Source: ISO/IEC 14764: 1999, © ISO/IEC 1999. Retirement 8. 6 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 37

ISO/IEC 14764 – Retirement 8. 6. 2. 1 Retirement plan A retirement plan to ISO/IEC 14764 – Retirement 8. 6. 2. 1 Retirement plan A retirement plan to remove active support by the operation and maintenance organizations shall be developed and documented. The planning activities shall include users. The plan shall address the items listed below. The plan shall be executed. a) Cessation of full or partial support after a certain period of Process time; Implementation b) Archiving of the software product and its associated 8. 1 Problem and documentation; Modification c) Responsibility for any future residual support issues; Analysis d) Transition to the new software product, if applicable; 8. 2 e) Accessibility of archive copies of data. Maintenance Review/ Acceptance 8 Maintenance Processes u 8. 4 Inputs As part of this task, the maintainer should perform the Modification u Tasks following task-steps: Implementation a) Analyze the retirement requirements. 8. 3 u Controls b) Determine the impact of retiring the software product. c) Identify replacement software product, if any. u Support d) Establish a schedule for retiring the software product. e) Identify the responsibility for any future residual support. u Outputs f) Define and document the retirement effort. Source: ISO/IEC 14764: 1999, © ISO/IEC 1999. Migration 8. 5 Retirement 8. 6 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 38

IEEE 1219 – Maintenance Processes 4. 1 Problem/modification identification, classification, and prioritization 4. 2 IEEE 1219 – Maintenance Processes 4. 1 Problem/modification identification, classification, and prioritization 4. 2 Analysis Control Clause number Input 4. 3 Design 4. 4 Implementation 4. 5 Regression/system testing 4. 6 Acceptance testing 4. 7 Delivery Process Associated Processes Output Source: IEEE 1219 -1998, © IEEE, 1998. 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 39

IEEE 1219 – Annexes l l Annex A (informative) Maintenance guidelines Annex B (informative) IEEE 1219 – Annexes l l Annex A (informative) Maintenance guidelines Annex B (informative) Supporting Maintenance Technology u u l l Re-engineering Reverse engineering Holistic reusing (i. e. , cloning of a “new” system from a parent system) Software tools Annex C (normative) Maintenance Plan Guidelines Annex D (informative) Guidelines For Compliance With IEEE/EIA 12207. 1 -1997 Source: IEEE 1219 -1998, © IEEE, 1998. 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 46

How are these Standards being harmonized to be consistent and complimentary? 16 th Annual How are these Standards being harmonized to be consistent and complimentary? 16 th Annual Systems Technology Track 6, IEEE Sponsored Track – 20 April 2004, 16 th Annual Systems and Software. Conference – Track 6, IEEE Sponsored Track – 201355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 47

ISO/IEC 14764 / IEEE 1219 Harmonization - Differences The Standards Have Different Process Models ISO/IEC 14764 / IEEE 1219 Harmonization - Differences The Standards Have Different Process Models 1. 2. 3. 4. 5. 6. ISO/IEC 14764 Process Implementation Problem and modification analysis Modification implementation Maintenance review/acceptance Migration Software retirement 1. 2. 3. 4. 5. 6. 7. IEEE STD 1219 Problem identification Analysis Design Implementation System test Acceptance test Delivery 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 48

ISO/IEC 14764 / IEEE 1219 Harmonization Approach Create Two Standards With Identical Normative Content ISO/IEC 14764 / IEEE 1219 Harmonization Approach Create Two Standards With Identical Normative Content l Assumptions u u l Use the ISO/IEC 14764 process model as the basic structure Fold IEEE Std 1219 into the 14764 structure Approach u u Include relevant IEEE Std 1219 normative material in the document body Include relevant IEEE Std 1219 informative material in annexes to the document 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 49

Some Final Thoughts on Software Maintenance Build or Refine Your Process Architecture 16 th Some Final Thoughts on Software Maintenance Build or Refine Your Process Architecture 16 th Annual Systems Technology Track 6, IEEE Sponsored Track – 20 April 2004, 16 th Annual Systems and Software. Conference – Track 6, IEEE Sponsored Track – 201355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 50

Software Maintenance is Different Than Software Development l Establish the maintenance process u u Software Maintenance is Different Than Software Development l Establish the maintenance process u u u l Perform problem/modification analysis u u u l l Develop maintenance plans and procedures Establish MR/PR procedures Implement configuration management Analyse MRs/PRs Replicate or verify the problem Develop options for implementing the modification Document the MR/PR, the results, and implementation options Obtain approval for the selected modification option Develop and test the modification Verify and validate the modification Source: ISO/IEC 14764: 1999, © ISO/IEC 1999. 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 51

A Best Practice Approach for Software Maintenance Build or Refine Your Process Architecture Look A Best Practice Approach for Software Maintenance Build or Refine Your Process Architecture Look to Framework Standards for Maintenance Process Objectives Look to the CMMI for Process Capability Expectations Look to Supporting Standards for Process Detail 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 52

For More Information. . . Paul R. Croll Computer Sciences Corporation 5166 Potomac Drive For More Information. . . Paul R. Croll Computer Sciences Corporation 5166 Potomac Drive King George, VA 22485 -5824 Phone: Fax: e-mail: +1 540. 644. 6224 +1 540. 663. 0276 pcroll@csc. com For IEEE Standards: http: //computer. org/standards/sesc/ http: //computer. org/cspress/CATALOG/st 01110. htm For ISO/IEC Standards: http: //saturne. info. uqam. ca/Labo_Recherche/Lrgl/sc 7/ 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 53

References CMMI -SE/SW/IPPD/SS, V 1. 1, CMMI for Systems Engineering/Software Engineering/Integrated Product and Process References CMMI -SE/SW/IPPD/SS, V 1. 1, CMMI for Systems Engineering/Software Engineering/Integrated Product and Process Development, and Supplier Sourcing Version 1. 1, CMMI -SE/SW/IPPD/SS, V 1. 1, Continuous Representation. CMU/SEI-2002 -TR-011, ESC-TR-2002 -011, Carnegie Mellon University, Software Engineering Institute, Pittsburgh, PA, March 2002. IEEE Standard 1219 -1998, IEEE Standard for Software Maintenance, Institute of Electrical and Electronics Engineers, Inc. New York, NY, 1998. IEEE/EIA Standard 12207. 0 -1996, Industry Implementation of International Standard ISO/IEC 12207: 1995 — (ISO/IEC 12207) Standard for Information Technology —Software life cycle processes, Institute of Electrical and Electronics Engineers, Inc. New York, NY, 1998 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 54

References - 2 Introduction to CMMI – Continuous V 1. 1, Carnegie Mellon University References - 2 Introduction to CMMI – Continuous V 1. 1, Carnegie Mellon University , 2002 -2003 ISO/IEC 14764 -1999, Software Engineering — Software Maintenance, ISO/IEC JTC 1/SC 7, 1999. ISO/IEC 15288: 2002, Systems Engineering — System Life Cycle Processes, ISO/IEC JTC 1/SC 7, 2002. [Singh 97] Raghu Singh, An Introduction to International Standards ISO/IEC 12207, Software Life Cycle Processes, 1997. 16 th Annual Systems and Software Technology Conference – Track 6, IEEE Sponsored Track – 20 April 2004, 1355 -1440 Copyright 2004, Paul R. Croll, All rights reserved 55