Configuration Management

Similar documents
SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK

Configuration Management Practices

CHAPTER 7 Software Configuration Management

The Configuration Management process area involves the following:

Configuration Management

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

<name of project> Software Project Management Plan

5 FAH-5 H-520 LIFE CYCLE MANAGEMENT

CMS Policy for Configuration Management

Page 1 of 7 Effective Date: 12/18/03 Software Supplier Process Requirements

Certified Professional in Configuration Management Glossary of Terms

Software Configuration Management

Configuration & Build Management

CONFIGURATION MANAGEMENT PLAN

IT Project: System Implementation Project Template Description

5 FAH-5 H-510 CONFIGURATION MANAGEMENT

Software Configuration Management Plan

Software and Hardware Configuration Management

Page 1. Outline of the Lecture. What is Software Configuration Management? Why Software Configuration Management?

Software Configuration Management. Addendum zu Kapitel 13

Software Configuration Management Draft Version 0.6

Surgi Manufacturing Quality Manual

Configuration Management

Fundamentals of Measurements

Why do Project Fail? 42% 37% 27% 26% 24% 24% 0% 10% 20% 30% 40% 50% IBM Software Group Rational software. Source: AberdeenGroup, August 2006

Dependable (Safe/Reliable) Systems. ARO Reliability Workshop Software Intensive Systems

How To Write A Contract For Software Quality Assurance

Configuration Management ISO 10007

Configuration Management in Software Development Life Cycle

U. S. Department of Energy. Document Online Coordination System (DOCS) Systems Configuration Management Plan (SCMP)

Appendix E Program Management Plan Template

Software Quality Subcontractor Survey Questionnaire INSTRUCTIONS FOR PURCHASE ORDER ATTACHMENT Q-201

DATA REQUIREMENTS DESCRIPTION (DRD)

The purpose of Capacity and Availability Management (CAM) is to plan and monitor the effective provision of resources to support service requirements.

Transmittal Sheet #: Date: July 12, 2005

Configuration Management Self Assessment Checklist

ELECTRONIC RECORDS ARCHIVES. TESTING MANAGEMENT PLAN (TSP v4.0)

Technical Baseline Management

Reaching CMM Levels 2 and 3 with the Rational Unified Process

QUALITY MANUAL REVISION RECORD

Configuration Management One Bite At A Time

1.1 Identification This is the Subcontractor Management Plan, document number XYZ035, for the SYSTEM Z project.

EPA Classification No.: CIO P-01.1 CIO Approval Date: 06/10/2013 CIO Transmittal No.: Review Date: 06/10/2016

Department of Administration Portfolio Management System 1.3 June 30, 2010

CHAPTER 7 SOFTWARE CONFIGURATION MANAGEMENT

Exhibit F. VA CAI - Staff Aug Job Titles and Descriptions Effective 2015

ISO :2005 Requirements Summary

Rail Network Configuration Management

MNLARS Project Audit Checklist

Space Project Management

Intland s Medical Template

Project Management Guidelines

Software and Systems Engineering. Software and Systems Engineering Process Improvement at Oerlikon Aerospace

From Chaos to Clarity: Embedding Security into the SDLC

Software Quality Assurance Plan

TITLE: Control of Software

UNCONTROLLED COPY FOR REFERENCE ONLY

Camber Quality Assurance (QA) Approach

PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME >

Software systems have become larger and

PM Planning Configuration Management

MKS Integrity & CMMI. July, 2007

Generic CMMS Quality Assurance Plan

Lecture 17: Requirements Specifications

1. Software Engineering Overview

STSG Methodologies and Support Structure

TL 9000 Requirements Handbook, Release 5.5. Changes from Release 5.0

CDC UNIFIED PROCESS JOB AID

ALS Configuration Management Plan. Nuclear Safety Related

GENCO Systems Inc Germantown Road, Suite 300, Fairfax, VA 22030, Phone

CONFIGURATION MANAGEMENT PLAN GUIDELINES

Chapter 13 Configuration Management

Abstract. 1 Introduction

How To Understand And Understand The Cmm

