Configuration Management in a Nutshell

Similar documents
Page # Configuration Management Bernd Brügge Technische Universität München Lehrstuhl für Angewandte Softwaretechnik 11 January 2005

Configuration Management

Software configuration management

Configuration Management

Configuration Management

Configuration Management

Cintipation Corp. CORINTHIAN PROJECT Policy for Requirements Management

Configuration Management Plans From Traditional CM to CMII (Rev B)

Configuration Management Plans From Traditional CM to CMII (Rev B)

Deliverable: 1.4 Software Version Control and System Configuration Management Plan

Software Quality Engineering Courses Offered by The Westfall Team

Blatant Commercialism

Software Quality Engineering Courses Offered by The Westfall Team

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Configuration Management Guidelines. Version: A Date: July 2012

"Change is inevitable; except in vending machines."

Child Welfare Digital Services Project Service Asset and Configuration Management Plan

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

Agenda. About Me. Goals. Collaborate, Build, Test, Deploy: Essential SCM Practices for Teams. Background. SCM Patterns Questions

Software Configuration Management

Program Lifecycle Methodology Version 1.7

CODE: FD10 Rev: A Date: 9/24/2008 CONFIGURATION MANAGEMENT

LICENSING TOPICAL REPORT ESBWR I&C SOFTWARE CONFIGURATION MANAGEMENT PLAN (DRAFT) GE Energy Nuclear

Ronald E. Giachetti, Ph.D.

CMMI-DEV V1.3 CMMI for Development Version 1.3 Quick Reference Guide

version NDIA CMMI Conf 3.5 SE Tutorial RE - 1

Business Analysis for Practitioners - Traceability and Monitoring (Domain 4)

Bidirectional Requirements Traceability By Linda Westfall.

Contents About This Guide... 5 Upgrade Overview... 5 Examining Your Upgrade Criteria... 7 Upgrade Best Practices... 8

Outline CS 4387/5387 SOFTWARE INTEGRATION AND V&V LECTURE 11 SOFTWARE TRACING. Requirements Tracing Team assignment (Tracing) Team work (integration)

The Business Case for ALM Transformation ALM

BHG Operational Awareness Program May 8, 1998 Configuration Management Revision 0 Page 1 of 11 CONFIGURATION MANAGEMENT

The Development Productivity Platform

Exam Questions OG0-091

R214 SPECIFIC REQUIREMENTS: INFORMATION TECHNOLOGY TESTING LABORATORY ACCREDITATION PROGRAM

Michael Solomon, CISSP PMP CISM

Curs 2 17 Octombrie Adrian Iftene

Using codebeamer to Achieve

ClearCase-to-Perforce MIGRATION PLAYBOOK

Flexibility Stability

Software Engineering

WORK PLAN AND IV&V METHODOLOGY Information Technology - Independent Verification and Validation RFP No IVV-B

Software Testing Life Cycle

Rational Software White Paper TP 174

Instrument Control System Project Management

Course 2 October, 10, Adrian Iftene

REQUIREMENTS FOR SAFETY RELATED SOFTWARE IN DEFENCE EQUIPMENT PART 1: REQUIREMENTS

Because you re reading this book, we can safely assume that the products

CMMI V2.0 MODEL AT-A-GLANCE. Including the following views: Development Services Supplier Management. CMMI V2.0 outline BOOKLET FOR print.

Engineering Management Manual

A Framework for Performing Verification and Validation in Reuse-Based Software Engineering

Agile for High Assurance: Lessons learned

Passit4Sure.OG Questions. TOGAF 9 Combined Part 1 and Part 2

CMMI-SVC V1.3 CMMI for Services Version 1.3 Quick Reference Guide

Project Documentation Checklist. Table of Contents

Bed Management Solution (BMS)

Space Flight Configuration Management Requirements

Financial Statement Spreading

Change Control and Configuration Management Plan

Association of American Railroads Quality Assurance System Evaluation (QASE) Checklist Rev. 1/12/2017

Understanding the relationship between Asset Management and the CMDB

Final Appendix A9 - Maintaining the Architecture (Maintenance Plan)

GAMP Guideline & Validation Documentation

CMMI Version 1.2. Model Changes

Glossary 1. For a complete glossary of support center terminology, please visit HDI s Web site at HDI Course Glossary

Project Management Methodology. Construct & Unit Test SubPhase

Process Improvement Is Continuous Improvement

Information system Redmine for effective project management

