Configuration Management (managing change). Starter Questions... Which is more important?  stability  progress Why is change potentially dangerous?

Slides:



Advertisements
Similar presentations
Configuration Management
Advertisements

Software Quality Assurance Plan
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.
Software Configuration Management (SCM)
Configuration Management
Software Configuration Management
Software Configuration Management CSC-532 Chandra Shekar Kandi Chandra Shekar Kandi.
Chapter 27 Change Management
Software Configuration Management
Software Configuration Management (SCM)
CSSE 375 Software Construction and Evolution: Configuration Management
Configuration Management Avoiding Costly Confusion mostly stolen from Chapter 27 of Pressman.
SE-02 CONFIGURATION MANAGEMENT Today we talk about Software Configuration Management (SCM for short): - What? - Why? - How?
Software Configuration Management (SCM)
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
Component-level testing – Equivalence partitioning, boundary value analysis, path testing Navigation testing – Testing navigation syntax and semantics.
Software Configuration Management
Software Configuration Management (SCM)
ISM 5316 Week 3 Learning Objectives You should be able to: u Define and list issues and steps in Project Integration u List and describe the components.
Software Quality Assurance
© Mahindra Satyam 2009 Configuration Management QMS Training.
Software Engineering 2003 Jyrki Nummenmaa 1 CONFIGURATION MANAGEMENT Today we talk about Software Configuration Management (SCM for short): -
KS3 Phase4 Client Server Monitoring System October 1, 2008 by Stephen, Seema, Kam, Shpetim.
SOFTWARE CONFIGURATION MANAGEMENT. Change is inevitable when computer software is built. And change increases the level of confusion among software engineers.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa Configuration management.
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 29 Slide 1 Configuration management.
Management of Software Project CSM Software Configuration Management (SCM)
Configuration Management at CMM Level 2 Copyright, 2000 © Jerzy R. Nawrocki Requirements.
Software Configuration Management (SCM) Source: Pressman, R., Software Engineering: A Practitioner ’ s Approach. Boston: McGraw Hill, Inc., 2005; Ghezzi,
Software Configuration Management n Art of coordinating SW development to minimize confusion n Software quality assurance (umbrella) activity n Set of.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Configuration Management
Software Configuration Management SEII-Lecture 21
Configuration Management (II) Copyright, 2000 © Jerzy R. Nawrocki Requirements.
Software Engineering Lecture 9: Configuration Management.
Configuration Control (Aliases: change control, change management )
Configuration & Build Management. Why Software Configuration Management ? The problem: Multiple people have to work on software that is changing More.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 27 Change Management Software Engineering: A Practitioner’s Approach, 6/e Chapter 27 Change.
Software Configuration Management (SCM)
 Software Configuration Management is the process of controlling and monitoring change to work products.  Or  “It is the art of identifying, organizing.
Software Configuration Management -Subversion- RTLAB YuJin Park.
Software Configuration Management (SCM)
Configuration Management
Software Configuration Management
Software Configuration Management
Software Project Configuration Management
Chapter 10, Software Configuration Management
Chapter 11: Software Configuration Management
Software Configuration Management
Software Engineering (CSI 321)
Configuration Management
Software Configuration Management
Chapter 27 Change Management
Chapter 29 Software Configuration Management
Lecture 3 Change Management
Chapter 29 Software Configuration Management
Configuration Management (managing change)
Software Configuration Management
Chapter 27 Change Management
Chapter 27 Change Management
Baseline – IEEE definition
Chapter 11: Software Configuration Management
Chapter 27 Change Management
Chapter # 6 Software Configuration Management
Chapter 27 Change Management
Software Engineering: A Practitioner’s Approach, 6/e Chapter 27 Change Management copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Software Configuration Management
Presentation transcript:

Configuration Management (managing change)

Starter Questions... Which is more important?  stability  progress Why is change potentially dangerous? What causes configuration problems?  multiple developers  multiple releases  components used in multiple products  changing requirements  etc...

Change is inevitable. Change creates confusion. AND BUT, Confusion is NOT inevitable.

Outline for Tonight "Baselines" CM Repository and Config Tools CM Plan Much of this Software Configuration Management presentation is based on Chapter 27 of Pressman's Software Engineering: A Practitioners Approach 6th Edition

