Software Configuration Management



Similar documents
CHAPTER 7 Software Configuration Management

The Configuration Management process area involves the following:

Configuration & Build Management

Software Configuration Management. Addendum zu Kapitel 13

Configuration Management in Software Development Life Cycle

Software Change Management Chapter 27 Homework 10 Points

What Are Software Developers Facing?

Configuration Management Practices

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

<name of project> Software Project Management Plan

CHAPTER 7 SOFTWARE CONFIGURATION MANAGEMENT

CONFIGURATION MANAGEMENT PLAN GUIDELINES

Chapter 5. Choose the answer that mostly suits each of the sentences given:

Automated Transportation Management System

Configuration Management Plan

SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK

THE ROLE OF IV&V IN THE SOFTWARE DEVELOPMENT LIFE CYCLE

Software Configuration Management. Wingsze Seaman COMP250SA February 27, 2008

Chapter 13 Configuration Management

Software Configuration Management

Change Management Best Practices

CENG492 SENIOR DESIGN PROJECT AND SEMINAR II SOFTWARE CONFIGURATION MANAGEMENT PLAN

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

19 Configuration Management

The Impact of Global Software Development on Software Configuration Management. Kaisa Uotila

Independent Verification and Validation of SAPHIRE 8 Software Configuration Management Plan

CMS Policy for Configuration Management

Software Configuration Management.

SOFTWARE QUALITY & SYSTEMS ENGINEERING PROGRAM. Software Configuration Management Checklist

Computer programs (both source and executable) Documentation (both technical and user) Data (contained within the program or external to it)

Department of Energy Quality Managers Software Quality Assurance Subcommittee Reference Document SQAS

Software Configuration Management. Visiting Lecture Tero Kojo

Software Configuration Management Plan

5 FAH-5 H-510 CONFIGURATION MANAGEMENT

Chapter 13 Configuration Management

TEMPLATE. U.S. Department of Energy. Project Name. Configuration Management Plan. September 2002 U. S. DEPARTMENT OF ENERGY

1. Introduction Purpose Scope Reference Materials Applicable Documents Reference Documents

CONFIGURATION MANAGEMENT PLAN

Configuration Management

Configuration Management - The Big Picture

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

How To Manage A Computer System

Configuration Management Plan (CMP) Template

STAR JPSS Algorithms Integration Team Configuration Management Plan Version 1.2

How To Integrate Software And Systems

Theme 1 Software Processes. Software Configuration Management

Module 12. Software Project Monitoring and Control. Version 2 CSE IIT, Kharagpur

Project QA and Collaboration Plan for <project name>

ITIL-CMM Process Comparison

Source Code Management/Version Control

SOE. managing change in system development projects: configuration management

Software Project Management Plan (SPMP)

Version Control Tools

Appendix O Project Performance Management Plan Template

The V-Model. Prepared for. Prepared by. Christian Bucanac Software Engineering Student, University Of Karlskrona/Ronneby

Introduction to Software Configuration Management. CprE 556 Electrical and Computer Engineering Department Iowa State University

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

CONTENTS. Preface. Acknowledgements. 1. Introduction and Overview 1 Introduction 1 Whatis the CMMI"? 2 What the CMMI* is Not 3 What are Standards?

CMMI Asset Library: Maturity Level 2

Basic Activities of Software configuration Management

Templates For Software Configuration Management Documents

Lecture 10 CS5702. Requirements Engineering. Managing change optimising Value - A bit more about Agile RE. Requirements Engineering.

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

WHAT IS CHANGE MANAGEMENT

Software Configuration. Management Issues in Product Development

Software Configuration Management

Software Configuration Management. Software Engineering: A Practitionerʼs Approach, 7/e by Roger S. Pressman

<Project Name> Configuration Management Plan

Software Configuration Management Draft Version 0.5

Software Test Plan (STP) Template

Configuration Management Models in Commercial Environments

Effective Methods for Software and Systems Integration

ALS Configuration Management Plan. Nuclear Safety Related

Benefits to the Quality Management System in implementing an IT Service Management Standard ISO/IEC

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

Introduction for Software Configuration Management Training

Software Configuration Management and Continuous Integration

SOFTWARE CONFIGURATION MANAGEMENT DOCUMENTATION

