Voyager scm
-
Upload
sivaprasanth-rentala -
Category
Education
-
view
943 -
download
1
description
Transcript of Voyager scm
![Page 1: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/1.jpg)
Software Configuration Management
(SCM)[1.0]
VOYAGER
L&T Information Technology Ltd.
![Page 2: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/2.jpg)
Contents
Characteristics of Today’s Software industry
SCM Concepts and terminology
Why Software configuration management?
Requirements of Configuration management
Standard reports
Typical Uses of SCM
![Page 3: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/3.jpg)
The Fundamental Law of Configuration Management
Configuration Management is the foundation of a software project. Without it, no matter how talented the staff, how large the budget, how robust the development and test processes, or how technically superior the development tools, project discipline will collapse and success will be left to chance. Do Configuration Management right, or forget about improving your development process.
![Page 4: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/4.jpg)
Why did the Tower of Babel fail?
The Tower of Babel project failed because of lack of communication and organization
![Page 5: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/5.jpg)
Today's Software industry characteristics
are..
![Page 6: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/6.jpg)
Characteristic 1 -
Coordination & Communication
Men and months cannot be interchanged
Fred Brooks
• Number of communication channels increase exponentially with number of team members - the number of coordination problems also increase exponentially with the project size.
![Page 7: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/7.jpg)
Communication Channels
![Page 8: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/8.jpg)
# Team Members #Communication Channels
1 0
2 1
3 3
4 6
5 10
….. …..
n n*(n-1)/2
![Page 9: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/9.jpg)
Characteristic 2 -
Software is Easy to Copy
![Page 10: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/10.jpg)
Characteristic 3 -
Changes
• Different users / customers have different requirements
• Get clarified / known at a later date
• Changes to business environment
• Technology change
• Personnel whims
![Page 11: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/11.jpg)
Characteristic 4 -
Personnel Turnover
• Developers leave
• Users change
Further Adds to the Coordination problem
![Page 12: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/12.jpg)
Resulting Problems
• Listing seems OK; program does not work
• Works in Bombay, misbehaves in Delhi
• We had customized for this client, how do we install the upgrade now?
• I had fixed this bug last month. How did it re-appear?
• I haven’t changed the program. Why is it now blowing up?
• Which is the latest source? I need to put a patch.
• In the last month, the user asked for this change and now she does not want it
• Where did Gates leave the programs he was working on?
![Page 13: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/13.jpg)
Main Classes of Problems
• Double maintenance problems
• Shared data
• Simultaneous update
• Missing / unknown version problem
![Page 14: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/14.jpg)
Double Maintenance
• Multiple copies of same software in use
• Fix in one
- SHOULD FIX IN OTHERS
• Example
- Same set of common routines in two systems
- Same system - multiple sites
• forget to inform
• sites detect bug at same time and “fix” differently
• = = > > DIVERGENCE
• Should do
- Bug fixed in all copies
- Fix same bug in identical manner in all copies
![Page 15: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/15.jpg)
Shared Data
• Changes made in one program interfere with proper functioning of other program
- Example : subroutines, MW objects
• Need
- Control of modifications
- Good communications
![Page 16: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/16.jpg)
Simultaneous Update
• One module being worked on by more than one programmer
- Changes made by one programmer disappear
• Need
- Better division into modules
- Ensure simultaneous working
![Page 17: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/17.jpg)
Missing / unknown Version problem
• Consciously decide which version to keep, which to destroy
• Use a systematic method to identify versions and changes across versions
• Use consistent back-up procedures
?
![Page 18: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/18.jpg)
Why Software Configuration Management
• SCM addresses all these issues!!
AbracadabAbracadabrara
![Page 19: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/19.jpg)
SCM provides visibility into the status of the evolving software product.
SCM answers the following: Who, What, When, and Why.
• Who made the changes?
• What changes were made to the software?
• When were the changes made?
• Why were the changes made?
Who will benefit from SCM(Importance in descending order) :
• Software developers
• Project managers
• Quality Assurance (QA) personnel
• Testers
• Customer
![Page 20: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/20.jpg)
Program Families & Configurations
A
D
E
B
C
F
A
CLIENT-1
DG
B
W
E
F
CLIENT-2
Applications
Applications
![Page 21: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/21.jpg)
AD
E
B C
F
G W
CLIENT-A
A
B
C
D
E
F
CLIENT-B
A
B
D
E
F
G
W
Applications
![Page 22: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/22.jpg)
SCMConcepts & Terminology
![Page 23: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/23.jpg)
Definitions
The arrangement of a computer system or component as defined by the number, nature, and interconnections of its constituent parts
Configuration
The art of identifying, organizing and controlling modifications to the software being built by a programming team. The goal is to maximize productivity by minimizing mistakes.
Configuration Management
![Page 24: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/24.jpg)
Configuration Management
![Page 25: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/25.jpg)
Configuration Identification
The approved documentation or description that identifies and defines a configuration item's (CI) functional and physical characteristics in the form of a specification or standard, algorithm or code, and interface control description.
A
BC
D
![Page 26: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/26.jpg)
Configuration Control
• Evaluation, coordination, approval or disapproval, and implementation of changes to configuration items after formal establishment of their configuration identification
![Page 27: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/27.jpg)
Configuration Status Accounting
• Recording and reporting of information needed to manage a configuration effectively. Includes a listing of the approved configuration identification, the status of the proposed changes to the configuration identification, and the implementation status of approved changes.
CI = 30
CR = 2
PR = 1
![Page 28: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/28.jpg)
Configuration Audit
• Verifying the following:
•All required configuration items have been produced
•The current version agrees with the specified requirements
•The technical documentation completely and accurately describes that configuration items
•All change requests have been resolved
![Page 29: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/29.jpg)
Requirements of Configuration Management
![Page 30: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/30.jpg)
CM Requirements
• Identification of Configuration Items
• Establishment of Baselines
• Document control
• Version control
• Management of Workspaces
• Creation of Builds
• Backup & Archival
• Management of Changes to Baselined Configuration Items
• Status Accounting
• Configuration Audits
![Page 31: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/31.jpg)
Configuration Items and Baselines
• Configuration Item
- An aggregation of software, documents and data that is treated as a single entity in the configuration management process
There are 3 types of CIs:
Baselined – Formally reviewed and agreed document/source code, which is basis for, further development. E.g. Requirement specification document, design document etc.
Controlled and Managed – Documents describing the admin and project Management activities. E.g. Project management plan, task allocation and project schedule documents, coding or GUI guidelines
Controlled – Documents obtained from the customer which are not managed by us. E.g. reference technical material.
![Page 32: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/32.jpg)
• What is Baseline?
- A item 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 procedures
![Page 33: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/33.jpg)
Configuration Items & Baselines - Typical Scenario
• Definition Baseline - Created at the end of Requirement Specifications. Typical configuration items (CI) -
- Requirement Specifications
- Project Plan
- Design Standards / Guidelines
- Acceptance Test Plan
• Design Baseline - Created at the end of Design. Typical CIs -
- System Design Specification
- Program Specification
- Data Base Design
- Coding Standards
- System Test Plan
- User Manual
- User Interface Standards
- Testing Standards
![Page 34: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/34.jpg)
• Code / Unit Test Baseline - Created at the end of coding and unit. Typical configuration items (CI) -
- source code
- object code
- unit test data / scripts
• Testing Baseline - Created at the end of system testing . Typical CIs -
- System test data
- system test scripts
- operations manual
- installation manual
![Page 35: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/35.jpg)
Definition Baseline Creation - A schematic
Individual workspaces
Internal review changes
Definition Baseline
Internal review Workspace
Customer Review Workspace
Formal change management procedures become applicable
Configuration Audit
Review Log
Review Log
![Page 36: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/36.jpg)
Document control• Document Control procedure ensures the
traceability of all the documents.
It involves the following tasks: Defining the naming scheme. Updating Document Record List (DCR) of
the documents to reflect the changes and assigning of version and release nos.
Provides usage of the documents by giving access rights to different folders.
MyName is
Mr.Unique
![Page 37: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/37.jpg)
Version• A variant of some artifact; later
versions of an artifact typically expand on earlier versions.
Version Control• Version Control ensures the ability to
reproduce any version of the software at any given time. It controls versions of source code, executables and documents .It provides version change history to ensure trace-ability.
A1
A2A3A4
![Page 38: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/38.jpg)
An operational version of a system or part of a system that demonstrates a subset of the capabilities to be provided in the final product.
![Page 39: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/39.jpg)
Work space management• Workspaces refer to ‘private’ areas
where developers can implement and test code in accordance with the project’s adopted standards in relative isolation from other developers.
![Page 40: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/40.jpg)
• Uncertainty is the only certain in this world.
Why Backup?
![Page 41: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/41.jpg)
Change Control
![Page 42: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/42.jpg)
I can make the change directly in the baseline copy. Its just a one line change, so I don’t want to fool around with Change Request, check-out, check-in, etc
![Page 43: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/43.jpg)
Change Control
• Record of changes
• Approval of change requests after analysing impacts (impact on retest & review, think it as another proposed)
• Maintaining of baselines
• Traceability between changes and change requests and vice versa
IEEE 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
![Page 44: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/44.jpg)
Change Management Process
Change request documented
Change request Evaluated
Change request reviewed for approval CCB approved
Change order prepared
Configuration items, tasks, QC required is documented
Configuration items checked out
Change made; QC activities carried out
Configuration audit carried out
Changed items carried out
New product release made
Pending rejected
![Page 45: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/45.jpg)
Change Request
XYZ Software Corp. Change Request
Project: Initiated By: Date:
Description of Change Requested:
Benefits Expected:
Signature of Initiator: Attachments:
Evaluated by: Change Request No.
Technical Impacts:
Estimates for costs and schedule
Signature of evaluator: Attachments
Date:
Approving Auth Signature Date
Recommendations
Change Order Number
![Page 46: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/46.jpg)
![Page 47: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/47.jpg)
Change Control Board (CCB)
• Also called Configuration Control Board
• A group of people responsible for evaluating and approving and disapproving proposed changes to configuration items, and for implementation of approved changes.
• Typical CCB members
- Project Manager
- User Representative
- Quality Controller
- Configuration Controller
![Page 48: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/48.jpg)
Some Good Practices
• Keep version history in the configuration item.
• Item to contain exact item name, version number, date
• Identify configuration items to be tracked
• Code should have history in the comment
• Highlight the changes in the document atleast for two versions.
![Page 49: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/49.jpg)
Configuration Audit
![Page 50: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/50.jpg)
Configuration Audits
• To ensure that what has been built is in conformance with what was required (original specifications and change requests) by analysing :
- Test reports
- review reports
- change logs
Definition
Verification of a configuration item’s compliance with its configuration identification
![Page 51: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/51.jpg)
Status Accounting
An ounce of derivation is worth a pound of analysis
- Wayne Babich
![Page 52: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/52.jpg)
Configuration Status Accounting & Reporting
• Keep track of
- Current identification of items
- Configuration of delivered software
- Status of change requests / problem reports
- Status of approved changes
IEEE Definition
An element of configuration management, consisting of the recording and reporting of information needed to manage a configuration effectively
![Page 53: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/53.jpg)
Typical Information
Baseline Library
Items / Units
Baseline Units
Release
Release Units
Change OrderBackup
Backup Units
Check-in / Check-out
Change Request/ Problem Log
![Page 54: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/54.jpg)
Standard Reports
• Summary list Change Requests / Problem Reports
• List of CR / PR pending approval
• Summary list of Change Orders
• List of Change Orders pending completion
• Items and versions of a Baseline
• Current set of units in the library
• List of changes since Baseline
• List of checked-out items
• History of backups
• History of releases
• List of items / versions in a baseline
• List of items / version in a release
![Page 55: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/55.jpg)
Typical Uses of the Configuration Accounting Data
• In which backup is version 1.6 of P13?
• What are the program level changes between release 5.1 and 5.2?
• Which programs were replaced in release 5.2?
• Which items were changed for Change Order 671? What were the versions of the units before and after the change? Have all the changes been incorporated and checked-in?
![Page 56: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/56.jpg)
![Page 57: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/57.jpg)
Can we make SCM happen?
![Page 58: Voyager scm](https://reader036.fdocuments.us/reader036/viewer/2022081717/54b6667a4a79592d298b45f7/html5/thumbnails/58.jpg)
Thank You