SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Software Configuration Management
        Principles and Practices




            By Guy Davis,
    Stephane Saleh and Kejin Huang
Abstract
  The concept (Kejin)
ļ¬
ļ¬ Basic principles (Guy)
ļ¬ SCM Automation and Tools (Stephane)
ļ¬ SCM in the Future (Stephane)
ļ¬ Tools comparison (Kejin)
Introduction
Configuration Management(CM) is a
documentation system for tracking the
work.
History
    1980, Bersoff, E. H., Henderson, V.D., and
ļ¬
    Siegel, S. G. Software Configuration
    Management. Prentice-Hall.
    1984, The British Standard BS 6488
ļ¬
    1987, IEEE Guide to Software Configuration
ļ¬
    Management 1987. IEEE/ANSI Standard
    1042-1987.
    1987, U. S. Department of Defense. DoD
ļ¬
    2167a Standard 1987. DoD.
Why SCM is needed
    The project body
ļ¬
    The project may be big. When a change is made in a shared
    component, the user may not be notified. (The change may be a bug
    fix or an improvement.)

    The time
ļ¬
    The development progress steps may last long. When the versions
    become a tree, the bugs could appear or disappear in different nodes.

    The people
ļ¬
    A lot of people may be involved. A simultaneous update may destroy
    the othersā€™ work.
The goal (why)
    To have change activity converge
ļ¬
    Controlling ad-hoc change creates a stable
ļ¬
    software development environment
    Control of change is a major part of baseline
ļ¬
    management
    SCM co-ordinates access to change of the
ļ¬
    software work products which is particularly
    important when there is more than one
    individual work on a software work product
Concept
    ā€œConfiguration management involves the collection
ļ¬
    and maintenance of data concerning the hardware
    and software of computer systems that are being
    used.ā€ [SIMON & DENNIS - Ref 1]
    ā€œCM embodies a set of techniques used to help
ļ¬
    define, communicate and control the evolution of a
    product or system through its concept, development,
    implementation and maintenance
    phases.ā€ [SWEETMAN - Ref 2]
    ā€œCM, a key concept in the Information Age, is a set of
ļ¬
    systematic controls to keep information up to date
    and accurate.ā€ [MORRIS - Ref 3]
Concept (contā€™d)
  ā€œA discipline applying technical and
ļ¬
  administrative direction and surveillance
  to. ā€¦ā€ (IEEE)
ļ¬ ā€œA collection of hardware, software,
  and/or firmware, which satisfies an end-
  use function and is designated for
  configuration management.quot; (ISO)
What is not
  Just version management
ļ¬
ļ¬ Just change management
ļ¬ Just a build-and-release tool
ļ¬ An administration tool
The Scope
Principles of SCM
ļ¬ Configuration Identification
  ā€“ Baselines
ļ¬ Change Control
ļ¬ Configuration Status Accounting
ļ¬ Configuration Audits and Reviews
  ā€“ SCM metrics
Configuration Identification
ļ¬ SCM Planning document
  ā€“ Objectives, responsibilities, and methods
ļ¬ Identify configuration items:
  ā€“ Independent components of the system
ļ¬ Logical configuration hierarchy
  ā€“ Object-based view
  ā€“ Directory-based view
Baselines
ļ¬ Complete status of a CI at a given time
ļ¬ Know quality and functionality
ļ¬ Unchangeable and able to recreate




            Mozilla SCM Roadmap
Change Control
ļ¬ Control change between baselines
ļ¬ Various levels of control
  ā€“ Open policy (no control, just tracking)
  ā€“ Informal code review by module owner
  ā€“ Change Control Board (CCB)
ļ¬ Tailor level to organization and project
Configuration Status
            Accounting
ļ¬ Monitor status of CIs and change
  requests
  ā€“ Complete listing of all changes since last baseline
    (including who, what, when)
  ā€“ Ideally changes should be traceable to rationale
ļ¬ Allows tracking of progress to next
  baseline
ļ¬ Allows for previous releases/versions to
  be extracted for testing
Configuration Audits
            and Reviews
ļ¬ Validation of completeness and consistency
ļ¬ SCM audits occur during project transitions
  ā€“ Requirements, design, implementation, test, ā€¦
ļ¬ Ensures that SCM plan is being followed
ļ¬ Useful to review SCM metrics gathered
ļ¬ Feedback allows process improvement
Implementation Issues
  Requires champions, sponsors, agents
ļ¬
ļ¬ Requires planning (SCMP)
ļ¬ Requires training and documentation
ļ¬ Requires maintenance
ļ¬ Can be measured and improved
SCM Automation
ļ¬ Why Automation?
- Difficult to manage developments
  by large teams operating at different
  remote sites
- Projects are becoming bigger and more
  complex
SCM Automation (contā€™d)




     (A. Brown, S. Dart, P. Feiler, K. Wallnau, 1991)
SCM Automation (contā€™d)
ļ¬ Components Concepts
- Component concepts help identify and access
  components of a software product.
- Requirements covered: version control,
  configuration, repository, etc.
- Example of tools or systems: Revision Control
  System (RCS), Sherpa Design Management
  System (DMS)
SCM Automation (contā€™d)
ļ¬ Structure and Construction Concepts
- Concepts that deal with capturing changes to
  a component and its structure.
- Requirements covered: building, optimizing ,
  recording information to allow regeneration of
  components, etc.
- Example of tools or systems: Aide-De-Camp
  (ADC), Jasmine system model, Rationalā€¦
SCM Automation (contā€™d)
ļ¬ Team Concepts
- Concepts that help with the co-ordination and
  synchronization of software engineering
  teams working on a project.
- Requirements covered: work areas for
  isolating work, synchronizing, concurrent
  workā€¦
- Example of tools or systems : Shape,
  Software Management System (SMS),
  Network Software Environment (NSE)
SCM Automation (contā€™d)
ļ¬ Process Concepts
- Concepts that are related to process
  functionalities.
- Requirements covered: lifecycle support, task
  management, communication and
  automatically recording information.