Example IEEE software project management plan (SPMP)

IEEE Software Engineering Risk Management: Measurement-Based Life Cycle Risk Management PSM 2001 Aspen, Colorado

How To Understand And Understand The Cmm

Can a Level 2 or (3) organization be considered ISO compliant? Should SPI be based on CMM or ISO?

Configuration Management Fundamentals

Moving from ISO9000 to the Higher Levels of the Capability Maturity Model (CMM)

Engineering Standards in Support of

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

Reaching CMM Levels 2 and 3 with the Rational Unified Process

Configuration Management

CMTRAC. Application Overview APPLICATION DATASHEET

Technical Baseline Management

TITLE: Control of Software

Global Software Change Management for PVCS Version Manager

Lecture Slides for Managing and Leading Software Projects. Chapter 1: Introduction

Software Maintenance Management

Transcription:

Software Engineering Courses (University of Kansas, Spring 2004) Slide 1 Software Configuration Management Software Configuration: All items that constitute the software while under the development (e.g., programs, data, documents such as the software requirements specification, test cases, etc.); they are referred to as Software Configuration Items or SCIs Most (or all) SCIs change during the development; such changes must be effectively controlled

Software Engineering Courses (University of Kansas, Spring 2004) Slide 2 Software Configuration Management (continued) Software Configuration Management (SCM) is the process of identifying and defining the SCIs in the system and coordinating the changes made to these items. A formal definition: SCM is the process of identifying and defining the items in the system, controlling the change of these items throughout their life cycle, recording and reporting the status of items and change requests, and verifying the completeness and correctness of items IEEE 1987

Software Engineering Courses (University of Kansas, Spring 2004) Slide 3 Software Configuration Management (continued) SCM provides for systematic evolution of a software under development and provides for: visibility controlled change traceability monitoring

Software Engineering Courses (University of Kansas, Spring 2004) Slide 4 CMM on Software Configuration Management SCM and the CMM. Goals of Level 2 SCM KPA: Goal 1: Software configuration management activities are planned Goal 2: Selected software work products are identified, controlled, and available Goal 3: Changes to identified software work products are controlled Goal 4: Affected groups and individuals are informed of the status and content of software baselines

Software Engineering Courses (University of Kansas, Spring 2004) Slide 5 Configuration Management Primary Task: To manage change Phase 1 Phase 2... Phase n Baseline Baseline Configuration Management Baseline. A specification or product that has been formally reviewed and agreed upon, that thereafter serves as the basis for further development, and that can be changed only through formal change control procedure. IEEE 1990

Software Engineering Courses (University of Kansas, Spring 2004) Slide 6 Components of the SCM Major components of the SCM: Software Configuration identification Change Control Configuration Status Accounting Configuration Audit

Software Engineering Courses (University of Kansas, Spring 2004) Slide 7 Software Configuration Identification First Step in SCM: Identification of the SCIs No fast rules: once a SCI has been identified, it should be given an identification name Examples of the SCIs: Theentireproductofasoftwaredevelopmentphase(e.g.,a requirements document) Chapters or sections of a document A separately compilable module A file consisting of a number of modules A file consisting of module definitions

Software Engineering Courses (University of Kansas, Spring 2004) Slide 8 Baselines of a Typical Development Life Cycle Phase/Discipline: Requirements Analysis Baseline: Software Requirements Specification Phase/Discipline: Software Design Baseline: Design Specification Phase/Discipline: Coding and Implementation Baseline: Source Code Phase/Discipline: Testing and Integration Baseline: Test Plans and Data Phase/Discipline: Acceptance Testing/Release Baseline: Operational Software

Software Engineering Courses (University of Kansas, Spring 2004) Slide 9 Change Control Change control is the process of controlling the changes to the SCIs. A formal definition: An element of configuration management, consisting of the evaluation, coordination, approval or disapproval, and implementation of changes to configuration items after formal establishment of their configuration identification. IEEE 1990

Software Engineering Courses (University of Kansas, Spring 2004) Slide 10 Change Control Process Decision making process is carried out by the Configuration Control Board (CCB) which consists of one or more individuals led by the Configuration Manager (CM), responsible for configuration management The process is as follows: (1) While a SCI is under development (working state), it can changed freely since it is not under SCM yet (2) When a SCI is in a stable condition, it is submitted to the CM for review (under review state)

