Configuration Management

Slides:



Advertisements
Similar presentations
Configuration Management
Advertisements

Why Is Software Difficult to Build?
Chapter 7: Key Process Areas for Level 2: Repeatable - Arvind Kabir Yateesh.
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
Software Configuration Management
CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.
Software Configuration Management (SCM)
Configuration Management
Software Configuration Management CSC-532 Chandra Shekar Kandi Chandra Shekar Kandi.
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.
Michael Solomon Tugboat Software Managing the Software Development Process.
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
Software Engineering Modern Approaches
Seattle Area Software Quality Assurance Group Release and Configuration Management, The Acceleration of Change and Its Contribution To Software Quality.
Software Configuration Management
Software Configuration Management (SCM)
Configuration Management Matti Kuikka CONFIGURATION MANAGEMENT by Matti Kuikka, Unit Manager, Ericsson, Turku, Telecom R&D, Wireless Charging.
Configuration Management (managing change). Starter Questions... Which is more important?  stability  progress Why is change potentially dangerous?
Software Quality Assurance
© Mahindra Satyam 2009 Configuration Management QMS Training.
SOFTWARE CONFIGURATION MANAGEMENT. Change is inevitable when computer software is built. And change increases the level of confusion among software engineers.
Managing Change 1. Why Do Requirements Change?  External Factors – those change agents over which the project team has little or no control.  Internal.
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
Software Configuration Management (SCM). Product Developer Disciplines One view of the world is that there are three types of activities are required.
Principles of Computer Security: CompTIA Security + ® and Beyond, Third Edition © 2012 Principles of Computer Security: CompTIA Security+ ® and Beyond,
Software Configuration Management (SCM) Source: Pressman, R., Software Engineering: A Practitioner ’ s Approach. Boston: McGraw Hill, Inc., 2005; Ghezzi,
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
Project management Topic 8 Configuration Management.
Configuration Control (Aliases: change control, change management )
by: Er. Manu Bansal Deptt of IT Software Quality Assurance.
Configuration & Build Management. Why Software Configuration Management ? The problem: Multiple people have to work on software that is changing More.
Software Configuration Management (SCM)
Software Configuration Management -Subversion- RTLAB YuJin Park.
Configuration Management. After completing this module you will be able to: Describe configuration management Explain the flow of configuration management.
Introduction for the Implementation of Software Configuration Management I thought I knew it all !
Change Request Management
Software Configuration Management (SCM)
Configuration Management
Software Configuration Management
Software Configuration Management CSC-532
Software Configuration Management
Software Configuration Management
Software Project Configuration Management
Software Configuration Management (SCM)
Chapter 11: Software Configuration Management
Software Configuration Management
Software Engineering (CSI 321)
Chapter 18 Maintaining Information Systems
Configuration Management Why do we need it? What does it do?
Software Configuration Management
Chapter 27 Change Management
Lecture 3 Change Management
Configuration Management (managing change)
Software Configuration Management
Chapter 27 Change Management
Engineering Processes
Chapter 27 Change Management
Software life cycle models
Baseline – IEEE definition
Chapter 11: Software Configuration Management
Chapter 27 Change Management
Chapter # 6 Software Configuration Management
Chapter 27 Change Management
Configuration management
Configuration Management
Software Reviews.
Software Configuration Management
Presentation transcript:

Configuration Management By: Er. Manu Bansal (Deptt of IT) mrmanubansal@gmail.com

Why Is Software Difficult to Build? Lack of control Lack of monitoring Lack of traceability Uncontrolled changes mrmanubansal@gmail.com

Conflicts in Team Software Development Simultaneous updates – how to prevent one person from undoing the changes of another Shared and common code – how to notify everyone who needs to know about a change Versions – how to make changes to all affected versions when needed mrmanubansal@gmail.com

Software Configuration Management Basics Identification – identifying software configuration items in a baseline Control – controlling the release of a product and changes to it throughout its lifecycle Status Accounting – recording and reporting of the status of components and changes Auditing and Reviewing – Validating the completeness of a product and that SCM procedures are being followed mrmanubansal@gmail.com