- Example of tools or systems : PowerFrame,
  ISTAR, LIFESPAN, Change and Configuration
  Control (CCC)
Tool Class 1
Code or Developer oriented CM tools only
supply the code management, version
control, including check-in, check-out,
merge, etc.
Tool Class 2
ļ¬ Process oriented CM tools also supply management
  for software development activities. It may cover:
ļ¬ Version Control
ļ¬ Change Control
ļ¬ Product Management
ļ¬ Problem Tracking
ļ¬ Activity Tracking
ļ¬ Build Management
ļ¬ Document Management
ļ¬ Requirements Tracking.
SCM Challenges
ā€¢   Technological Issues
ā€¢   Process-Oriented Issues
ā€¢   Managerial Issues
ā€¢   Political Issues
ā€¢   Standardization Issues
SCM Challenges (contā€™d)
ā€¢ Technological Issues
-   Switching CM Capabilities
-   Interoperability between CM
-   Global Perspective on CM
-   Repositories
-   Distributed CM
-   Perfective Maintenance Support
SCM Challenges (contā€™d)
ā€¢ Process-oriented Issues
ā€¢ Political Issues
ā€¢ Standardization Issues
Q/A
Tool Index (contā€™d)
ļ¬ FtpVC                   http://www.nisnevich.com/ftpvc/ftpvc.htm.
ļ¬ PERFORCE                http://www.perforce.com/
ļ¬ PVCS                    http://www.merant.com/
ļ¬ QEF                     http://www.qef.com/
ļ¬ QVCS                             http://www.qumasoft.com/.
ļ¬ RAZOR                   http://www.razor.visible.com/
ļ¬ SABLIME                 http://www.bell-labs.com/project/sablime
ļ¬ Software Manager (MKS) http://www.verticalsky.com/solutions/
ļ¬ Source Code Manager     http://www.unipress.com/free_evals/
ļ¬ StarTeam                http://www.starbase.com/.
ļ¬ TeamConnection (IBM)    http://www.software.ibm.com/ad/teamcon/
ļ¬ TLIB                    http://www.burtonsys.com/.
ļ¬ CVS                      http://www.cvshome.org/
Comparison
                +1CM   AccuRev   AllChange   CCC   Change Man   ClearCase
Ā 


Client/server                                           Ā 
                 ļ”         ļ”        ļ”        ļ”                     ļ”
Graphical GUI                                           Ā 
                 ļ”         ļ”        ļ”        ļ”                     ļ”
Basic CM                                                Ā 
                 ļ”         ļ”        ļ”        ļ”                     ļ”
commands
Baselines                                               Ā 
                 ļ”         ļ”        ļ”        ļ”                     ļ”
Report                 Ā                       Ā          Ā            Ā 
                 ļ”                  ļ”
Auto-make              Ā                       Ā          Ā 
                 ļ”                  ļ”                              ļ”
Integration       Ā                                                  Ā 
                           ļ”        ļ”        ļ”         ļ”
with other
tools
Life-cycle        Ā         Ā                             Ā            Ā 
                                    ļ”        ļ”
support
Tool Class       1         2         2        2        2            1
Comparison (contā€™d)
                   CM Synergy   CMF   Code Co-op   CMVS   CMZ   CONTROL-
                                                                CS
Client/server          ļ”        ļ”         ļ”         ļ”     ļ”        ļ”
Graphical GUI           Ā         Ā          Ā                Ā         Ā 
                                                    ļ”
Basic CM                Ā         Ā          Ā          Ā               Ā 
                                                          ļ”
commands
Baselines                                                           Ā 
                       ļ”        ļ”         ļ”         ļ”     ļ”
Report                  Ā         Ā          Ā                Ā         Ā 
                                                    ļ”
Auto-make               Ā                   Ā          Ā      Ā         Ā 
                                ļ”
Integration                      Ā          Ā                Ā         Ā 
                       ļ”                            ļ”
with other tools

Life-cycle              Ā                   Ā          Ā      Ā         Ā 
                                ļ”
support
Class Tool              2        2         1        2      1        1
Comparison (contā€™d)
                     DSM   eChange   FtpVC   NeumaC   PerFORCE   PVCS
Ā 
                           Man               M+
Client/server         ļ”      ļ”        ļ”        ļ”        ļ”         ļ”
Graphical GUI          Ā       Ā          Ā        Ā          Ā         Ā 

Basic CM                              Half
                      ļ”      ļ”                 ļ”        ļ”         ļ”
commands
Baselines             ļ”      ļ”        ļ²        ļ”        ļ”         ļ”
Report                 Ā       Ā          Ā        Ā          Ā         Ā 

Auto-make                               Ā                  Ā         Ā 
                      ļ”      ļ”                 ļ”
Integration with                        Ā                  Ā 
                      ļ”      ļ”                 ļ”                  ļ”
other tools

Life-cycle support     Ā       Ā          Ā                  Ā         Ā 
                                               ļ”
Class Tool            2       2        1        2        1         1
Comparison (contā€™d)
                   QEF   QVCS   RAZOR   SABLI   Software   Source Code
                                        ME      Manager    Manager
Client/server      ļ”      ļ”      ļ”       ļ”         ļ”            ļ”
Graphical GUI             ļ”              ļ”                      ļ”
Basic CM           ļ”      ļ”      ļ”                 ļ”            ļ”
commands
Baselines          ļ”      ļ”      ļ”       ļ”         ļ”            ļ”
Report                           ļ”                 ļ”            ļ”
Auto-make                        ļ”
Integration with   ļ”                     ļ”                      ļ”
other tools

Life-cycle                               ļ”         ļ”
support
Class Tool          2      1      2       2         2           2
Comparison (contā€™d)
                   StarTeam      TeamConne   TeamW   TLIB   TRUEchange
                                 ction       are
Client/server          ļ”            ļ”         ļ”       ļ”          ļ”
Graphical GUI          ļ”                      ļ”
Basic CM               ļ”            ļ”         ļ”       ļ”          ļ”
commands
Baselines              ļ”            ļ”         ļ”       ļ”          ļ”
Report

