Voyager scm

  • View
    895

  • Download
    1

Embed Size (px)

DESCRIPTION

 

Text of Voyager scm

  • 1. Software Configuration Management (SCM) [1.0] VOYAGER L&T Information Technology Ltd.
  • 2. Contents Characteristics of Todays Software industry SCM Concepts and terminology Why Software configuration management? Requirements of Configuration management Standard reports Typical Uses of SCM
  • 3. 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.
  • 4. Why did the Tower of Babel fail? The Tower of Babel project failed because of lack of communication and organization
  • 5. Today's Software industry characteristics are..
  • 6. 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.
  • 7. Communication Channels
  • 8. # Team Members #Communication Channels 1 0 2 1 3 3 4 6 5 10 .. .. n n*(n-1)/2
  • 9. Characteristic 2 - Software is Easy to Copy
  • 10. Characteristic 3 - Changes
    • Different users / customers have different requirements
    • Get clarified / known at a later date
    • Changes to business environment
    • Technology change
    • Personnel whims
  • 11. Characteristic 4 - Personnel Turnover
    • Developers leave
    • Users change
    Further Adds to the Coordination problem
  • 12. 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 havent 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?
  • 13. Main Classes of Problems
    • Double maintenance problems
    • Shared data
    • Simultaneous update
    • Missing / unknown version problem
  • 14. 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
  • 15. Shared Data
    • Changes made in one program interfere with proper functioning of other program
      • - Example : subroutines, MW objects
    • Need
      • - Control of modifications
      • - Good communications
  • 16. 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
  • 17. 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
    ?
  • 18. Why Software Configuration Management
    • SCM addresses all these issues!!
    Abracadabra
  • 19.
    • 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
  • 20. Program Families & Configurations A D E B C F A CLIENT-1 D G B W E F CLIENT-2 Applications Applications
  • 21. A D E B C F G W CLIENT-A A B C D E F CLIENT-B A B D E F G W Applications
  • 22. SCM Concepts & Terminology
  • 23. 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
  • 24. Configuration Management
  • 25. 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 B C D
  • 26. Configuration Control
    • Evaluation, coordination, approval or disapproval, and implementation of changes to configuration items after formal establishment of their configuration identification
  • 27. 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
  • 28. 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
  • 29. Requirements of Configuration Management
  • 30. 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