The Journey Towards Continuous Delivery

Configuration Management Report MOMO SOFTWARE

BMC Remedyforce Asset Management. Frequently Asked Questions

NICE SERVICES. Proactive Care. Value Added Service Packages

White paper. Alan Radding, Technology Consultant

Closing the Agile Loop Continuous Integration, Continuous Information. Darryl Bowler Senior Systems Architect CollabNet

PART THREE: Work Plan and IV&V Methodology (RFP 5.3.3)

Requirements Validation and Negotiation

CMMI GLOSSARY A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Integration and Testing

Quality Assurance Plan D9.1.1

AUTOMOTIVE SPICE v3.1 POCKET GUIDE

CHANGE MANAGEMENT PLAN OKLAHOMA DEPARTMENT OF HUMAN SERVICES ENTERPRISE SYSTEM (MOSAIC PROJECT)

Licensee Design Authority Capability

SmARt Shopping Project

CMII-100G. CMII Standard for Integrated Process Excellence and. and

Evolutionary Differences Between CMM for Software and the CMMI

IBM Rational Extensions for SAP Applications Application lifecycle management for consistent governance

This chapter illustrates the evolutionary differences between

IEEE s Recommended Practice for Architectural Description

Project Management Institute (PMI) Practice Standard for Configuration Management

Test Workflow. Michael Fourman Cs2 Software Engineering

Black Duck Seamless ALM Integration

CMMI 2008 CMMI 2008 Denver, Colorado United States November Tim Kasse. Kasse Initiatives LLC Europe

INFORMATION SYSTEMS (IS) SYSTEMS DEVELOPMENT SERVICES TITLE SERIES DEFINITIONS

Why Switch to Helix Core?

Trusted Computing Exemplar: Configuration Management Plan

Real Reuse for Requirements

Introduction to Software Engineering

SOFTWARE MAINTENANCE PROCESS MODEL AFTER DELIVERY WITH QUALIFIED OUTPUT

What is SQA? Software Quality Assurance. Quality Concepts. Quality Concept (cont.)

Introduction to Disciplined Agile Delivery

Transcription:

Configuration Management in a Nutshell

Configuration Management Configuration Management (CM) is the process of managing the full spectrum of an organization s products, facilities and processes by managing all requirements, including changes, and assuring that the results conform to those requirements. The best CM process is one that can: 1) accommodate change. 2) optimize the reuse of standards and best practices. 3) assure that all requirements remain clear, concise and valid. 4) communicate 1), 2), and 3) to each user promptly and precisely. 5) assure conformance in each case. Institute of Configuration Management Cook/Leishman CM in a Nutshell 2

Without software the F-16C is nothing more than a 15 million dollar lawn dart. Lt. Gen. Robert H. Ludwig Cook/Leishman CM in a Nutshell 3

The pity is that almost 75% of integration problems can be attributed to poor CM. And this is TOTALLY preventable!!! Cook/Leishman CM in a Nutshell 4

Configuration Management Configuration Management: The discipline that applies technical and administrative surveillance to Identify and document functional and physical characteristics of a configuration item Control changes to those characteristics Record and report change processing and implementation status Configuration Management consists of artifact and change management. Fastrak Training Inc. Cook/Leishman CM in a Nutshell 5

Purpose of Software Configuration Management The purpose of SCM is to identify the configuration of the software at given points in time, systematically control changes to the configuration, and maintain the integrity and traceability of the configuration throughout the software life cycle. Fastrak Training Inc. Cook/Leishman CM in a Nutshell 6

Goals of Configuration Management Maximize productivity by minimizing mistakes change faster and communicate better through documents, forms, records and data to achieve consistent conformance and continuous improvement. Software Configuration Management, H. R. Berlack 2 nd Place And you thought YOU had a bad job! Cook/Leishman CM in a Nutshell 7

The Benefits of Configuration Management Reduces confusion, provides order Organizes tasks and activities to maintain the integrity of the software Helps determine when software is ready for release Ensures correct configurations of software Ensures code is written to meet a requirement Provides traceability to people and requirements Limits legal liability by providing a record of actions Cook/Leishman CM in a Nutshell 8

The Benefits of Configuration Management - con t. Helps reduce lifecycle costs Provides for consistent conformance to customer requirements Provides a stable working environment Enhances compliance with standards Enhances status accounting Enhances auditing abilities Provides communication channels between groups Helps produce higher quality software! Cook/Leishman CM in a Nutshell 9