Auto-build                                    ļ”
Integration with     ļ”PVCS
other tools         SourceSafe
                     MsProject
Life-cycle
support
Class Tool              2            2         2       1         1
Comparison (contā€™d)
                   VisualEnabler   Visual          MainSoft   Voodoo    CVS
                                   SourceSafe      VSS

Client/server            ļ”             ļ”              ļ”         ļ”        ļ”
Graphical GUI            ļ”             ļ”              ļ”         ļ”        ļ”
Basic CM                 ļ”             ļ”              ļ”         ļ”        ļ”
commands
Baselines                ļ”             ļ”              ļ”         ļ”        ļ”
Report

Auto-build                             ļ²
Integration with                       ļ”              ļ”                  ļ”
other tools                         VisualStudio                       Cervisia,
                                                                       WinCVS
Life-cycle
support
                          1              1             1         1        1
Class Tool
References

    A. Brown, S. Dart, P. Feiler, K. Wallnau. The State of Automated Configuration
ļ¬
    Management, Software Engineering Institute. Carnegie Mellon University. 1991.
    http://www.sei.cmu.edu/legacy/scm/abstracts/absatr_cm_state.html
    Berlack, R.H. Evaluation & Selection of Automated Configuration Management
ļ¬
    Tools. 1995. http://www.stsc.hill.af.mil/crosstalk/1995/nov/evaluati.asp
    Dart, Susan. Concepts in Configuration Management. Software Engineering Institute.
ļ¬
    Carnegie Mellon University. 1991. http://www.sei.cmu.edu/legacy/scm/abstracts/
    abscm_concepts.html
    Eich, Brendan. Mozilla Tree Management Roadmap. Mozilla Organization. 2002. http://
ļ¬
    www.mozilla.org/roadmap.html
    Humphrey, Watts S. Managing the Software Process. Addison-Wesley Publishing
ļ¬
    Company. Reading, Massachusetts. 1990
    Kelly, Marion. Configuration Management: The Changing Image McGraw-Hill U.K.,
ļ¬
    1996.
    Menks, D. Software Configuration Management. University Of Calgary. 2001.
ļ¬

    http://www.ucalgary.ca/~dbmenks/seng/seng621/scm.html

Weitere Ƥhnliche Inhalte

Was ist angesagt?

SE2_Lec 22_Software Configuration Management
SE2_Lec 22_Software Configuration ManagementSE2_Lec 22_Software Configuration Management
SE2_Lec 22_Software Configuration ManagementAmr E. Mohamed
Ā 
Configuration Management
Configuration ManagementConfiguration Management
Configuration ManagementRajesh Kumar
Ā 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Managementelliando dias
Ā 
Software configuration management in deep
Software configuration management in deepSoftware configuration management in deep
Software configuration management in deepFƔber D. Giraldo
Ā 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Managementelliando dias
Ā 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)Nishkarsh Gupta
Ā 
Software configuration management
Software configuration managementSoftware configuration management
Software configuration managementJulia Carolina
Ā 
Introduction To Software Configuration Management
Introduction To Software Configuration ManagementIntroduction To Software Configuration Management
Introduction To Software Configuration ManagementRajesh Kumar
Ā 
A Brief Introduction to Software Configuration Management
A Brief Introduction to Software Configuration ManagementA Brief Introduction to Software Configuration Management
A Brief Introduction to Software Configuration ManagementMd Mamunur Rashid
Ā 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)Er. Shiva K. Shrestha
Ā 
Configuration management
Configuration managementConfiguration management
Configuration managementashamarsha
Ā 
Configuration Management
Configuration ManagementConfiguration Management
Configuration ManagementSaqib Raza
Ā 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration ManagementArunnima B S
Ā 
Software configuration items
Software configuration itemsSoftware configuration items
Software configuration itemsashok kumar
Ā 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Managementsslovepk
Ā 
Configuration Management Best Practices
Configuration Management Best PracticesConfiguration Management Best Practices
Configuration Management Best PracticesTechWell
Ā 
Change And Configuration Management Market Volume Analysis, size, share and K...
Change And Configuration Management Market Volume Analysis, size, share and K...Change And Configuration Management Market Volume Analysis, size, share and K...
Change And Configuration Management Market Volume Analysis, size, share and K...Monica Nerkar
Ā 
Process Document - Configuration Management Drilldown
Process Document - Configuration Management DrilldownProcess Document - Configuration Management Drilldown
Process Document - Configuration Management DrilldownLaurie Sheehan, PMP
Ā 

Was ist angesagt? (20)

SE2_Lec 22_Software Configuration Management
SE2_Lec 22_Software Configuration ManagementSE2_Lec 22_Software Configuration Management
SE2_Lec 22_Software Configuration Management
Ā 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
Ā 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
Ā 
Software configuration management in deep
Software configuration management in deepSoftware configuration management in deep
Software configuration management in deep
Ā 
5. scm
5. scm5. scm
5. scm
Ā 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
Ā 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
Ā 
Software configuration management
Software configuration managementSoftware configuration management
Software configuration management
Ā 
Introduction To Software Configuration Management
Introduction To Software Configuration ManagementIntroduction To Software Configuration Management
Introduction To Software Configuration Management
Ā 
A Brief Introduction to Software Configuration Management
A Brief Introduction to Software Configuration ManagementA Brief Introduction to Software Configuration Management
A Brief Introduction to Software Configuration Management
Ā 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
Ā 
Change Management
Change ManagementChange Management
Change Management
Ā 
Configuration management
Configuration managementConfiguration management
Configuration management
Ā 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
Ā 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
Ā 
Software configuration items
Software configuration itemsSoftware configuration items
Software configuration items
Ā 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
Ā 
Configuration Management Best Practices
Configuration Management Best PracticesConfiguration Management Best Practices
Configuration Management Best Practices
Ā 
Change And Configuration Management Market Volume Analysis, size, share and K...
Change And Configuration Management Market Volume Analysis, size, share and K...Change And Configuration Management Market Volume Analysis, size, share and K...
Change And Configuration Management Market Volume Analysis, size, share and K...
Ā 
Process Document - Configuration Management Drilldown
Process Document - Configuration Management DrilldownProcess Document - Configuration Management Drilldown
Process Document - Configuration Management Drilldown
Ā 