SCM Definitions Baseline – One or more software configuration items that have been formally reviewed and agreed upon and serve as a basis for further development Software Configuration Item – A collection of software elements treated as a unit for the purposes of SCM Configuration – A collection of all the elements of a baseline and a description of how they fit together mrmanubansal@gmail.com

SCM Definitions (cont’d) Configuration Control Board – Group with the responsibility for reviewing and approving changes to baselines Software – All of the code, specifications, plans, descriptions, processes, and documents associated with a software development effort Version – A specific instance of a baseline or configuration item mrmanubansal@gmail.com

Examples of Configuration Items Product concept specification Software project plans Software requirements specifications Software design descriptions Source code Database descriptions SCM procedures Software release processes Software test documents User documentation Maintenance documentation mrmanubansal@gmail.com

Version Control Allows different projects to use the same source files at the same time Isolates work that is not ready to be shared by the rest of the project Isolates work that should never be shared Allows software engineers to continue development along a branch even when a line of development is frozen mrmanubansal@gmail.com

Change Control Proposed changes to baselines must have some level of review The impact of proposed changes must be identified and understood. When appropriate the approval of the CCB, key managers and project members must be obtained Approved changes must be properly implemented After changes are made all affected parties must be notified mrmanubansal@gmail.com

Baseline Management What baselines are required to be defined and managed? Typically aligned with major milestones Applies to documents as well as code How is the current software configuration defined? A snapshot of everything the product has produced at some point in time mrmanubansal@gmail.com

Baseline Management (cont’d) Who must approve changes to baselines? Usually the Change Control Board (CCB) How and when are baselines created and physically controlled? Through the use of document control systems, code control tools, and procedures to prevent the making of unapproved changes mrmanubansal@gmail.com

Baseline Management (cont’d) How are people informed of changes? The CCB disseminates change information How are baselines verified? By reviews, inspections, and the testing of code Are baselines tied to project milestones? Many are, but during coding many may not be mrmanubansal@gmail.com

Baseline Management (cont’d) What information is required to process a change to a baseline? A description of the proposed changes Reasons for making the changes List of other items affected by the changes What tools, resources, and training are required to perform baseline change assessment? File comparison tools to identify changes Resources and training depend on size and complexity of project mrmanubansal@gmail.com

Baseline Management (cont’d) What metrics should be used to assess changes to a baseline? Complexity Average module size Number of modules changed Number of bugs fixed and verified Code coverage mrmanubansal@gmail.com

Baseline Management (cont’d) How are unauthorized changes to source code prevented, detected, and corrected? No way to prevent unauthorized changes Provide software engineers with training A commercial available SCM systems provide adequate protection Unauthorized changes should be caught during assessment procedures mrmanubansal@gmail.com

Baseline Management (cont’d) What tools, resources, and training are required to perform baseline management? A fully featured SCM tool On large projects a separate SCM group may be needed SCM training is required for all involved in the process mrmanubansal@gmail.com

Workspace Management Software engineers need a consistent and reproducible workspace area (a sandbox) in which they can develop and debug their code They need to be able to share project files while shielding the project from the instability of their evolving code SCM tools should provide such a capability mrmanubansal@gmail.com

Baseline Change Assessment Helps to identify recent changes that may be responsible for problems Helps to ensure that only authorized changes are made mrmanubansal@gmail.com

Version Management Being able to reliably build and recreate versions of a product as it evolves and after it is released. Being able to retreat to a previous version if necessary Being able to recreate all versions of the product that customers have mrmanubansal@gmail.com

Types of Audits In-process audits – verify the consistency of the design as it evolves through the development process Functional audits – verify that functionality and performance are consistent with requirements defined in the SRS Physical audits – verify that the as-built version of software and documentation are internally consistent and ready for delivery Quality system audits – independent assessment of the compliance to the software QA plan mrmanubansal@gmail.com

Configuration Status Accounting Requirements Identifying the types of information that project managers need Identifying the degree of control needed by project management Identifying the reports required and the different audiences for each report Identifying the information required to produce each report mrmanubansal@gmail.com

SCM Summary Change is inevitable Defined procedures are required to manage change without preventing change Software presents many challenges from a control, management, and tracking perspective Knowing what you have and how you got there is very important Being able to recreate exactly what is delivered to customers is essential mrmanubansal@gmail.com