Sources of change Customers new or changing requirements Developers better methods changes to technology Managers reorganization of people/resources different project approaches Regulations Policies Standards Change # 345.34g.2(b) Cook/Leishman CM in a Nutshell 10

Basic SCM Concepts SCM is divided into the following areas: Identification, Control, Status Accounting, and Audit. SCM answers the questions: Who?, What?, When?, Why? (And maybe Where? ) Who made the changes? What changes were made to the software? When were the changes made? Why were the changes made? Cook/Leishman CM in a Nutshell 11

Configuration Identification Cook/Leishman CM in a Nutshell 12

Configuration Item (CI) A configuration item is an artifact explicitly placed under configuration control (artifact is document or code not hardware). For most projects, the minimum number of controlled items in a software project is whatever is needed to effectively maintain and enhance the product. Cook/Leishman CM in a Nutshell 13

Definition Configuration Identification includes the selection of CIs; the determination of the types of configuration documentation required for each CI; the issuance of numbers and the identifiers affixed to the CI and to the technical documentation (including interface documentation); and the establishment of configuration baselines for CIs. Cook/Leishman CM in a Nutshell 14

Obvious Items Requirements Design Interface Architecture Module Data Code Tests Maintenance Changes You want MY code??? Cook/Leishman CM in a Nutshell 15

More CI Examples Coding Items: Forms Libraries Menus Build Items: Test Build Database Items: Scripts Tables Test Data Cook/Leishman CM in a Nutshell 16

Nomenclature of CIs Any labeling mechanism may be used as long as it satisfies several principles. Every CI shall have a unique mechanism for identifying it. All forms of documentation for a CI must have a unique mechanism for identifying it. All versions, releases, and changes shall be maintained, with their own unique mechanism for identification. The labeling mechanism for a product should be relatable to labeling for a predecessor product. Cook/Leishman CM in a Nutshell 17

Examples of CIs and Identification Example: RFMSS - MAP - DSGN - V01.01-2008MAY20 project module item version date Change that CI!!! I can ALMOST understand what it means! Cook/Leishman CM in a Nutshell 18

Definitions of Baseline A formal departure point for control of future changes. Baselines are documented by approved configuration identifications and provide the basis for control of changes in system/configuration item requirements. A definition of proposed and expected configuration documentation or items at a specific point in time (planning purposes). Cook/Leishman CM in a Nutshell 19

Summary - Identification Identification is the most important of the configuration management activities The four parts of identification are: Selection Documentation Naming Defining baselines. Don t forget to establish the library Cook/Leishman CM in a Nutshell 20

Configuration Control Lack of Control or why some dogs kill their owners! Cook/Leishman CM in a Nutshell 21

Configuration Control Answers the questions: What is controlled? How are the changes to the products controlled? Who controls the changes?

Configuration Control Activities Defining the change process Establishing change control policies and procedures Maintaining baselines Processing changes Developing change report forms Controlling release of the product

How we change systems Standards and Documentation Existing Systems New System Change Requests Find Problem Fix Problem Cook/Leishman CM in a Nutshell 24

How we SHOULD make changes Standards and Documentation Existing Systems Analysis Identification Release New System Change Requests Design Acceptance Test Implement Test Cook/Leishman CM in a Nutshell 25

System Change Process Change Requests Analysis 2.0 Identification 1.0 Existing System Doc. Release 6.0 System Update Design 3.0 Change Process Acceptance Test Implement Test 4.0 5.0 Cook/Leishman CM in a Nutshell 26

Configuration Status Accounting Cook/Leishman CM in a Nutshell 27

A Definition Configuration Report (Status Account): An element of CM, consisting of the recording and reporting of information needed to manage a configuration effectively. IEEE Standard 610.12-1990, IEEE Standard Glossary of Software Engineering Terminology Cook/Leishman CM in a Nutshell 28

Status Accounting Involves the recording and reporting of the change process Goal - To maintain a status record of all items in the baseline Provides status information of the evolving software Provides data to improve the software development process Assists in cost estimation of future software development efforts Indicates Trends Assists in impact analysis Helps prevent the ripple effect Contributes to the decision making process

Status Accounting Answers the questions: What changes have been made to the system? When were the changes made? What was the reason? Who authorized the change? What files were affected by this problem report?