Ƅhnlich wie Software Configuration Management

PHX Session #1: Development Best Practices And How Microsoft Helps
PHX Session #1: Development  Best  Practices And  How  Microsoft  HelpsPHX Session #1: Development  Best  Practices And  How  Microsoft  Helps
PHX Session #1: Development Best Practices And How Microsoft HelpsSteve Lange
Ā 
Axway Managed Services for Exchange and Integration Platform
Axway Managed Services for Exchange and Integration PlatformAxway Managed Services for Exchange and Integration Platform
Axway Managed Services for Exchange and Integration PlatformJean-Claude Bellando
Ā 
Architecture Enforcement Aspects Itarc2009
Architecture Enforcement Aspects Itarc2009Architecture Enforcement Aspects Itarc2009
Architecture Enforcement Aspects Itarc2009Srini Penchikala
Ā 
Architecture Enforcement Aspects Itarc2009
Architecture Enforcement Aspects Itarc2009Architecture Enforcement Aspects Itarc2009
Architecture Enforcement Aspects Itarc2009guest2b8cd
Ā 
Advanced Process Optimization - Services
Advanced Process Optimization - ServicesAdvanced Process Optimization - Services
Advanced Process Optimization - Servicesjmerschat
Ā 
[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process Models[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process ModelsCarles FarrƩ
Ā 
Service Oriented Architecture 10 0
Service Oriented Architecture 10 0Service Oriented Architecture 10 0
Service Oriented Architecture 10 0Nigel Tebbutt
Ā 
"How To Build A Change Control System in a SharePoint PMIS" for SPTech Confer...
"How To Build A Change Control System in a SharePoint PMIS" for SPTech Confer..."How To Build A Change Control System in a SharePoint PMIS" for SPTech Confer...
"How To Build A Change Control System in a SharePoint PMIS" for SPTech Confer...Dux Raymond Sy
Ā 
Appdynamics Training Session
Appdynamics Training SessionAppdynamics Training Session
Appdynamics Training SessionCodvaTech Labs
Ā 
Adopting Agile Tools & Methods In A Legacy Context
Adopting Agile Tools & Methods In A Legacy ContextAdopting Agile Tools & Methods In A Legacy Context
Adopting Agile Tools & Methods In A Legacy ContextXavier Warzee
Ā 
Integrated Business Intelligence and Data Warehouse
Integrated Business Intelligence and Data WarehouseIntegrated Business Intelligence and Data Warehouse
Integrated Business Intelligence and Data WarehouseArie Sutiarso
Ā 
Test Expo 2009 Site Confidence & Seriti Consulting Load Test Case Study
Test Expo 2009   Site Confidence & Seriti Consulting   Load Test Case StudyTest Expo 2009   Site Confidence & Seriti Consulting   Load Test Case Study
Test Expo 2009 Site Confidence & Seriti Consulting Load Test Case StudyStephen Thair
Ā 
Web Site Redesign
Web Site RedesignWeb Site Redesign
Web Site RedesignNima Niakan
Ā 
Automate your way to agility
Automate your way to agilityAutomate your way to agility
Automate your way to agilityYuval Yeret
Ā 
Cognizant's Zero Deviation Life Cycle - an Overview
Cognizant's Zero Deviation Life Cycle - an OverviewCognizant's Zero Deviation Life Cycle - an Overview
Cognizant's Zero Deviation Life Cycle - an OverviewDr. Bippin Makoond
Ā 
Designing and Deploying Internet-Scale Services
Designing and Deploying Internet-Scale ServicesDesigning and Deploying Internet-Scale Services
Designing and Deploying Internet-Scale Servicesbigqiang zou
Ā 

Ƅhnlich wie Software Configuration Management (20)

PHX Session #1: Development Best Practices And How Microsoft Helps
PHX Session #1: Development  Best  Practices And  How  Microsoft  HelpsPHX Session #1: Development  Best  Practices And  How  Microsoft  Helps
PHX Session #1: Development Best Practices And How Microsoft Helps
Ā 
Axway Managed Services for Exchange and Integration Platform
Axway Managed Services for Exchange and Integration PlatformAxway Managed Services for Exchange and Integration Platform
Axway Managed Services for Exchange and Integration Platform
Ā 
Architecture Enforcement Aspects Itarc2009
Architecture Enforcement Aspects Itarc2009Architecture Enforcement Aspects Itarc2009
Architecture Enforcement Aspects Itarc2009
Ā 
Architecture Enforcement Aspects Itarc2009
Architecture Enforcement Aspects Itarc2009Architecture Enforcement Aspects Itarc2009
Architecture Enforcement Aspects Itarc2009
Ā 
Advanced Process Optimization - Services
Advanced Process Optimization - ServicesAdvanced Process Optimization - Services
Advanced Process Optimization - Services
Ā 
[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process Models[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process Models
Ā 
Service Oriented Architecture 10 0
Service Oriented Architecture 10 0Service Oriented Architecture 10 0
Service Oriented Architecture 10 0
Ā 
"How To Build A Change Control System in a SharePoint PMIS" for SPTech Confer...
"How To Build A Change Control System in a SharePoint PMIS" for SPTech Confer..."How To Build A Change Control System in a SharePoint PMIS" for SPTech Confer...
"How To Build A Change Control System in a SharePoint PMIS" for SPTech Confer...
Ā 
Appdynamics Training Session
Appdynamics Training SessionAppdynamics Training Session
Appdynamics Training Session
Ā 
Adopting Agile Tools & Methods In A Legacy Context
Adopting Agile Tools & Methods In A Legacy ContextAdopting Agile Tools & Methods In A Legacy Context
Adopting Agile Tools & Methods In A Legacy Context
Ā 
Integrated Business Intelligence and Data Warehouse
Integrated Business Intelligence and Data WarehouseIntegrated Business Intelligence and Data Warehouse
Integrated Business Intelligence and Data Warehouse
Ā 
Test Expo 2009 Site Confidence & Seriti Consulting Load Test Case Study
Test Expo 2009   Site Confidence & Seriti Consulting   Load Test Case StudyTest Expo 2009   Site Confidence & Seriti Consulting   Load Test Case Study
Test Expo 2009 Site Confidence & Seriti Consulting Load Test Case Study
Ā 
Agenda
AgendaAgenda
Agenda
Ā 
Web Site Redesign
Web Site RedesignWeb Site Redesign
Web Site Redesign
Ā 
Automate your way to agility
Automate your way to agilityAutomate your way to agility
Automate your way to agility
Ā 
Cognizant's Zero Deviation Life Cycle - an Overview
Cognizant's Zero Deviation Life Cycle - an OverviewCognizant's Zero Deviation Life Cycle - an Overview
Cognizant's Zero Deviation Life Cycle - an Overview
Ā 
Csse
CsseCsse
Csse
Ā 
Designing and Deploying Internet-Scale Services
Designing and Deploying Internet-Scale ServicesDesigning and Deploying Internet-Scale Services
Designing and Deploying Internet-Scale Services
Ā 
The ZDLC Brief
The ZDLC BriefThe ZDLC Brief
The ZDLC Brief
Ā 
Asp.Net Mvc Dev Days09
Asp.Net Mvc Dev Days09Asp.Net Mvc Dev Days09
Asp.Net Mvc Dev Days09
Ā 

Mehr von guy_davis

Adopting Scrum and Agile
Adopting Scrum and AgileAdopting Scrum and Agile
Adopting Scrum and Agileguy_davis
Ā 
Pragmatic Programmer
Pragmatic ProgrammerPragmatic Programmer
Pragmatic Programmerguy_davis
Ā 
Content Caching with Rails
Content Caching with RailsContent Caching with Rails
Content Caching with Railsguy_davis
Ā 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Developmentguy_davis
Ā 
Unit Testing in Java
Unit Testing in JavaUnit Testing in Java
Unit Testing in Javaguy_davis
Ā 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologiesguy_davis
Ā 
Project Monitoring and Control
Project Monitoring and ControlProject Monitoring and Control
Project Monitoring and Controlguy_davis
Ā 
The Human Side of Software Development
The Human Side of Software DevelopmentThe Human Side of Software Development
The Human Side of Software Developmentguy_davis
Ā 
Adapter Design Pattern
Adapter Design PatternAdapter Design Pattern
Adapter Design Patternguy_davis
Ā 
Software Quality Plan
Software Quality PlanSoftware Quality Plan
Software Quality Planguy_davis
Ā 
Unified Process
Unified ProcessUnified Process
Unified Processguy_davis
Ā 
Quality Function Deployment
Quality Function DeploymentQuality Function Deployment
Quality Function Deploymentguy_davis
Ā 

Mehr von guy_davis (12)

Adopting Scrum and Agile
Adopting Scrum and AgileAdopting Scrum and Agile
Adopting Scrum and Agile
Ā 
Pragmatic Programmer
Pragmatic ProgrammerPragmatic Programmer
Pragmatic Programmer
Ā 
Content Caching with Rails
Content Caching with RailsContent Caching with Rails
Content Caching with Rails
Ā 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
Ā 
Unit Testing in Java
Unit Testing in JavaUnit Testing in Java
Unit Testing in Java
Ā 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologies
Ā 
Project Monitoring and Control
Project Monitoring and ControlProject Monitoring and Control
Project Monitoring and Control
Ā 
The Human Side of Software Development
The Human Side of Software DevelopmentThe Human Side of Software Development
The Human Side of Software Development
Ā 
Adapter Design Pattern
Adapter Design PatternAdapter Design Pattern
Adapter Design Pattern
Ā 
Software Quality Plan
Software Quality PlanSoftware Quality Plan
Software Quality Plan
Ā 
Unified Process
Unified ProcessUnified Process
Unified Process
Ā 
Quality Function Deployment
Quality Function DeploymentQuality Function Deployment
Quality Function Deployment
Ā 

KĆ¼rzlich hochgeladen

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
Ā 
šŸ¬ The future of MySQL is Postgres šŸ˜
šŸ¬  The future of MySQL is Postgres   šŸ˜šŸ¬  The future of MySQL is Postgres   šŸ˜
šŸ¬ The future of MySQL is Postgres šŸ˜RTylerCroy
Ā 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
Ā 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
Ā 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
Ā 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel AraĆŗjo
Ā 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
Ā 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
Ā 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
Ā 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
Ā 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
Ā 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
Ā 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
Ā 
Scaling API-first ā€“ The story of a global engineering organization
Scaling API-first ā€“ The story of a global engineering organizationScaling API-first ā€“ The story of a global engineering organization
Scaling API-first ā€“ The story of a global engineering organizationRadu Cotescu
Ā 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
Ā 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
Ā 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
Ā 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
Ā 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
Ā 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
Ā 

KĆ¼rzlich hochgeladen (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Ā 
šŸ¬ The future of MySQL is Postgres šŸ˜
šŸ¬  The future of MySQL is Postgres   šŸ˜šŸ¬  The future of MySQL is Postgres   šŸ˜
šŸ¬ The future of MySQL is Postgres šŸ˜
Ā 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
Ā 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Ā 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
Ā 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Ā 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Ā 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Ā 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Ā 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Ā 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
Ā 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Ā 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Ā 
Scaling API-first ā€“ The story of a global engineering organization
Scaling API-first ā€“ The story of a global engineering organizationScaling API-first ā€“ The story of a global engineering organization
Scaling API-first ā€“ The story of a global engineering organization
Ā 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Ā 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Ā 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
Ā 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Ā 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Ā 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
Ā 

Software Configuration Management

  • 1. Software Configuration Management Principles and Practices By Guy Davis, Stephane Saleh and Kejin Huang
  • 2. Abstract The concept (Kejin) ļ¬ ļ¬ Basic principles (Guy) ļ¬ SCM Automation and Tools (Stephane) ļ¬ SCM in the Future (Stephane) ļ¬ Tools comparison (Kejin)
  • 3. Introduction Configuration Management(CM) is a documentation system for tracking the work.
  • 4. History 1980, Bersoff, E. H., Henderson, V.D., and ļ¬ Siegel, S. G. Software Configuration Management. Prentice-Hall. 1984, The British Standard BS 6488 ļ¬ 1987, IEEE Guide to Software Configuration ļ¬ Management 1987. IEEE/ANSI Standard 1042-1987. 1987, U. S. Department of Defense. DoD ļ¬ 2167a Standard 1987. DoD.
  • 5. Why SCM is needed The project body ļ¬ The project may be big. When a change is made in a shared component, the user may not be notified. (The change may be a bug fix or an improvement.) The time ļ¬ The development progress steps may last long. When the versions become a tree, the bugs could appear or disappear in different nodes. The people ļ¬ A lot of people may be involved. A simultaneous update may destroy the othersā€™ work.
  • 6. The goal (why) To have change activity converge ļ¬ Controlling ad-hoc change creates a stable ļ¬ software development environment Control of change is a major part of baseline ļ¬ management SCM co-ordinates access to change of the ļ¬ software work products which is particularly important when there is more than one individual work on a software work product
  • 7. Concept ā€œConfiguration management involves the collection ļ¬ and maintenance of data concerning the hardware and software of computer systems that are being used.ā€ [SIMON & DENNIS - Ref 1] ā€œCM embodies a set of techniques used to help ļ¬ define, communicate and control the evolution of a product or system through its concept, development, implementation and maintenance phases.ā€ [SWEETMAN - Ref 2] ā€œCM, a key concept in the Information Age, is a set of ļ¬ systematic controls to keep information up to date and accurate.ā€ [MORRIS - Ref 3]
  • 8. Concept (contā€™d) ā€œA discipline applying technical and ļ¬ administrative direction and surveillance to. ā€¦ā€ (IEEE) ļ¬ ā€œA collection of hardware, software, and/or firmware, which satisfies an end- use function and is designated for configuration management.quot; (ISO)
  • 9. What is not Just version management ļ¬ ļ¬ Just change management ļ¬ Just a build-and-release tool ļ¬ An administration tool
  • 11. Principles of SCM ļ¬ Configuration Identification ā€“ Baselines ļ¬ Change Control ļ¬ Configuration Status Accounting ļ¬ Configuration Audits and Reviews ā€“ SCM metrics
  • 12. Configuration Identification ļ¬ SCM Planning document ā€“ Objectives, responsibilities, and methods ļ¬ Identify configuration items: ā€“ Independent components of the system ļ¬ Logical configuration hierarchy ā€“ Object-based view ā€“ Directory-based view
  • 13. Baselines ļ¬ Complete status of a CI at a given time ļ¬ Know quality and functionality ļ¬ Unchangeable and able to recreate Mozilla SCM Roadmap
  • 14. Change Control ļ¬ Control change between baselines ļ¬ Various levels of control ā€“ Open policy (no control, just tracking) ā€“ Informal code review by module owner ā€“ Change Control Board (CCB) ļ¬ Tailor level to organization and project
  • 15. Configuration Status Accounting ļ¬ Monitor status of CIs and change requests ā€“ Complete listing of all changes since last baseline (including who, what, when) ā€“ Ideally changes should be traceable to rationale ļ¬ Allows tracking of progress to next baseline ļ¬ Allows for previous releases/versions to be extracted for testing
  • 16. Configuration Audits and Reviews ļ¬ Validation of completeness and consistency ļ¬ SCM audits occur during project transitions ā€“ Requirements, design, implementation, test, ā€¦ ļ¬ Ensures that SCM plan is being followed ļ¬ Useful to review SCM metrics gathered ļ¬ Feedback allows process improvement
  • 17. Implementation Issues Requires champions, sponsors, agents ļ¬ ļ¬ Requires planning (SCMP) ļ¬ Requires training and documentation ļ¬ Requires maintenance ļ¬ Can be measured and improved
  • 18. SCM Automation ļ¬ Why Automation? - Difficult to manage developments by large teams operating at different remote sites - Projects are becoming bigger and more complex
  • 19. SCM Automation (contā€™d) (A. Brown, S. Dart, P. Feiler, K. Wallnau, 1991)
  • 20. SCM Automation (contā€™d) ļ¬ Components Concepts - Component concepts help identify and access components of a software product. - Requirements covered: version control, configuration, repository, etc. - Example of tools or systems: Revision Control System (RCS), Sherpa Design Management System (DMS)
  • 21. SCM Automation (contā€™d) ļ¬ Structure and Construction Concepts - Concepts that deal with capturing changes to a component and its structure. - Requirements covered: building, optimizing , recording information to allow regeneration of components, etc. - Example of tools or systems: Aide-De-Camp (ADC), Jasmine system model, Rationalā€¦
  • 22. SCM Automation (contā€™d) ļ¬ Team Concepts - Concepts that help with the co-ordination and synchronization of software engineering teams working on a project. - Requirements covered: work areas for isolating work, synchronizing, concurrent workā€¦ - Example of tools or systems : Shape, Software Management System (SMS), Network Software Environment (NSE)
  • 23. SCM Automation (contā€™d) ļ¬ Process Concepts - Concepts that are related to process functionalities. - Requirements covered: lifecycle support, task management, communication and automatically recording information. - Example of tools or systems : PowerFrame, ISTAR, LIFESPAN, Change and Configuration Control (CCC)
  • 24. Tool Class 1 Code or Developer oriented CM tools only supply the code management, version control, including check-in, check-out, merge, etc.
  • 25. Tool Class 2 ļ¬ Process oriented CM tools also supply management for software development activities. It may cover: ļ¬ Version Control ļ¬ Change Control ļ¬ Product Management ļ¬ Problem Tracking ļ¬ Activity Tracking ļ¬ Build Management ļ¬ Document Management ļ¬ Requirements Tracking.
  • 26. SCM Challenges ā€¢ Technological Issues ā€¢ Process-Oriented Issues ā€¢ Managerial Issues ā€¢ Political Issues ā€¢ Standardization Issues
  • 27. SCM Challenges (contā€™d) ā€¢ Technological Issues - Switching CM Capabilities - Interoperability between CM - Global Perspective on CM - Repositories - Distributed CM - Perfective Maintenance Support
  • 28. SCM Challenges (contā€™d) ā€¢ Process-oriented Issues ā€¢ Political Issues ā€¢ Standardization Issues
  • 29. Q/A
  • 30. Tool Index (contā€™d) ļ¬ FtpVC http://www.nisnevich.com/ftpvc/ftpvc.htm. ļ¬ PERFORCE http://www.perforce.com/ ļ¬ PVCS http://www.merant.com/ ļ¬ QEF http://www.qef.com/ ļ¬ QVCS http://www.qumasoft.com/. ļ¬ RAZOR http://www.razor.visible.com/ ļ¬ SABLIME http://www.bell-labs.com/project/sablime ļ¬ Software Manager (MKS) http://www.verticalsky.com/solutions/ ļ¬ Source Code Manager http://www.unipress.com/free_evals/ ļ¬ StarTeam http://www.starbase.com/. ļ¬ TeamConnection (IBM) http://www.software.ibm.com/ad/teamcon/ ļ¬ TLIB http://www.burtonsys.com/. ļ¬ CVS http://www.cvshome.org/
  • 31. Comparison +1CM AccuRev AllChange CCC Change Man ClearCase Ā  Client/server Ā  ļ” ļ” ļ” ļ” ļ” Graphical GUI Ā  ļ” ļ” ļ” ļ” ļ” Basic CM Ā  ļ” ļ” ļ” ļ” ļ” commands Baselines Ā  ļ” ļ” ļ” ļ” ļ” Report Ā  Ā  Ā  Ā  ļ” ļ” Auto-make Ā  Ā  Ā  ļ” ļ” ļ” Integration Ā  Ā  ļ” ļ” ļ” ļ” with other tools Life-cycle Ā  Ā  Ā  Ā  ļ” ļ” support Tool Class 1 2 2 2 2 1
  • 32. Comparison (contā€™d) CM Synergy CMF Code Co-op CMVS CMZ CONTROL- CS Client/server ļ” ļ” ļ” ļ” ļ” ļ” Graphical GUI Ā  Ā  Ā  Ā  Ā  ļ” Basic CM Ā  Ā  Ā  Ā  Ā  ļ” commands Baselines Ā  ļ” ļ” ļ” ļ” ļ” Report Ā  Ā  Ā  Ā  Ā  ļ” Auto-make Ā  Ā  Ā  Ā  Ā  ļ” Integration Ā  Ā  Ā  Ā  ļ” ļ” with other tools Life-cycle Ā  Ā  Ā  Ā  Ā  ļ” support Class Tool 2 2 1 2 1 1
  • 33. Comparison (contā€™d) DSM eChange FtpVC NeumaC PerFORCE PVCS Ā  Man M+ Client/server ļ” ļ” ļ” ļ” ļ” ļ” Graphical GUI Ā  Ā  Ā  Ā  Ā  Ā  Basic CM Half ļ” ļ” ļ” ļ” ļ” commands Baselines ļ” ļ” ļ² ļ” ļ” ļ” Report Ā  Ā  Ā  Ā  Ā  Ā  Auto-make Ā  Ā  Ā  ļ” ļ” ļ” Integration with Ā  Ā  ļ” ļ” ļ” ļ” other tools Life-cycle support Ā  Ā  Ā  Ā  Ā  ļ” Class Tool 2 2 1 2 1 1
  • 34. Comparison (contā€™d) QEF QVCS RAZOR SABLI Software Source Code ME Manager Manager Client/server ļ” ļ” ļ” ļ” ļ” ļ” Graphical GUI ļ” ļ” ļ” Basic CM ļ” ļ” ļ” ļ” ļ” commands Baselines ļ” ļ” ļ” ļ” ļ” ļ” Report ļ” ļ” ļ” Auto-make ļ” Integration with ļ” ļ” ļ” other tools Life-cycle ļ” ļ” support Class Tool 2 1 2 2 2 2
  • 35. Comparison (contā€™d) StarTeam TeamConne TeamW TLIB TRUEchange ction are Client/server ļ” ļ” ļ” ļ” ļ” Graphical GUI ļ” ļ” Basic CM ļ” ļ” ļ” ļ” ļ” commands Baselines ļ” ļ” ļ” ļ” ļ” Report Auto-build ļ” Integration with ļ”PVCS other tools SourceSafe MsProject Life-cycle support Class Tool 2 2 2 1 1
  • 36. Comparison (contā€™d) VisualEnabler Visual MainSoft Voodoo CVS SourceSafe VSS Client/server ļ” ļ” ļ” ļ” ļ” Graphical GUI ļ” ļ” ļ” ļ” ļ” Basic CM ļ” ļ” ļ” ļ” ļ” commands Baselines ļ” ļ” ļ” ļ” ļ” Report Auto-build ļ² Integration with ļ” ļ” ļ” other tools VisualStudio Cervisia, WinCVS Life-cycle support 1 1 1 1 1 Class Tool
  • 37. References A. Brown, S. Dart, P. Feiler, K. Wallnau. The State of Automated Configuration ļ¬ Management, Software Engineering Institute. Carnegie Mellon University. 1991. http://www.sei.cmu.edu/legacy/scm/abstracts/absatr_cm_state.html Berlack, R.H. Evaluation & Selection of Automated Configuration Management ļ¬ Tools. 1995. http://www.stsc.hill.af.mil/crosstalk/1995/nov/evaluati.asp Dart, Susan. Concepts in Configuration Management. Software Engineering Institute. ļ¬ Carnegie Mellon University. 1991. http://www.sei.cmu.edu/legacy/scm/abstracts/ abscm_concepts.html Eich, Brendan. Mozilla Tree Management Roadmap. Mozilla Organization. 2002. http:// ļ¬ www.mozilla.org/roadmap.html Humphrey, Watts S. Managing the Software Process. Addison-Wesley Publishing ļ¬ Company. Reading, Massachusetts. 1990 Kelly, Marion. Configuration Management: The Changing Image McGraw-Hill U.K., ļ¬ 1996. Menks, D. Software Configuration Management. University Of Calgary. 2001. ļ¬ http://www.ucalgary.ca/~dbmenks/seng/seng621/scm.html

Hinweis der Redaktion

  1. Hi everyone, Today’s topic is configuration management (CM). I will introduce the concept of CM. And Guy will open the door for Basic principles. Then Stephane will lead us to SCM automation and SCM tools, and also talk about the SCM future If we have time, I’ll compare the
  2. Before we give the accurate definition of Configuration Management, I’d like to have one simple sentence to show what is the CM, so everybody can have the starting point. Configuration Management is a documentation system for tracking the work. Is that simple? The simplest CM could be a piece of paper. I can use it write down what is the problem, where I find the bug, what I’ve changed to fix the bug. That is what I do everyday. Well, somebody keep it in mind, but the information can not be shared, it could be forgotten, we say this (head) is not a CM. How long have the engineers write the memo on a piece of paper?
  3. I tried to dig out the history of formal CM concept. The earliest one I got is 1984 British Standard. I’m pretty sure it is not the earliest one. My parent worked on computer science in 1958, I’ve pretty sure somebody has invented paper at that time so they can use.
  4. Today, story is different. The computer has been changed. The computer project has been changed. The expectation has been changed as well. We have much bigger project. The size is bigger means more components and more shared component. When the shared component is changed, then it’s may not be a simple story on the paper anymore. We may need to notify all the shared users. The another difference is the development of the project may last longer. We have different releases, we customize the project for different customer. The binder get thicker and thicker and we get harder to find the original paper. We have much more people involved in the project. When multiple people work in some component simultaneously, it always has problem to overwrite each other’s.
  5. So what we want? A fantastic(expensive) CM system is not our goal. It is just a tool. We want the tool to help us to have our change activity converge, so we can have a stable product to deliver.
  6. Now, let’s go back to the so called accurate concept of CM. It is just the memo of work.
  7. The IEEE definition is very interesting. It has 3 key words: Technical, administrative, and surveillance. It tends to fit the CM concept to the organization. It is not just a technical issue, it also help the administrator to understand the scope of the target, the problem and current status. And it also supply a evaluation framework to check the work.
  8. From the definition, everybody have the idea in mind. Before we move forvord, I want to emphesize that CM is not:
  9. The CM covers:
  10. Mention that each component builds somewhat upon the next. The last item is optional and the overall process should be tailored for the specific organization.
  11. Configuration Item definition: Any part of the development and/or deliverable system (whether software, hardware, firmware, drawings, inventories and/or documentation) which needs to be independently identified, stored, tested, reviewed, used, changed, delivered and/or maintained. CIs can differ widely in complexity and may contain other CIs in a hierarchy. [Kelly, 1996]
  12. 1. Known Functionality: The features and functions of a particular baseline will be documented and available for reference. 2.Known Quality: The quality of a baseline will be well defined. For example, all known bugs will be documented and the software will have undergone a complete set of testing before being released. 3.Unchangable: A baseline, once defined, cannot be changed. The list of the CIs and their versions are set in stone. Any changes may become a new baseline, but the existing baseline does not change. 4.Recreatable: All the CIs comprising the baseline can be recreated at any point in time. This is critical for maintaining development, testing, and multiple release versions. An example baseline for a software configuration item may include the current level of: [Humphrey, 1990] *Each module including source code. *Each test case including source code. *Each build tool used including the compiler. *Each data set including both test and operational data. *Each macro, library, and API (header files). *Each instalation or operating procedure.
  13. Information considered by the Change Control Board * Size: typically in lines of code (LOC). *Alternatives: consideration of other approaches to problem. *Complexity: will the change affect many modules? *Schedule: affect on other jobs *Impact: future considerations on design *Cost: weigh potential costs versus savings. *Severity: importance of making the change. *Relation to other changes: synergies or conflicts *Test: any special test requirements *Resources: are people available to do work? *System impact: will this affect performance characteristics? *Benefits: special reasons to make this change? *Politics: accommodation of an important user? *Change maturity: length of time this change has been under consideration.
  14. The following information is required to accurately account for a configuration item's status: [Humphrey, 1990] *The time at which the baseline was established. *The time at which each CI and change was included in the baseline. *A description of each CI. *The current status of each software-related engineering change. *The description of each software change. *The status of each software change. *The documentation status for each baseline. *The changes planned for each identified future baseline.
  15. Possible Change Metrics - Change frequency: indicates error-prone modules - Total number of changes completed - Average change completion time - Number of outstanding changes (per module) Also mention that these SCM metrics are also used by size and cost estimators.
  16. SCM is common to all process change in that it requires: Champions: initiate change process and bring it to the attention of management. Sponsors: senior management must provide support and resources Agents: responsible for actually planning and implementing the change SCMP: outlines objectives, responsibilities, and the approach and methods to be used Outline in brief CVS at Pason: Requirements and planning doc (cross-platform) System configuration How-to docs and FAQ-o-matic Sysadmin and backup
  17. FtpVC is a very simple shareware, which only support checkin/checkout using FTP. It does not have version label and version branch.
  18. Stephane talked one of the challenge is to transfer the CM data between the different CM system. StarTeam does very well here. StarTeam can exchange the data with other CM tool (PVCS, SourceSafe) StarTeam also can export the data to Microsoft Project, so it helps the project planning part of Software Engineering.
  19. Visual Source Safe can integrate with Visual Studio. So the files can be checkin/checkout from Visual Studio