Goals of CM Identify Change Control Change Stability vs Progress Ensure Change is Properly Implemented Report Changes to people who Need to Know 5 of 22

What Changes? Software Code source code object code Data Documents SRS designs project schedules test plans, test results …

Key Concept: "Baseline" "A specification or product that has been formally reviewed and agreed upon, that there-after serves as the basis for further development, and that can be changed only through formal change control procedures." IEEE Std 729 Standard Glossary of Software Engineering Terminology

Baseline Use Establishment of a baseline is a milestone. Before that milestone, change can be made informally. Once reviewed and accepted, the product becomes an established baseline. Everyone proceeds using that version, which is located in a central repository. Therefore, further change requires formal review, notifications, etc. 8 of 22

1.Change Request is made (see next slide) 2.Request is Approved or Denied 3."Check Out" the item(s) 4.Make Changes 5.Testing or Reviews  formal review of design changes,  regression testing of modules, etc 6.Review the Change Order 7.Notify all Dependencies  when baseline change will occur  what changes were made to baseline 8."Check In" the new baseline Baseline Baseline - Standard Change Process 9 of 22

Template Template for Baseline Change Requests Name, Date, yadda yadda Type of change Goal of making the change Priority / Urgency Detailed description of the changes Expected Effects Timetable for making changes, testing, release, Estimated Costs 10 of 22

Version Numbering Item After ModifyBuild 1Build 2 Release 1… Test Plan0.0.0 (original version) > > > Module > > > Module > > > of 22

Question... How do we keep track of all these versions, dependencies among components, approval records, etc. etc. etc.? 1. Use Good CM Tools 2. Have a Sound CM Procedure

CM Repository - Common Jargon CM Objects CM probably organized as object-oriented database  Basic Objects  Aggregate Objects Configuration Item  standard term for entities in the CMR 14 of 22

CM Tools CM Tools - Necessary Features Versioning Dependency Tracking!!! Audit Trails!!! Reporting of Changes Supports the Change Rules Requirements Tracing Repository arranged as "basic objects" and "aggregate objects" Supports both Linear evolution and Trees 15 of 22

Get a copy of the module tc: $ cvs checkout tc Get a copy of the module tc as it looked one day ago: $ cvs checkout -D yesterday tc If you had to create a patch to the 1.2 version of the product, even though the 2.0 version is already under development, you might do: $ cvs rtag -b -r FCS1_2 FCS1_2_Patch product_module $ cvs checkout -r FCS1_2_Patch product_module $ cd product_module [[ hack away ]] $ cvs commit Other very handy commands annotate - for each line, print the version that created it diff - differences in versions, LOTS of options history - version dates, etc. log - who last edited each line release - stop editing, but don't save changes update - reconcile your copy with recent changes made by other developers 16 of 22

CM Plan Parts of a CM Plan Process Elements collection of procedures that define approach to change management Component Elements set of tools and file management system that enable access to and management of items Construction Elements tools that automate the construction of software, test suites, etc. Human Elements 17 of 22

IEEE / ANSI 828 Standard for Software Configuration Management Plans 1. Introduction a) purpose b) scope c) definitions and acronyms d) references 2. Management a) organization b) SCM responsibilities c) interface control d) SCMP implementation e) policies, directives, procedures (naming conventions, version designations, problem report process) 3. SCM Activities a) configuration identification b) configuration control (change history, review authority, read/write control, member identification) c) configuration status accounting (status of change requests, status of approved changes, …) d) audits and reviews 4. Tools, Techniques, and Methodologies 5. Supplier Control 6. Records Collection and Retention 18 of 22

IEEE 1042 Guide to Software Configuration Management Defines terms such as baseline and version Discusses configuration management as a management discipline and its role in the engineering process Includes checklists of issues for sections of the SCMP (IEEE Std 828) Includes four complete examples of SCMPs 19 of 22

CM Audits % of unapproved changes % of Change Orders completed on schedule % of affected Configuration Items that were not checked % of properly documented Configuration Items number of CM Process Failures 20 of 22

Summary Change is inevitable. Baselines are milestones of a configuration item. Use a tool or set of tools to control change access control version tracking etc Adopt a Change Management Plan

Next Class Exam Two