Paul R Croll Chair IEEE Software Engineering Standards

  • Slides: 50
Download presentation
Paul R. Croll Chair, IEEE Software Engineering Standards Committee Vice Chair, ISO/IEC JTC 1/SC

Paul R. Croll Chair, IEEE Software Engineering Standards Committee Vice Chair, ISO/IEC JTC 1/SC 7 U. S. TAG Computer Sciences Corporation pcroll@csc. com Strategies for Applying the CMMI to Software Maintenance 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630

Agenda l l l The Five Types of Software Maintenance in the System Life

Agenda l l l The Five Types of Software Maintenance in the System Life Cycle Maintenance in the Software Life Cycle The CMMI and Maintenance-Related CMMI Process Areas Issues for Software Maintenance Organizations u u Estimation for Maintenance Maturity Level Determination 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 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 Adapt to a new/upgraded environment (e. g. , hardware, operating system, middleware) Preventive Maintenance u u Perfective Maintenance u Improve performance, dependability, maintainability u Add new functionality 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 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 3

Two Types of Maintenance Activities – Bug Fixing l l Corrective Maintenance u Identify

Two Types of Maintenance Activities – Bug Fixing l l Corrective Maintenance u Identify and remove defects u 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 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 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 Add new functionality Adaptive Maintenance u Adapt to a new/upgraded environment (e. g. , hardware, operating system, middleware) 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 5

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? 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 6

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 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 TRANSITION VALIDATION OPERATION MAINTENANCE DISPOSAL Maintenance 7

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. 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 8

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. 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 9

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 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 10

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 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 11

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 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 12

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 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 13

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? 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 14

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 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 CM RD CAR REQM PPQA TS RSKM PI RSKM PMC 15

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 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 ISM RD RSKM CM PMC 16

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 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 VAL RSKM VER VAL RSKM PPQA RSKM CM 17

Let’s take a closer look at several places where Maintenance-related activities occur in the

Let’s take a closer look at several places where Maintenance-related activities occur in the CMMI 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 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 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 VAL 19

Configuration Management l Changes to baselines and the release of work products built from

Configuration Management l Changes to baselines and the release of work products built from the configuration management system are systematically controlled and monitored via the configuration control, change management, and configuration auditing functions of configuration management. u u Refer to the Causal Analysis and Resolution process area for more information about both the method to use for analyzing the impact of change requests and the method to use when evaluating changes Refer to the Project Monitoring and Control process area for more information about performance analyses and corrective actions Source: CMMI -SE/SW/IPPD/SS, V 1. 1, Continuous Representation, © CMU SEI, 2002. 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 20

CM – Tracking and Controlling Changes Establish Integrity Establish Baselines Identify Configuration Items Establish

CM – Tracking and Controlling Changes Establish Integrity Establish Baselines Identify Configuration Items Establish a Config. Management System Create or Release Baselines Configuration Management System Change Request Database Change Requests Track and Control Changes Perform Configuration Audits Audit Results Action Items Establish Config. Mgmt. Records Track Change Requests Reports Control Configuration Items Source: Introduction to CMMI-Continuous V 1. 1 © 2002 -2003 by Carnegie Mellon University 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 21

CAR – Evaluating the Effect of Changes Determine Causes of Defects Analyze Causes Select

CAR – Evaluating the Effect of Changes Determine Causes of Defects Analyze Causes Select Defect Data for Analysis Address Causes of Defects Evaluate the Effect of Changes Implement the Action Proposals Improvement Proposals Record Data Performance Measures QPM Defects and Problems CAR Records Source: Introduction to CMMI-Continuous V 1. 1 © 2002 -2003 by Carnegie Mellon University 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 22

PMC – Managing Corrective Actions Manage Corrective Action to Closure Monitor Project Against Plan

PMC – Managing Corrective Actions Manage Corrective Action to Closure Monitor Project Against Plan Monitor Project Planning Parameters Monitor Commitments Conduct Milestone Reviews PP Monitor Project Risks Conduct Progress Reviews Monitor Data Management Monitor Stakeholder Involvement Project Plan Analyze Issues Take Corrective Action Manage Corrective Action Source: Introduction to CMMI-Continuous V 1. 1 © 2002 -2003 by Carnegie Mellon University 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 23

Requirements Development l SP 3. 1 -1 Establish Operational Concepts and Scenarios u Establish

Requirements Development l SP 3. 1 -1 Establish Operational Concepts and Scenarios u Establish and maintain operational concepts and associated scenarios. n Subpractices • 1. Develop operational concepts and scenarios that include functionality, performance, maintenance, support, and disposal as appropriate. Source: CMMI -SE/SW/IPPD/SS, V 1. 1, Continuous Representation, © CMU SEI, 2002. 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 24

RD – Establishing Operational Concepts and Scenarios Analyze and Validate Requirements Establish Operational Concepts

RD – Establishing Operational Concepts and Scenarios Analyze and Validate Requirements Establish Operational Concepts & Scenarios Establish a Definition of Required Functionality Analyze Requirements Validate Requirements Product, Product-Component, and Interface Requirements CL 3 Analyze Requirements to Achieve Balance CL 2 Validate Requirements with Comprehensive Methods Validated Requirements Source: Introduction to CMMI-Continuous V 1. 1 © 2002 -2003 by Carnegie Mellon University 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 25

