scmp.ppt
DESCRIPTION
asTRANSCRIPT
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
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)
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
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