4. Why SCM?
4
Multiple people working in a given project
Different versions of documents/Software
Different releases to customers
Need for coordination
&
Streamlined processes
5. SCM
Set of activities designed to manage change
by identifying the work products that are likely to
change
establishing relationship among them
defining mechanisms for managing different
versions of these work products
controlling the changes
auditing and reporting the changes made
5
7. Terminologies
Configuration Items
Set of software and hardware items that needs
configuration control
7
Requirement Documents
Design Documents
Test Documents
Source Code
Executables
Databases
Test Data
Bug reports
Build
Servers
8. Terminologies
Version
Specific version of a configuration item
ECR_BRD V0.1.doc
ECR_BRD V0.2.doc
Baseline
A specification or product that has been formally reviewed and
agreed to by responsible management, that thereafter serves as the
basis for further development, and can be changed only through
formal change control procedures
ECR_BRD V1.0.doc
ECR_BRD V2.0.doc
As systems are developed, there could be different baselines
• Developmental baseline
• Functional baseline
• Product baseline
8
9. Terminologies
Release
Formal distribution of an approved version
May be to testing team, implementation team or to customer
SCM Directories or SCM Repository
Set of mechanisms and data structures that allow a team to
manage change in an effective manner.
9
12. SCM Process
Identification of CI
Identify and name each item separately
Categorize
Change Control
Change request
Approval/Rejection by change control board
Checkout CI
Make Changes
Review and Check in changes
Version Control
Procedures to manage different versions of CI
12Note : CI : Configuration Item
13. SCM Process
Configuration audit
Ensure configuration plan is adhered to
Any non compliance identified
Any corrective measures
Reporting
Status of configuration audit – Who did what, when and what
else is affected
13
15. CM Plan
At project level
Defines
The type of CI to be managed
The naming scheme of the items
Policies for change control, versioning, release management
Roles and responsibilities of Configuration Manager, Project
Manager and other team members
Tools to be used for CM
Audit processes
15
17. Change Management
Change requests
From customers
From market forces
From developers
Change Management deals with
Managing the changes
Keeping track of the changes
Implementing in a cost effective manner
17
18. Change Management Process
Request change by completing a change request
form
Analyze the change request
Access how the change may be implemented
Access change cost
Submit change to Change Control Board (CCB)
If change is accepted by CCB, implement change
Reject change
If change incurs huge cost/effort Move to next release
/enhancement
18
19. Version & Release Management
Identification of versioning process & numbering
mechanism
Major Release
Minor Release
Maintenance Release
Patches
Releases
To team outside development team
To Testing Team
To Customers
19
20. Role of Configuration Manager
Identify configuration items
Define policies and procedures for change
management
Define versioning, baselining , build and release
procedures
Prepare configuration management plan
Configuration control
Configuration audit
Configuration reporting
20
21. SCM Tools
Microsoft Visual Source Safe (VSS)
Concurrent version system (CVS)
Subversion (SVN)
ClearCase
SourceForge
Rational Team Connect (RTC)
Microsoft Team Foundation Server (TFS)
21
Version An instance of a system which is functionally distinct in some way from other system instances.
Variant An instance of a system which is functionally identical but non-functionally distinct from other instances of a system.
Release An instance of a system which is distributed to users outside of the development team.