Requirements Management l l Part of the management of requirements is to document requirements

Requirements Management l l Part of the management of requirements is to document requirements changes and rationale and maintain bi-directional traceability between source requirements and all product and product-component requirements. SP 1. 3 -1 Manage Requirements Changes u Manage changes to the requirements as they evolve during the project. Source: CMMI -SE/SW/IPPD/SS, V 1. 1, Continuous Representation, © CMU SEI, 2002. 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 26

REQM – Managing Requirements Changes Manage Requirements Obtain an Understanding of Requirements CL 2

REQM – Managing Requirements Changes Manage Requirements Obtain an Understanding of Requirements CL 2 Obtain Commitment to Requirements Manage Requirements Changes Identify Inconsistencies Between Project Work and Reqmts CL 2 Maintain Bidirectional Traceability of Requirements Traceability Matrix or Requirements Tracking System Source: Introduction to CMMI-Continuous V 1. 1 © 2002 -2003 by Carnegie Mellon University 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 27

Technical Solution l For a maintenance or sustainment organization, the requirements in need of

Technical Solution l For a maintenance or sustainment organization, the requirements in need of maintenance actions or redesign may be driven by user needs or latent defects in the product components. New requirements may arise from changes in the operating environment. Such requirements can be uncovered during verification of the product(s) where actual performance can be compared against the specified performance and unacceptable degradation can be identified. Processes associated with the Technical Solution process area should be used to perform the maintenance or sustainment design efforts. Source: CMMI -SE/SW/IPPD/SS, V 1. 1, Continuous Representation, © CMU SEI, 2002. 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 28

TS – Maintenance Design Efforts Requirements Development Select Product. Component Solutions Develop the Design

TS – Maintenance Design Efforts Requirements Development Select Product. Component Solutions Develop the Design Alternative Designs and Evaluation Criteria Implement the Product Design Detail & Documentation Developed Product Source: Introduction to CMMI-Continuous V 1. 1 © 2002 -2003 by Carnegie Mellon University 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 29

TS – Evolving Operational Concepts and Scenarios RD DAR Select Product-Component Solutions Develop Alternative

TS – Evolving Operational Concepts and Scenarios RD DAR Select Product-Component Solutions Develop Alternative Solutions and Selection Criteria Alternative Solutions Selection Criteria New Technology Evaluations CL 2 Develop Detailed Alternative Solutions and Selection Criteria CL 2 Evolve Operational Concepts & Scenarios Selection Decisions Compliant w/Requirements Select Product. Component Solutions Source: Introduction to CMMI-Continuous V 1. 1 © 2002 -2003 by Carnegie Mellon University 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 30

ISM – Sourcing When COTS is a Part of the Maintenance Solution Analyze and

ISM – Sourcing When COTS is a Part of the Maintenance Solution Analyze and Select Sources of Products Analyze Potential Sources of Products SAM Evaluate and Determine Sources of Products Coordinate Work with Suppliers Monitor Selected Supplier Processes Evaluate Selected Supplier Work Products Revise the Supplier Agreement or Relationship Supplier Work Products Source: Introduction to CMMI-Continuous V 1. 1 © 2002 -2003 by Carnegie Mellon University 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 31

SAM – Managing the COTS Supplier Relationship Establish Supplier Agreements Determine Acquisition Type Select

SAM – Managing the COTS Supplier Relationship Establish Supplier Agreements Determine Acquisition Type Select Suppliers Supplier Requirements Establish Supplier Agreements Supplier Agreement PI Satisfy Supplier Agreements Review COTS Products Product Transition Products Execute the Supplier Agreement Accept the Acquired Product Source: Introduction to CMMI-Continuous V 1. 1 © 2002 -2003 by Carnegie Mellon University 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 32

COTS Integration is Not Trivial l Effective COTS integration requires: u Good market research

COTS Integration is Not Trivial l Effective COTS integration requires: u Good market research In-depth vendor discussions Candidate product verification Diminishing manufacturing sources risk mitigation planning Efficient product selection* and procurement Middleware development and integration u *Use DAR u u u 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 33

Product Integration l SP 2. 2 -1 Manage Interfaces u Manage internal and external

Product Integration l SP 2. 2 -1 Manage Interfaces u Manage internal and external interface definitions, designs, and changes for products and product components. n Management of the interfaces includes maintenance of the consistency of the interfaces throughout the life of the product, and resolution of conflict, noncompliance, and change issues. Source: CMMI -SE/SW/IPPD/SS, V 1. 1, Continuous Representation, © CMU SEI, 2002. 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 34

PI – Ensuring Interface Compatibility DAR Ensure Interface Compatibility Prepare for Product Integration Assemblies

PI – Ensuring Interface Compatibility DAR Ensure Interface Compatibility Prepare for Product Integration Assemblies Technical Solution Sub-assemblies Assemble Product Components and Deliver the Product Source: Introduction to CMMI-Continuous V 1. 1 © 2002 -2003 by Carnegie Mellon University 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 35