Reports Dependency Report - identifies relationship between controlled items Impact Report - identifies all components affected by a change Build Report - identifies all items that went into the software build Change Status Report - identifies status of all changes Difference Report - identifies differences between version of items History Report - summarizes the historical development Access Control Report - list access privileges for all users Conflict Detection Report - identifies conflicts Aging Report - Open/Active changes oldest to newest by Category, Priority, Product, Status Totals Report - number of changes, open/closed by Category, Priority, Product, Status

Reports cont. Duration Report - Elapsed time, Average time to close by. All Category, Priority, Product, Status Access Control Report - list access privileges for all users Conflict Detection Report - identifies conflicts Aging Report - Open/Active changes oldest to newest by Category, Priority, Product, Status Totals Report - number of changes, open/closed by Category, Priority, Product, Status Duration Report - Elapsed time, Average time to close by All Category, Priority, Product, Status

Example Ad Hoc Reports How many problems were discovered in module ###? How many units/items were promoted to test? What units are John s responsibility? How many problems reports are still open? What is the status (i.e., new, opened, rejected, deferred, hold, closed) of problem report #34? Who is responsible for fixing problem report #34? What applications have the highest rate of change?

Configuration Auditing Cook/Leishman CM in a Nutshell 34

Auditors go in after the battle is over and stab the wounded! {Usually the wounded on YOUR side!} Cook/Leishman CM in a Nutshell 35

A Definition Configuration Audit: An independent examination of a work product or set of work products to assess compliance with specifications, standards, contractual agreements, or other criteria. IEEE Standard 610.12-1990, IEEE Standard Glossary of Software Engineering Terminology Cook/Leishman CM in a Nutshell 36

Audit Verifies that the software product is built according to the requirements standards, or other contractual agreement Goal - To verify that all software products have been: Produced Correctly Identified Change Request Resolved Formal and Informal Audits

Configuration Audit Answers the questions: Does the system satisfy the requirements? Are all changes incorporated in this version?

CONFIGURATION CONTROL BOARDS Cook/Leishman CM in a Nutshell 39

You need two items A plan or process for configuration management The authority to control the changes Often managed by a Configuration Control Board Cook/Leishman CM in a Nutshell 40

Isn t a Control Board Just Another Meeting? Another meeting? No wonder we can t get anything done around here! A committee is a thing that takes a week to do what one good person can do in an hour. Either one meets or one works. One cannot do both at the same time. - Peter Drucker, The Effective Executive When you become too senior to work your work is going to meetings. Source: Joint Application Development, J. Wood, D. Silver Cook/Leishman CM in a Nutshell 41

What is a Control Board? It is a concept that provides for implementing change control at optimum levels of authority. Source: IEEE Guide to Software Configuration Management, IEEE Std 1042-1987 Cook/Leishman CM in a Nutshell 42

Configuration Control Board (CCB) A designated group of representatives primarily tasked to review and approve or disapprove change recommendations An important mechanism in Change Control May be more than one CCB and at different levels, e.g. Customer level System level Sub-system level Project level Cook/Leishman CM in a Nutshell 43

CCB Outcomes Reject Defer Will be included in future block upgrade Refer to higher authority Approve Assign priority NOTES: Outcomes are for each item -- line item veto Voting is not democratic Go ahead make one more change!! Cook/Leishman CM in a Nutshell 44

Expedited Actions Are inevitable Must be limited Must be documented via change request Process Specific manager CCB chair Source: Implementing Configuration Management, Fletcher J. Buckley p. 85 Cook/Leishman CM in a Nutshell 45

CM Tools RCS: very old but still in use CVS (Concurrent Version Control) based on RCS, allows concurrent working without locking http://www.cvshome.org/ Perforce Repository server; keeps track of developer s activities http://www.perforce.com ClearCase Multiple servers, process modeling, policy check mechanisms http://www.rational.com/products/clearcase/ Subversion See next slide. Cook/Leishman CM in a Nutshell 46

Subversion Open Source Project (http://subversion.tigris.org/) Based on CVS Subversion interface and features similar to CVS Commands: checkout, add, delete, commit, diff Differences to CVS Version controlled moving, renaming and copying of files and directories Version controlled metadata of files and directories Server Options Standalone installation Integrated into the Apache webserver The time for branch management is independent of the size of the system (unlike CVS, which creates physical copies of the files, Subversion uses only tags) Cook/Leishman CM in a Nutshell 47

What CM is REALLY like. WINNER And you thought YOU had a bad job! Cook/Leishman CM in a Nutshell 48