Syllabus. REQB Certified Professional for Requirements Engineering. Foundation Level

ITIL Introducing service transition

Certified Software Quality Engineer (CSQE) Body of Knowledge

PROJECT PLAN TEMPLATE

Effective Methods for Software and Systems Integration

Software Quality Management

How To Integrate Software And Systems

Ten steps to better requirements management.

System Development Life Cycle Guide

NODIS Library Program Formulation(7000s) Search

Lecture 20: Software Evolution

Using TechExcel s DevSuite to Achieve FDA Software Validation Compliance For Medical Software Device Development

Requirements Management Best Practices

The use of computer systems

Optimization of Software Quality using Management and Technical Review Techniques

Managing Process Architecture and Requirements in a CMMI based SPI project 1

ISO 9001 and ISO Quality Management Guidance for CM Relative to CMII (Rev B)

Program Lifecycle Methodology Version 1.7

Software Quality Assurance: VI Standards

Project QA and Collaboration Plan for <project name>

Managing Agile Projects in TestTrack GUIDE

F15. Towards a More Mature Test Process. Anne Mette-Hass. P r e s e n t a t i o n

<Project Name> Software Quality Assurance (SQA) Plan. <Document Control Number>

Project Management Plan for

An Introduction to the ECSS Software Standards

Transcription:

Configuration Management Configuration Management (CM) is the process of controlling and documenting change to a system. CM is a foundation of a project. Without it, no matter how talented the staff, how large the budget, how technically superior the development tools, project discipline will collapse, and success will be left to chance. Source: SPMN, Little Book of Configuration Management. www.spmn.com CM as a Speed Bump 6/21/2008 2 1

Content 1. Objective of configuration management (CM) 2. Why bother with Software Configuration Management? 3. Functions of CM 4. Configuration Control Board 5. Role of QA 6. Bad excuses related to CM Adapted from: - Kasse, T., McQuaid, P., Software Configuration Management for Project Leaders, Software Quality Professional, September 2000. - Bersoff, E., Software Configuration Management: A Tutorial., IEEE Computer Jan 1989, pp 6 14. - Wiegers K., Software Requirements, Microsoft Press, 2003. - Software Program Managers Network (SPMN). www.spmn.com. - Babich, W.,Software Configuration Management. Reading, Mass, 1986, Addison-Wesley. - A.E. Fazio N.S. Shashidhara, Configuration Management for Rail-Transit Operations, 6/21/2008 21st Century Rail Corporation Jersey City, NJ. 3 Sources of Changes Requirements. Note: The longer the delivery cycle, the more likely requirements will change (e.g. 1% per month). Changes in funding. Technology advancements. Solutions to problems. Scheduling constraints. Customer expectations. Unexpected opportunities for an improved system. Configuration Management Fundamentals, Crosstalk, Juillet 2005. 6/21/2008 4 2

Why Bother With Software CM? 1. Software is easy to change Uncontrolled change is a common source of project chaos, schedule slippages and quality problems. 2. Software is invisible 3. Types of components to keep trace Non executable components Documentation Executable components Code Tools used to develop and test software products 4. Software is often changed during the life cycle IKIWISE (I ll Know It When I See It) Customer is not sure what they want Scope creep (i.e. additional requirements) Rework (i.e. because of errors) 6/21/2008 5 Why Bother With SCM? Examples of poor practices: 1. The latest version of source code cannot be found. 2. A difficult defect that was fixed at great expense suddenly reappears. 3. A developed and tested feature is mysteriously missing. 4. A fully tested program suddenly does not work. 5. The wrong version of the code was tested. 6. There is no traceability between the software requirements, documentation, and code. 7. Programmers are working on the wrong version of the code. 8. The wrong versions of the configuration items are being baselined, delivered or installed in a product 9. No one knows which modules comprise the software system delivered to the customer. Babich, W., Software Configuration Management. Reading, Mass, 1986, Addison-Wesley. 6/21/2008 6 3

