<ul><li>ESSENTIALS OF  </li></ul><ul><li>SOFTWARE CONFIGURATION MANAGEMENT </li></ul>
Software Development and Change <ul><li>Software development involves change </li></ul><ul><ul><li>A defect to be fixed </...
Change Causes Developers Pain <ul><li>Working in isolation, you can’t “see” code changes made by team members </li></ul><u...
Software Configuration Management (SCM) <ul><ul><li>SCM is about managing    change to software </li></ul></ul>
<ul><ul><li>SCM constitutes of good engineering practice for all </li></ul></ul><ul><ul><li>software projects, whether pha...
Software Configuration Management (cont.) <ul><li>A successful SCM effort ensures: </li></ul><ul><ul><li>Safety </li></ul>...
What Is a Version? <ul><li>An element consists of a set of versions, organized into a version tree </li></ul><ul><li>Each ...
Version Control <ul><li>Versions directories and all file types </li></ul><ul><li>Ensures that elements are read-only </li...
Branching Enables Parallel Development <ul><li>Allows different projects to use the same source at the same time </li></ul...
Checkout/Checkin Model <ul><li>When a file is under source control, you check it out to work on it </li></ul><ul><li>A fil...
THANK YOU
Upcoming SlideShare
Loading in …5
×

Essentials of scm

593 views

Published on

Need of the hour is to know the essentials of SCM

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Essentials of scm

  1. 1. <ul><li>ESSENTIALS OF </li></ul><ul><li>SOFTWARE CONFIGURATION MANAGEMENT </li></ul>
  2. 2. Software Development and Change <ul><li>Software development involves change </li></ul><ul><ul><li>A defect to be fixed </li></ul></ul><ul><ul><li>An existing function to be enhanced </li></ul></ul><ul><ul><li>A new feature to be added </li></ul></ul><ul><ul><li>A new platform to support </li></ul></ul><ul><ul><li>A customer-driven special project </li></ul></ul>
  3. 3. Change Causes Developers Pain <ul><li>Working in isolation, you can’t “see” code changes made by team members </li></ul><ul><li>You can’t work in parallel on files that a co-worker is modifying </li></ul><ul><li>You frequently lose time and have to redo work because of lost defects or overwritten code </li></ul><ul><li>You have trouble determining which versions of the code you should be working on </li></ul><ul><li>You have difficulty answering your manager’s questions about project status </li></ul><ul><li>You don’t know who on the team is working on what </li></ul><ul><li>You have no idea which versions of files went into a build </li></ul>
  4. 4. Software Configuration Management (SCM) <ul><ul><li>SCM is about managing change to software </li></ul></ul>
  5. 5. <ul><ul><li>SCM constitutes of good engineering practice for all </li></ul></ul><ul><ul><li>software projects, whether phased development, </li></ul></ul><ul><ul><li>rapid prototyping, or ongoing maintenance. It </li></ul></ul><ul><ul><li>enhances the reliability and quality of software by: </li></ul></ul><ul><ul><ul><li>Providing structure of identifying and controlling documentation, code, interface, and databases to support all lifecycle phases. </li></ul></ul></ul><ul><ul><ul><li>Supporting a chosen development/maintenance methodology that fits the requirements, standards, policies, organization, and management philosophy. </li></ul></ul></ul><ul><ul><ul><li>Producing management and product information concerning the status of baselines, change control, tests, releases, audits, etc. </li></ul></ul></ul>
  6. 6. Software Configuration Management (cont.) <ul><li>A successful SCM effort ensures: </li></ul><ul><ul><li>Safety </li></ul></ul><ul><ul><li>Stability </li></ul></ul><ul><ul><li>Control </li></ul></ul><ul><ul><li>Audit ability </li></ul></ul><ul><ul><li>Reproducibility </li></ul></ul><ul><ul><li>Traceability </li></ul></ul><ul><ul><li>Scalability </li></ul></ul>
  7. 7. What Is a Version? <ul><li>An element consists of a set of versions, organized into a version tree </li></ul><ul><li>Each version represents one revision of a file under source control </li></ul><ul><li>Versions are displayed in a workspace </li></ul>
  8. 8. Version Control <ul><li>Versions directories and all file types </li></ul><ul><li>Ensures that elements are read-only </li></ul><ul><li>Easy checkout-edit-checkin </li></ul><ul><li>Provides reliable version identification </li></ul>
  9. 9. Branching Enables Parallel Development <ul><li>Allows different projects to use the same source at the same time </li></ul><ul><li>Controls public/private work </li></ul><ul><li>Isolates changes </li></ul><ul><ul><li>Temporary, such as new features that have not yet been tested </li></ul></ul><ul><ul><li>Permanent, such as fixing a bug in a retired release </li></ul></ul><ul><ul><li>Prevents roadblocks — development can proceed during an integration period </li></ul></ul>
  10. 10. Checkout/Checkin Model <ul><li>When a file is under source control, you check it out to work on it </li></ul><ul><li>A file is checked out to a work space and a modifiable copy is available to work on </li></ul><ul><li>A placeholder is created in the version tree as the potential successor version </li></ul><ul><li>When you check in the file, a new version is added to the element version tree </li></ul>
  11. 11. THANK YOU

×