scmp.ppt

37
Software Configuration Software Configuration Management Management Principles and Practices Principles and Practices By Guy Davis, Stephane Saleh and Kejin Huang

Upload: annamyem

Post on 25-Oct-2015

8 views

Category:

Documents


0 download

DESCRIPTION

as

TRANSCRIPT

Software Configuration Software Configuration ManagementManagement

Principles and PracticesPrinciples and Practices

By Guy Davis, Stephane Saleh and Kejin Huang

AbstractAbstract

The concept (Kejin)Basic principles (Guy)SCM Automation and Tools

(Stephane)SCM in the Future (Stephane)Tools comparison (Kejin)

IntroductionIntroduction

Configuration Management(CM) is adocumentation system for tracking

the work.

HistoryHistory

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 neededWhy SCM is needed

The project bodyThe 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 timeThe development progress steps may last long. When the versions become a tree, the bugs could appear or disappear in different nodes.

The peopleA lot of people may be involved. A simultaneous update may destroy the others’ work.

The goal (why)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

ConceptConcept

“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)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." (ISO)

What is What is notnot

Just version managementJust change managementJust a build-and-release toolAn administration tool

The ScopeThe Scope

Requirement identification

Design

Testing Coding

Principles of SCMPrinciples of SCM

Configuration Identification– Baselines

Change ControlConfiguration Status AccountingConfiguration Audits and Reviews

– SCM metrics

Configuration Configuration IdentificationIdentification

SCM Planning document – Objectives, responsibilities, and

methodsIdentify configuration items:

– Independent components of the system

Logical configuration hierarchy– Object-based view– Directory-based view

BaselinesBaselines

Complete status of a CI at a given time

Know quality and functionalityUnchangeable and able to recreate

Mozilla SCM Roadmap

Change ControlChange Control

Control change between baselinesVarious 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 Configuration Status AccountingAccounting

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

rationaleAllows tracking of progress to next

baselineAllows for previous releases/versions

to be extracted for testing

Configuration AuditsConfiguration Audits and Reviews 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 IssuesImplementation Issues

Requires champions, sponsors, agents

Requires planning (SCMP)Requires training and

documentationRequires maintenanceCan be measured and improved

SCM AutomationSCM 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)SCM Automation (cont’d)

(A. Brown, S. Dart, P. Feiler, K. Wallnau, 1991)

SCM Automation (cont’d)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)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)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)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 1Tool Class 1

Code or Developer oriented CM tools only

supply the code management, version

control, including check-in, check-out,

merge, etc.

Tool Class 2Tool 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 ChallengesSCM Challenges

• Technological Issues• Process-Oriented Issues• Managerial Issues• Political Issues• Standardization Issues

SCM Challenges (cont’d)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)SCM Challenges (cont’d)

• Process-oriented Issues• Political Issues• Standardization Issues

Q / AQ / A

Tool Index (cont’d)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/

ComparisonComparison  +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)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)Comparison (cont’d)  DSM eChangeM

anFtpVC NeumaCM

+PerFORCE PVCS

Client/server Graphical GUI            

Basic CM commands

Half

Baselines Report            

Auto-make      

Integration with other tools

   

Life-cycle support          

Class Tool 2 2 1 2 1 1

Comparison (cont’d)Comparison (cont’d)  QEF QVCS RAZOR SABLIM

ESoftware Manager

Source Code 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)Comparison (cont’d)  StarTeam TeamConne

ctionTeamWare

TLIB TRUEchange

Client/server Graphical GUI      

Basic CM commands

Baselines Report          

Auto-build        

Integration with other tools

PVCS SourceSafeMsProject

       

Life-cycle support          

Class Tool 2 2 2 1 1

Comparison (cont’d)Comparison (cont’d)  VisualEnabler Visual

SourceSafeMainSoft VSS

Voodoo CVS

Client/server Graphical GUI Basic CM commands

Baselines Report          

Auto-build        

Integration with other tools

  VisualStudio

  Cervisia,WinCVS

Life-cycle support          

Class Tool 1 1 1 1 1

ReferencesReferences

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