Software Engineering Courses (University of Kansas, Spring 2004) Slide 11 Change Control Process (continued) (3) While under review, the SCI is considered frozen (4) Once the SCI is reviewed (for satisfactory quality) and approved, it is entered into a library - the SCI is now formally under SCM: approved Working Under Review Under SCM disapproved (5) Once in the library (i.e., under the SCM), the SCI cannot be changed unless the change is approved by the CCB

Software Engineering Courses (University of Kansas, Spring 2004) Slide 12 Change Control Process (continued) (6) Request for change must be formally initiated via a Change Request (CR) form. A CR form has three components: 6.1 Change Request Proposal Proposer information Description of change Reason for the change SCIs affected by the change Priority of the change (fault error?)

Software Engineering Courses (University of Kansas, Spring 2004) Slide 13 Change Control Process (continued) 6.2 CCB s Decision (completed by CM) CCB s approval/disapproval decision (based on cost/benefit analysis, quality issues, scheduling) CCB assigned unique number to the proposed change for future references Actions recommended by the CM (e.g., no action, change the SCI, changes to programs, changes to the documents) 6.3 Implementation of Change. A change log by the change implementation (e.g., status of change); complementary comments

Software Engineering Courses (University of Kansas, Spring 2004) Slide 14 Change Control Process (continued) (7) Check-In, Check-Out Process: Once the change has been approved, the SCI has to be checked-out from the library for change; once the change has been implemented, the SCI must be checked-in to the library

Software Engineering Courses (University of Kansas, Spring 2004) Slide 15 Configuration Status Accounting Implementing a change may take a long time The objective of Configuration Status Accounting is to answer question such as: What is the status of a CR? What is the status of an approved CR? Scheduled/not scheduled? Active? Completed? Who is in charge of implementing an approved CR? What is the average time to process a CR? What is the average efforts needed to process a CR? What is the number of CRs per SCI? Have all related SCIs been properly updated?

Software Engineering Courses (University of Kansas, Spring 2004) Slide 16 Configuration Status Accounting (continued) Configuration status accounting plays an important role in the success of large software projects where a large number of individuals are involved on the same project; the status accounting helps improving communication between those individuals involved

Software Engineering Courses (University of Kansas, Spring 2004) Slide 17 Configuration Auditing Configuration Auditing Objective: to verify compliance with configuration control standards Configuration auditing is performed by auditors (external to the development team) who are in charge of determining if the defined processes are being followed and to ensure that the SCM goals are satisfied For example, it will determine whether software engineering an organizational standards (e.g., documentation standards, coding conventions) been properly followed?

Software Engineering Courses (University of Kansas, Spring 2004) Slide 18 Resources for Configuration Control Traditional tools: make utility - operates on a makefile (includes a definition of the SCIs and their dependencies and a procedure for re-building the system if any of the components of the system has changed since the last built) Originally for the UNIX; migrated to the PC environments SCCS utility - administration programs for Source Code Control System (SCCS) RCS utility - a revision control that creates new revision control files or changes attributes of existing ones. An RCS file contains multiple revisions of text, an access list, A change log, descriptive text, and some control attributes. Many other similar tools, e.g., diff

Software Engineering Courses (University of Kansas, Spring 2004) Slide 19 WWW Resources for Configuration Control Comprehensive list of free and commercial products: www.cmtoday.com/yp/configuration management.html

Software Engineering Courses (University of Kansas, Spring 2004) Slide 20 Configuration Control/Request Change Samples Example of a configuration Change Request form Standards ANSI/IEEE Std 828 SCM Plans ANSI/IEEE Std 1042 Guide to SCM

Software Engineering Courses (University of Kansas, Spring 2004) Slide 21 An Outline of a CM Plan 1. Introduction: Purpose, Scope, Definition, Acronyms 2. Management: organization of the project and baselines, SCM responsibilities, who does what 3. CM activities: how the organization will perform the CM activities (identification, control, status accounting, audit) 4. Tools, Techniques and Methodologies: technical details of implementing CM 5. Supplier Control (sub-contractor software; vendor software) 6. Records Collection and Retention