Instructions 10,000 1,000 Trends in Software Growth Apollo 7 Gemini 3 Apollo 17 Mission Control Ground Station Skylab 2 Shuttle B-1B Galileo B-2 F-16 c/d Manned Systems Boeing 777/787 C 17 Unmanned Systems 100 Apollo 7 Viking 10 1 Gemini Titan Instructions = Equivalent memory locations in 1000 1960 65 70 75 80 85 90 95 2000 Date of Flight 6/21/2008 7 Benefits of CM to a Project 1. Reduces confusion and establishes order. 2. Organizes the activities necessary to maintain product integrity. 3. Ensures correct product configurations. 4. Limits legal liability by providing a record of actions. 5. Reduces life-cycle costs. 6. Enables consistent conformance with requirements. 7. Provides a stable working environment. 8. Enhances compliance with standards. 9. Enhances status accounting. Configuration Management Fundamentals, Crosstalk, Juillet 2005. 6/21/2008 8 4

Distribution of Rework During Development Rework 44% Production 56% 8% 12% 19% 4% 1% 12% 6% 16% 12% 10% Requirements Prelim. Detailed Code & Unit Integr. & Design Design Test System Test Data from IEEE 6/21/2008 9 Terminology: Configuration Item (CI) CI is the most elementary entity that will be identified and managed during the lifecycle. Élément de configuration A set of CIs Baseline (référentiel) An approved snapshot of the system at appropriate points in the development lifecycle Serves as the basis for further development» e.g. Entry criteria for next phase Can be changed only through an agreed upon change procedure SCI Software Configuration Item 6/21/2008 10 5

Terminology: Baselines For Software Engineering (CMMI) Baseline. A set of requirements, design, source code files and the associated executable code, build files, and user documentation that have been assigned a unique identifier. Releaseof a baseline constitutes retrieval of source code files (configuration items) from the configuration management system and generating the executable files. A baseline that is delivered to a customer is typically called a release A baseline for an internal use is typically called a build. 6/21/2008 11 System Life Cycle Baselines Hardware System Design Software Reviews SRR SDR Software Reqts Analysis Functional Baseline SSR Prelim Design Allocated Baseline PDR Detail Design CDR Design Baseline Coding, CSU testing CSC Integration Testing TRR CSCI Testing Product Baseline 6/21/2008 Adapted from DoD Standard 2167A 12 6

Mapping of system and developmental baselines 6/21/2008 Kasse, T., McQuaid, P., Software Configuration Management for Project Leaders 13 Feasibility Study Requirements Definition V-Model Software Development Lifecycle Operation Product phaseout Statement of Requirements Operational Software Project Initiation Plans Updated requirements Review Requirements specification Requirements specification Review Architectural Design Walkthrough Design specification Detailed Design Module Module designs designs Test data Test cases Test data Test data Test data Test data Integration Plan Build files Test data Test cases Coding Test cases Test cases Unit Test Test cases Test cases Integration Tested Tested modules modules Integrated Software Integration test Acceptance test Tested Software Accepted Software Operational test Legend SDLC Phase Project completion Baselined Phase Products Code Code 6/21/2008 Code Reading 14 Kasse, T., McQuaid, P., Software Configuration Management for Project Leaders 7

Carnegie Mellon University Software Engineering Institute Purpose of Configuration Management To establish and maintain the integrity of work products using: 1. configuration identification, 2. configuration control, 3. configuration status accounting, 4. configuration audits. 6/21/2008 15 Four Key Functions of CM 6/21/2008 16 Source: Configuration Management Fundamentals, Crosstalk, July 2005. 8

Functions of CM 1. Configuration Identification Role: To define baseline components Question: What is my system configuration? Your system configuration consists of the following items: Item1, Item2, Item3, Major Activities Critères pour sélectionner les CI? Exercice 1, 2 6/21/2008 17 Items Under CM Control 6/21/2008 Source: Configuration Management Fundamentals, Crosstalk, July 2005. 18 9

