Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Software change management
Configuration management
Configuration Management
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
Software Configuration Management Speaker: Jerry Gao Ph.D. San Jose State University URL:
Software Configuration Management
CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.
Software Configuration Management (SCM)
TCS2411 Software Engineering1 Software Configuration Management “The only constant is change...”
Configuration Management
Chapter 27 Change Management
Software Configuration Management
Configuration Management Avoiding Costly Confusion mostly stolen from Chapter 27 of Pressman.
This chapter is extracted from Sommerville’s slides. Text book chapter
SE-02 CONFIGURATION MANAGEMENT Today we talk about Software Configuration Management (SCM for short): - What? - Why? - How?
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
SOFTWARE CONFIGURATION MANAGEMENT (SCM)
Seattle Area Software Quality Assurance Group Release and Configuration Management, The Acceleration of Change and Its Contribution To Software Quality.
Software Configuration Management
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Configuration Management (managing change). Starter Questions... Which is more important?  stability  progress Why is change potentially dangerous?
Configuration Management (CM)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 29 Slide 1 Configuration management.
Creator: ACSession No: 16 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 (Software Quality) Configuration Management CSE300 Advanced.
This chapter is extracted from Sommerville’s slides. Text book chapter
© 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): -
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.
Software Project Management
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 29 Slide 1 Configuration management.
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.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
Configuration Management
1 Chapter 9 Software Configuration Management. 2 The “First Law” No matter where you are in the system life cycle, the system will change, and the desire.
Software Configuration Management SEII-Lecture 21
Configuration Management (II) Copyright, 2000 © Jerzy R. Nawrocki Requirements.
Software Engineering Lecture 9: Configuration Management.
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
Configuration Control (Aliases: change control, change management )
Software Engineering Process - II 7.1 Unit 7: Quality Management Software Engineering Process - II.
Software Configuration Management (SCM)
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Introduction for the Implementation of Software Configuration Management I thought I knew it all !
Configuration Management
Software Configuration Management
Software Configuration Management
Software Configuration Management
Software Project Configuration Management
Software Configuration Management (SCM)
Chapter 11: Software Configuration Management
Configuration Management
Change Control Process—I
Chapter 27 Change Management
Lecture 3 Change Management
Change Control Module P5 LEARNING OBJECTIVES: LEARNING OUTCOMES
Configuration Management (managing change)
Software Configuration Management
Chapter 27 Change Management
Chapter 27 Change Management
Chapter 13 Quality Management
Baseline – IEEE definition
Chapter 11: Software Configuration Management
Chapter 27 Change Management
Chapter 27 Change Management
Configuration management
Software Configuration Management
Presentation transcript:

Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.

What is configuration management? Identifying, organising and controlling modifications to software During Development During the software lifetime Aims to increase productivity, efficiency and quality by reducing mistakes and duplicated or wasted effort Remember that change can (and will) occur at any time so activities are developed to Identify and control changes Ensure changes are implemented properly Report changes to ‘stakeholders’ Establishing Baseline Versions of Software A formally reviewed and agreed ‘release’ or ‘version’ of a product That can act as known starting point for future versions Changes can only be made to baselines if approved

What is Software Configuration The software process consists of Software Configuration Items (SCI’s) Programs (source code and executables) Documentation (user and technical) Data (internal to programs or external) As a software development continues, the number of items will increase Items need to be managed to ensure that changes are reflected in all relevant items for all changes for the lifetime of the software Change Occurs for many reasons, including: New business or market conditions; New customer needs ; Re-organisation of the business (up or down in size and complexity) ; Budgetary or scheduling constraints ; As time progresses, users (and developers) know more about the system, its limitations and possibilities Most changes are justified and therefore must be taken into consideration

The Configuration Management Process Typical SCI’sControlling the SCI’s Feasibility study and outline design System Specification Requirements Analysis System Requirements Specification Software Design Design Specification Coding Source Code Testing Test plans and procedures Release Operational Systems Project Database SCI extracted approved stored modified Formal technical reviews Software engineering tasks SCM controls Diagrams taken from Pressman Pages

Version Control Procedures and tools to manage versions of configuration objects A software system may contain hundreds of components, each of which may exist in many different versions Version management requires unique identification of each SCI version, allowing specific version components to be recovered as required Three techniques for component version identification Version numbering – components given unique version number Attribute based identification – components have a name (not unique across versions) and a set of attributes (which differ for each version) Change-oriented identification – as either of the above but attributes also associate with one or more change requests. Specific versions of a particular SCI can then be retrieved using one of several different ‘indexes’ depending upon the information available to the retrieving developer

Release Management A release is an agreed version that is distributed to customers A release may include Executable code Configuration files Data files An installation program Documentation (electronic and/or paper) Packaging and publicity Customers may choose not to install a release New releases must therefore be independent of previous releases and contain all of the components necessary for full functionality It is an expensive process deciding when to issue a release; but it is an important consideration Too frequent – customers may not upgrade Too infrequent – may lose market share, or if a bespoke development the system may diverge from the business process it is intended to support

Change Control Uncontrolled change rapidly leads to chaos Change control combines human procedures and automated tools A change request is submitted and evaluated to assess technical merit, potential side effects, overall impact on other SCI’s and cost A decision can made as to the feasibility of the change If feasible, the required SCI’s need to be checked out of the project database Appropriate changes are made, documented and tested Components checked back in and version control mechanisms create the next version, or if major changes made, release of the system Changes can be anything from minor  major in size and impact

Configuration Audit How can changes be assured of their quality? Formal technical reviews Focuses on technical correctness of change Consistency with other SCI’s, has the changed been cascaded Potential side effects examined – does this effect anything else Software configuration audits Has the change been made, has anything else been done? Has a formal technical review been conducted, what was the outcome? Have coding and documentation standards been followed Have the changes been highlighted in the SCI – change date, author and details – the audit trail, important if problems occur Have procedures been followed, if not why not Have all related SCI’s been updated?

Reporting and Management Information Configuration Management Tools can provide information such as: What has happened Who did what When did changes occur What else might be affected (links between objects, modules) Very important in large projects Two people may attempt to change the same SCI with different intentions, these may well conflict! Checking-out and checking-in enable control to be kept of versions so that changes do not get overwritten or lost. The following slide presents a flowchart for a typical change control process There seems to be a lot of steps, but these are necessary if Quality is to be maintained

Summary Configuration management is the management of system change Identifies, controls, audits and reports modifications that WILL occur in a software system throughout its lifetime All of the information produced as part of a software development becomes part of the software configuration Baselines are created at known points of stability Changes to baselined objects have to be approved and result in a new version or release of the system (and thus a new baseline) Change control is a procedural activity that assures quality and consistency in the development of software systems