PI – Managing Interfaces Ensure Interface Compatibility Review Interface Descriptions for Completeness Technical Solution

PI – Managing Interfaces Ensure Interface Compatibility Review Interface Descriptions for Completeness Technical Solution Manage Interfaces - Integration Sequence - Integration Procedures and Criteria - Integration Environment Source: Introduction to CMMI-Continuous V 1. 1 © 2002 -2003 by Carnegie Mellon University 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 36

Verification l SP 1. 1 -1 Select Work Products for Verification u Select the

Verification l SP 1. 1 -1 Select Work Products for Verification u Select the work products to be verified and the verification methods that will be used for each. n n Work products are selected based on their contribution to meeting project objectives and requirements, and to addressing project risks. The work products to be verified may include those associated with maintenance, training, and support services. The work product requirements for verification are included with the verification methods. The verification methods address the technical approach to work product verification and the specific approaches that will be used to verify that specific work products meet their requirements. Source: CMMI -SE/SW/IPPD/SS, V 1. 1, Continuous Representation, © CMU SEI, 2002. 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 37

VER – Reporting Corrective Actions Perform Peer Reviews Prepare for Verification Corrective Actions Verify

VER – Reporting Corrective Actions Perform Peer Reviews Prepare for Verification Corrective Actions Verify Selected Work Products Source: Introduction to CMMI-Continuous V 1. 1 © 2002 -2003 by Carnegie Mellon University 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 38

Validation l SP 1. 1 -1 Select Products for Validation u Select products and

Validation l SP 1. 1 -1 Select Products for Validation u Select products and product components to be validated and the validation methods that will be used for each. n Subpractices • 2. Determine which categories of user needs (operational, maintenance, training, or support) are to be validated. – The product or product component must be maintainable and supportable in its intended operational environment. This specific practice also addresses the actual maintenance, training, and support services that may be delivered along with the product. Source: CMMI -SE/SW/IPPD/SS, V 1. 1, Continuous Representation, © CMU SEI, 2002. 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 39

VAL – Reporting Conformance Deficiencies Requirements Development Validate Product or Product Components Prepare for

VAL – Reporting Conformance Deficiencies Requirements Development Validate Product or Product Components Prepare for Validation - Conformance - Deficiencies Source: Introduction to CMMI-Continuous V 1. 1 © 2002 -2003 by Carnegie Mellon University 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 40

PPQA Objectively Evaluate Processes Objectively Evaluate Work Products & Services Reports and Records Provide

PPQA Objectively Evaluate Processes Objectively Evaluate Work Products & Services Reports and Records Provide Objective Insight Communicate and Ensure Resolution of Noncompliance Issues Establish Records Relevant Stakeholders Source: Introduction to CMMI-Continuous V 1. 1 © 2002 -2003 by Carnegie Mellon University 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 41

RSKM Prepare for Risk Management Determine Risk Sources and Categories PP Define Risk Parameters

RSKM Prepare for Risk Management Determine Risk Sources and Categories PP Define Risk Parameters l Identify and Analyze Risks Establish a Risk Management Strategy Risk Repository Mitigate Risks Implement Risk Mitigation Plans Identify Risks Develop Risk Mitigation Plans Evaluate, Categorize, and Prioritize Risks Source: Introduction to CMMI-Continuous V 1. 1 © 2002 -2003 by Carnegie Mellon University 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 42

Some Final Issues for Software Maintenance Organizations 3 rd Annual CMMI Technology Conference and

Some Final Issues for Software Maintenance Organizations 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 43

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. 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 44

PP – Establish Estimates of Work Product and Task Attributes Estimate the Scope of

PP – Establish Estimates of Work Product and Task Attributes Estimate the Scope of the Project Planning Data Determine Estimates of Effort and Cost Define Project Life Cycle Source: Introduction to CMMI-Continuous V 1. 1 © 2002 -2003 by Carnegie Mellon University 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 45

An Estimation Conundrum l l Traditional parametric estimation models don’t do a very good

An Estimation Conundrum l l Traditional parametric estimation models don’t do a very good job of estimating for software maintenance A staged, earned-value approach to estimation, based on historical data works better Validate the Problem Analyze the Problem Develop and Test the Modification 15% 30% Integrate the Modification 10% Verify and Validate the Modification 15% Time Note: All values are notional 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 46

So You Want to be a CMMI Level X l For Maintenance Organizations focusing

So You Want to be a CMMI Level X l For Maintenance Organizations focusing on corrective, preventive, or emergency maintenance u Sufficient objective evidence to meet SCAMPI requirements for a maturity rating may be difficult to obtain n n Requirements Development may be missing Requirements Management may be weak 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 47

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/ 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 48

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/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. Introduction to CMMI – Continuous V 1. 1, Carnegie Mellon University , 2002 -2003 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 49

References - 2 ISO/IEC 14764 -1999, Software Engineering — Software Maintenance, ISO/IEC JTC 1/SC

References - 2 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. 3 rd Annual CMMI Technology Conference and Users Group – Track 1 – 18 November 2003, 1600 -1630 50