Functions of CM 2. Configuration Control Role: To provide a mechanism (i.e. documentation, organizational body, procedures) for preparing, evaluating, approving or disapproving all changes throughout the lifecycle (CCB) Example of a document: Engineering Change Proposal (ECP) Question: How do I control changes to my configuration? The steps in processing changes are: Step1, Step2, * 6/21/2008 19 Configuration Control Basic Ingredients 1. Process and Procedures for controlling changes 2. An organizational body For formally evaluating and approving or disapproving a proposed change E.g. Configuration Control Board (CCB) 3. Documentation for formally initiating and defining a proposed change Deficiencies, hardware change, new requirement, economic savings, schedule accommodation e.g. Engineering Change Proposal (ECP) 6/21/2008 20 10

Incidents An incident is every (significant) unplanned event observed, and requiring further investigation. A wrong formulation in a document, A coding mistake found during a walkthrough, An enhancement request arising from a new idea from the customer, A change required in the code because of the upgrade to a new version of the middleware supporting the system. Allincidents must be registered 6/21/2008 21 Change Control Phases 6/21/2008 22 Jonassen Hass, A., Finding CM in CMMI, Crosstalk, Juillet 2005. 11

Elements of Change Control Process 1. Who can initiate the change requests 2. The individuals, group, or groups who are responsible for evaluating, accepting, and tracking the change proposals for the various baselined products 3. What the criteria are for placing the software components under formal change control 4. The change impact analysis expected for each requested change 5. How revision history should be kept 6. The check-in/check-out procedures 7. The process the software configuration control board (SCCB) follows to approve changes 8. How change requests will be linked to the trouble-reporting system 9. How change requests are tracked and resolved 10. The reviews and/or regression tests that must be performed to ensure that changes have not caused unintended effects on the baseline 11. The procedure that will be followed to update all affected software. 6/21/2008 23 Flow of a Change Request Business Requirement Modifies drives specification of Change Request Modifies System Requirement, Use Case, External Interface Requirement, Quality attributes Business Rules Modifies Architecture, User Interface, Functional Design Modifies is satisfied by Software Functional Requirement is verified by System Test is origin of is origin of depends on another Leads to creation of Project Plan Task is verified by is implemented in Integration Code test is verified by Unit 6/21/2008 test Wiegers K., Software Requirements, Microsoft Press, 2003. 24 12

Impact Analysis Report Template. Change Request ID: Title: Description: Analyst: Date Prepared: Prioritization Estimates: Relative Benefit: (1-9) Relative Penalty: (1-9) Relative Cost: (1-9) Relative Risk: (1-9) Calculated Priority: Estimated total effort: labor hours Estimated lost effort: labor hours Estimated schedule impact: days Additional cost impact: dollars Quality impact: Other requirements affected: Other tasks affected: Plans to be updated: Integration issues: Life cycle cost issues: 6/21/2008 Wiegers K., Software Requirements, Microsoft Press, 2003. 25 Configuration Control Board (CCB) A body that provides the means to implement change control at optimum levels of authority. Customer s CCB Prime contractor s/integrator s CCB Developer s CCB Subcontractors CCB A body of people (an individual or a group) that is empowered to Make binding decisions about which proposed changes and suggested features to incorporate into the product. 6/21/2008 26 13

CCB - Membership 1. Project management 2. Development 3. Testing 4. Quality Assurance 5. Customer representatives 6. User documentation developers 7. Technical support 8. Configuration management 6/21/2008 27 CCB - Decision Making Process Identify: 1. The number of CCB members or the key roles that constitutes a quorum for making decisions. 2. Whether voting, consensus, unanimity, or some other mechanism is used to make decisions 3. Whether the CCB Chair is permitted to overrule the CCB s collective decision 4. Whether a higher level CCB or someone else must ratify the decision 6/21/2008 28 14

CCB - Decision Making Criteria 1. Financial savings or revenue 2. Customer satisfaction, 3. Competitive advantage, 4. Time to market. 5. Product cost 6. Delivery schedule, 7. Product quality 8. Product functionality, 9. Support costs, 10. User dissatisfaction. 11. Other criteria... 6/21/2008 29 Change Request Flow with CCB Draw a flowchart showing: 1. Each stage of a Change Request (CR) 2. The status of the CR at each stage E.g. submitted, approved Note: The CCB is performing its functions Exercise 6/21/2008 30 15

Change Request Flow with CCB Originator submits a change request Submitted CCB Evaluator performs impact analysis Evaluated don t make Rejected the change CCB decided to make the change Approved Archived change has been made; formal verification (e.g. regression test) failed verification requested Change Made no formal change has been verified verification is requested; changed product is Verified installed modified product is installed Formal verification: e.g. inspection Wiegers K., Software Requirements, Closed 6/21/2008 Archived Microsoft Press, 2003 31 Change Request Flow Swimlane Notation PROJECT MANAGEMENT PM START PREPARE / SEND VARIATION ORDER NO CUSTOMER END / ACCEPTS COMMUNICATE YES IMPLEMENT PROJECT CHANGE CLOSE CHANGE ORDER END ENGINEERING ANY FUNCTION REQUEST / PROPOSE A CHANGE END / COMMUNICATE Engineering NO CERTIFICATION YES BODY APPROVES (IF RELEVANT) YES NO DESIGN CHANGE EXECUTE CHANGE ORDER PREPARE ADV. CHANGE INSTRUCTIONS CHANGE ORDER CLOSED ISSUE CHANGE NOTIFICATION COMPLETE / CLOSE CHANGE ORDER NO CHANGE YES ORDER CLOSED ADVISE CERTIFICATION BODY (IF RELEVANT) CCB ANALYZE A CHANGE YES ACCEPT A NO END / CHANGE COMMUNICATE CUSTOMER Acme Inc. OPEN / CHARGE PREPARE COST TO CHANGE ORDER NO DESIGN CHANGE YES Procurement ECR ACCEPTANCE MAY BE DELEGATED SUPPLIER NEGOTIATE CHANGE WITH SUPPLIER YES SUPPLIER AGREES NO END / COMMUNICATE IMPLEMENT CHANGE END MANUFACTURING Manufacturing IMPLEMENT CHANGE END PRODUCT INTRODUCTION IMPLEMENT CHANGE END 6/21/2008 FAST TRACK UNDER EXCEPTIONAL CONDITIONS, THE PARALLEL FAST TRACK APPROACH MAY BE AUTHORIZED 32 16

Change Request Flow for Safety Critical Software Categorization of Changes The basis for assigning a change category is its potential impact on the Global Risk Profile of Rail-Transit operations. Changes are categorized as follows: Category A: A change which will definitely impact a safety critical system, sub-system, or operating practice (e.g. operator training) and requires subsequent review by the Safety Review Committee if approved by the CCB. Category B: A change which may impact a safety critical system, sub-system or operating practice, either directly or through an interface and therefore requires evaluation and formal recategorization by CCB as a Category A or Category C change. Category C: Changes which have no impact on the system safety profile of operations and which can therefore be recommended for implementation by the CCB. Source: A.E. Fazio N.S. Shashidhara, Configuration Management for Rail-Transit 6/21/2008 Operations, 21st Century Rail Corporation Jersey City, NJ. 33 Change Request Flow for Safety Critical Software Types of Changes The deployment and operation of the Rail-Transit system in some cases require that contractual considerations be included in CM process. Changes are classified by type as follows: Type I. Has no contractual implications Type II. Has contractual implications which are technical in nature only; has no commercial implications. Type III. Has contractual implications which are commercial in nature only; has no technical implications. Type IV. Has both technical and commercial implications with respect to the contract. Source: A.E. Fazio N.S. Shashidhara, Configuration Management for Rail-Transit 6/21/2008 Operations, 21st Century Rail Corporation Jersey City, NJ. 34 17

Change Request Flow for Safety Critical Software Safety review Committee Type 1 Source: A.E. Fazio N.S. Shashidhara, Configuration Management for Rail-Transit Operations, 21st Century Rail Corporation Jersey City, NJ. 6/21/2008 35 Functions of CM 3. Configuration Status Accounting Question: What changes have I made to the system? Your configuration and related changes at this time are: (Item1, Item2) + (Change1, Change2) + (Pending Change1, ) What changes remain to be implemented? 6/21/2008 36 18

Functions of CM 3. Configuration Status Accounting Role 1. Provide a mechanism for maintaining a record of the evolution of a system (e.g. history) at any time: 1. Is this specification approved? 2. Is this subsystem tested? 3. Has a change request been approved or rejected by the SCCB? 4. Which version of an item implements an approved change request? 5. What is different about a new version of a system? 6. How many faults are detected each month and how many are fixed? 7. What is the cause of the trouble report? 2. Report on the traceability of all changes to the baseline throughout the software lifecycle Exercice 6/21/2008 37 Functions of CM 4. Configuration Auditing Question: Does the system I am building satisfy the stated needs? Your system, as currently built, differs from the stated needs as follow: Difference1, Difference2, 6/21/2008 38 19

Functions of CM 4. Configuration Auditing Roles 1. Provide a mechanism for determining the degree to which the current state of the system mirrors the system pictured in baseline and requirements documentation Verifythat the software product is built according to the requirements, standards, or contractual agreement Verifythat all software products have been produced, correctly identified and described, and that all change requests have been resolved 2. Provide the mechanism for establishing a baseline 3. Ensure SCM process and procedures are performed Exercice 6/21/2008 39 Functional Configuration Audits (FCA) Objective To provide an independent evaluation of the software products, verifying that each CI s actual functionality and performance is consistent with the software requirements specification. An FCA includes: 1. An audit of the formal test documentation against test data 2. An audit of the verification and validation reports to ensure their accuracy 3. A review of all approved changes (problem reporting and corrective actions) to ensure they have been correctly technically incorporated and verified 4. A review of the updates to previously delivered documents to ensure their accuracy and consistency 5. A sampling of the design review outputs to ensure that all findings were completed and incorporated 6. A comparison of the code with the documented software requirements to ensure that the code addresses all and only the documented requirements 7. A review to ensure that all testing was accomplished with appropriate test documentation and approved test data to ensure that all configuration items 6/21/2008 meet the established performance criteria 40 20

Physical Configuration Audit (PCA) Objective To provide an independent evaluation of the system CIs to confirm that each item that makes up the as built system maps to its specifications. To verify that the software and its documentation are internally consistent and ready for delivery to the customer or end user. A PCA includes: 1. An audit of the system specification for completeness 2. An audit of the FCA report for discrepancies and actions taken 3. A comparison of the architectural design with the detailed design components for consistency 4. A review of the module listing for compliance with approved coding standards 5. An audit of the manuals for format completeness and conformance to systems and functional descriptions. Such manuals include user s manuals, programmer s manuals, and operator s manuals 6/21/2008 41 Traceability Audits To verify throughout the software development process: 1. Can the software requirements be traced back to the system requirements allocated to software? 2. Can the architectural design be traced back to the software requirements? 3. Can the detailed design(s) be traced back to the architectural requirements? 4. Can the code modules be traced back to detailed design modules? 5. Can the module tests, integration tests, and system tests be traced back to the software requirements? 6/21/2008 42 21

FCA and PCA Source: Kasse, T., McQuaid, P., Software Configuration Management for Project Leaders, Software Quality Professional, September 2000. 6/21/2008 43 Software Library System 1. Supports multiple control levels of SCM Managers, developers, SCM, QA, Systems engineering, etc. 2. Provides for the storage and retrieval of configuration items 3. Provides for the sharing and transfer of configuration items among affected groups and among control levels within the library 4. Provides for the storage and recovery of archive versions of configuration items 5. Provides service functions checking status, verifying the presence of all built items, and integrating changes into a new baseline 6. Ensures the correct creation of products from the software baseline library 7. Provides for the storage, update, and retrieval of SCM records 8. Supports the production of SCM reports 9. Supports the tracing of requirements, forward and backward, throughout the life cycle 10. Provides safe and secure storage for configuration items (key project components) so they cannot be changed without authorization. 6/21/2008 44 22

Processes needed for CM by CMMI 6/21/2008 Jonassen Hass, A., Finding CM in CMMI, Crosstalk, Juillet 2005. 45 Subcontractor Control Ensures that the subcontractor is able to maintain the integrity of the subsystem it has contracted for, including: 1. Placing necessary life-cycle products under configuration control to ensure consistency with the main development effort 2. Maintaining a subcontractor software library that will release the agreed upon configuration items or subsystems to the contracting organization 6/21/2008 46 23

Sample Chart of Requirements Change Activity Number of Requirements Changes 16 14 12 10 8 6 4 2 0 0 5 10 15 20 Weeks After SRS was Baselined 6/21/2008 Wiegers K., Software Requirements, Microsoft Press, 2003 47 Sample chart of requirements change Origins Number of Requirements Changes 30 25 20 15 10 5 0 30 25 20 15 10 Change Origin Marketing Management Customer Software Eng. Hardware Eng. Testing 6/21/2008 Wiegers K., Software Requirements, Microsoft Press, 2003 48 24

Evolution of Requirements Status 120 100 80 60 40 20 rejected tested implemented approved proposed 0 janv-02 févr-02 mars-02 avr-02 mai-02 juin-02 Coverage ratio of higher level requirements Coverage ratio of requirements by associated requirement tests 6/21/2008 49 Change Control Policy -1 Elements of a change control policy: 1. All requirement changes must follow the process. If a change request is not documented according to this procedure, it will not be acted upon. 2. The change control board (CCB) designated for each project will decide which changes to implement. Simply requesting a change does not guarantee that it will be made. 3. The contents of the change database shall be visible to all project stakeholders. 6/21/2008 50 25

Change Control Policy -2 Elements of a change control policy: 4. The original text of a change request shall not be modified or deleted from the database. 5. Every incorporated requirement change shall be traceable back to an approved change request. 6. No design or implementation work will be performed on unapproved requirement changes other than feasibility exploration to assist with making the approval decision. 6/21/2008 51 Typical SCM Plan 1. The scope of the plan, including the project, the software to be developed, and the life-cycle phases 2. The relationship between the SCM plan and the other standards or plans that describe how the project will be managed e.g. software development, SQA plan 3. SCM roles and responsibilities 4. Configuration identification 5. Baselining 6. Configuration control 7. Configuration management status accounting 8. Interface control 9. Subcontractor control 10. Software configuration audits 11. Software library IEEE Standard 828 2005 6/21/2008 Configuration Management Plans 52 26

Real-World Considerations 1. Management Commitment Essential to achieving benefits of CM 2. CM Staffing Enough experienced people 3. Tooling See ISO CM Tool Requirements Std 4. Establishment of a CCB A starting point in instituting change control 5. Avoiding the Paperwork Nightmare Stakeholders should agree on the amount of paperwork needed to achieve mutual level of visibility and traceability 6/21/2008 53 Role of QA 1. Audit the software development activities and product i.e., Functional Configuration Audits (FCA) and Physical Configuration Audits (PCA) 2. Certify CM compliance with Project plan, CM Plan, standard, processes and procedures. 3. Participate in the CCB and Interface Control Working Group 6/21/2008 54 27

List of Some Bad Excuses Related to CM 1. CM only applies to documents 2. CM only applies to code 3. CM applies only to military and aerospace projects 4. Our tool does all the CM for us 5. If we have CCB, we won t be able to do any work around here 6. I don t do CM, it applies only to big projects 7. You can t stop technical people from making a quick change when they find a problem 8. CM applies only to our subcontractors 9. CM will raise our costs Source: SPMN, Little Book of Bad Excuses. 6/21/2008 55 Basic Configuration Management Simple steps will add control and project tracking information: 1. Uniquely identify system components 2. Formalize the use of reviews before a configuration item is baselined 3. Establish simple change control 4. Build up a repository configuration items change requests problem reports 5. Restrict/Control access to the project library 6/21/2008 56 28

Project Management Institute Practice Standard for Project Configuration Management www.pmi.org 6/21/2008 57 Summary 1. Objective of configuration management (CM) 2. Why bother with Configuration Management? 3. Functions of CM 4. Configuration Control Board 5. Bad excuses related to CM 6/21/2008 58 29

Questions 6/21/2008 59 30