Software Configuration Management Strategies and IBM Rational ClearCaseA Practical Introduction
This title is ordered on demand which may result in extended delivery times.
"I wrote that the first edition of this book "communicates much of the experience, wisdom, and insight that was acquired along the way to discovering what SCM best practices are and how to implement/deploy them." The second edition is full of even more practical experience! It not only refines and expands upon earlier strategies and best practices, it also contains even more concrete "how-to" information about implementing and deploying them."
—Brad Appleton co-author of Software Configuration Management Patterns: Effective Teamwork, Practical Integration
"Read this book when you're getting started with configuration management (CM); read it again in six months and once more two years later. Software Configuration Management Strategies and IBM Rational ClearCase goes beyond the basics to provide a coherent review of CM strategies for projects of all sizes and complexities."
—Jennie Brown, CM Specialist IBM Corporation
"This book covers practical software configuration management (SCM), ClearCase UCM and ClearCase use for project teams. Every project lead and SCM specialist should (re)read this book before starting a project."
—Roger Jarrett, Senior Software Engineer IBM Rational Software
"This second edition captures vital Unified Change Management (UCM) features and concepts. It brings the entire UCM feature set full circle and lays the ground work for a successful UCM implementation; Bellagio and Milligan continue where the first edition left off. The inclusion of composite baseline concepts, single stream development, performance tuning, and other features and concepts make this the core of any old or new Unified Change Management implementation.
It is rare that a second edition of a book can hold your interest like the first. This publication does just that...this continues to be the standard for users interested in Unified Change Management deployment."
—Adam Levensohn, Manager IBM Rational Software
Software Configuration Management (SCM) can help even the largest, most complex project teams manage change, so they can deliver higher quality products faster. The First Edition of Software Configuration Management Strategies and Rational ClearCase established itself as the definitive single source for guidance on both SCM best practices and the market's leading product, IBM Rational ClearCase. This fully updated Second Edition systematically addresses the latest ClearCase and ClearQuest® innovations, while offering even deeper insight into SCM strategy and management.
The authors each draw on more than 15 years of SCM experience, and the knowledge of working with IBM Rational field teams in customer engagements worldwide. They systematically cover SCM planning and deployment, and SCM's use throughout the entire project lifecycle: development, integration, building, baselining, release deployment, and beyond. They offer practical guidance on addressing challenges that arise as projects grow in size and complexity, from managing geographically distributed teams to tracking change requests.
Understanding basic SCM concepts, and the role, value, and components of SCM systems
Mastering IBM Rational's Unified Change Management (UCM) model—including today's most effective usage models, strategies, and policy configurations
Creating ClearCase repositories and establishing UCM environments, step-by-step
Working as a project manager in the ClearCase environment
Leveraging new ClearCase MultiSite and ClearQuest technologies to full advantage
Using the new ClearCase Remote Client to access centralized repositories across WANs
Monitoring ClearCase and tuning it for maximum performance
This book is valuable for everyone concerned with SCM: developers who wantSCM to be as intuitive and convenient as possible; project managers and technical leaders who must efficiently manage change; tools engineers; even IT managersevaluating SCM technologies.
© Copyright Pearson Education. All rights reserved.
About the Authors.
Preface to the Second Edition.
1. What is Software Configuration Management?
SCM Best Practices.
Identify and Store Artifacts in a Secure Repository.
Control and Audit Changes to Artifacts.
Organize Versioned Artifacts into Versioned Components.
Organize Versioned Components and Subsystems into
New Versioned Subsystems.
Create Baselines at Project Milestones.
Record and Track Requests for Change.
Organize and Integrate Consistent Sets of Versions Using Activities.
Maintain Stable and Consistent Workspaces.
Support Concurrent Changes to Artifacts and Components.
Integrate Early and Often.
Ensure Reproducibility of Software Builds.
SCM Tools and SCM Process.
2. Growing into Your SCM Solution.
Dealing with Changing Project Requirements.
Increasing Software System Complexity.
Increasing Project Environment Complexity.
Changing Life Cycle Phase.
Changing Processes and Personnel.
Evolution of SCM Tools.
Five Project Team Categories.
In the Absence of SCM Tools.
Early SCM Tool Support.
Modern SCM Tool Support.
Advanced SCM Tool Support.
3. An Overview of the Unified Change Management Model.
What Is UCM?
The Value of UCM.
What Is ClearCase?
The ClearCase UCM Model.
The UCM Baseline + Change Model.
What Is ClearQuest?
ClearCase UCM Process Overview.
The Configuration Manager.
The Project Manager.
The Architect: Defining the Implementation Model.
Components in the Unified Modeling Language.
The Configuration Manager: Setting Up the SCM Environment.
The Project Manager: Managing a Project.
The Developer: Joining a Project and Doing Development.
The Integrator: Integration, Build, and Release.
Releasing a Component.
Releasing Systems and Subsystems.
4. A Functional Overview of ClearCase Objects.
The Repository: Versioned Object Base.
Workspaces: Snapshot and Dynamic View.
Differences Between Snapshot and Dynamic Views.
Project Management: Projects, Streams, and Activities.
Versioned Objects: Elements, Branches, and Versions.
Component Management: Components and Baselines.
Process: Labels, Attributes, Hyperlinks, Triggers.
Creating and Managing Types.
Building: Clearmake, Derived Objects, Configuration Records.
Parallel and Distributed Builds.
Clearmake versus Classic Make
5. Establishing the Initial SCM Environment.
ClearCase Architecture Basics.
The License Server and Registry Server.
The VOB Server and View Server.
The ALBD Server and Client Processes.
The Multiversion File System.
Example Hardware Configuration.
ClearCase Hardware Resource Requirements.
Disk I/O Requirements.
Network Bandwidth and Reliability.
User, VOB, and View Limits.
VOB Sizing Considerations.
Monitoring and Tuning for ClearCase Performance.
Measuring the Lowest Level.
Measuring the Middle Level.
Measuring the Top Level.
Defining the Implementation Model.
Creating the VOBs.
Creating the PVOB Using the Command-Line Interface.
Creating the PVOB Using the Graphical User Interface.
Using Administration VOBs.
Using More Than One PVOB.
Creating VOBs and Components Using the Command-Line Interface.
Creating VOBs and Components Using the Graphical User Interface
Importing Existing Source Code.
Baseline Promotion Levels.
6. Project Management in ClearCase.
What Is a ClearCase Project?
Who Is Making Changes?
What Is Being Changed?
How Are Changes Being Made?
How Do Changes Flow and Get Integrated?
Creating a ClearCase Project.
Identifying Your Project Manager.
Identifying Your Components and Baselines.
Determining Your Project’s Policies.
Determining Your UCM Project Properties.
Choosing the Location for Your Project.
Creating Your Project.
7. Managing and Organizing Your ClearCase Projects.
Coordinating Multiple Parallel Releases.
The Follow-On Project.
The Mainline Project.
Multiple Parallel Projects.
Organizing Large Multiproject Development Efforts.
Architecture-Oriented Project Teams.
Feature-Oriented Project Teams.
Coordinating Cooperating Projects: Independent Components.
Coordinating Cooperating Projects: Shared Components.
Coordinating IS/IT Development Projects.
Choosing Which Features to Work On.
Implementing an Approval Process.
Performing Emergency Bug Fixes.
Planning for a Major Release.
Coordinating Documentation Projects or Small Teams.
Joining a Project.
Updating the Workspace.
8. Development Using the ClearCase UCM Model.
A Developer’s Perspective of UCM.
Working on a Project.
Working with Activities.
Modifying Files and Directories.
Working from the Command Line.
Delivering Changes to the Project.
Check In Any Outstanding Checked-Out Elements.
Rebase from the Project’s Latest Recommended Baselines.
Run the ClearCase Deliver Command.
Build and Test the Delivery.
Complete or Cancel the Delivery.
Rebasing Your Development Stream.
Run the Rebase Operation.
Build and Test.
Complete or Cancel the Rebase.
Dealing with Conflicting Changes.
Delivery Scenario 1 (No Conflicts).
Delivery Scenario 2 (No Conflicts).
Delivery Scenario 3 (With Conflicts).
Rebase Scenario 1 (No Conflicts).
Rebase Scenario 2 (With Conflicts).
ClearCase Merge Tools.
Seamlessly Integrating with Developer’s IDE.
Integration Scenarios for Teams of Differing Sizes.
Isolation and Integration with ClearCase.
The Shared View: No Isolation.
Branch/LATEST Development: Maximizing Integration.
Using Branches for Isolation and Integration.
Integration with UCM.
10.Building, Baselining, and Release Deployment.
Baselining and Building with UCM.
Locking the Integration Stream.
Baselining Software Components.
Building Software Components.
Executing Smoke Tests.
Using Build Stabilization Streams.
Promoting and Recommending Software Component Baselines.
Unlocking the Integration Stream.
Automating the Nightly Build Process.
Staging, Deployment, and Release.
The Staging Component.
Using the Assembly Project for Deployment of Releases.
Modeling the Deployment Stages of a Release with Streams.
ClearQuest’s Role in Deployment.
11. Geographically Distributed Development.
Distributed Development Challenges.
How ClearCase Supports Distributed Development.
Remote Terminal or Desktop Access.
Remote Client Access.
What Is the ClearCase Remote Client (CCRC)?
What Is ClearCase MultiSite?
What Is ClearQuest MultiSite?
Using ClearCase MultiSite and ClearQuest MultiSite Together.
Multiple Teams: Producer/Consumer Scenario.
Supporting Producer/Consumer Teams.
How UCM Supports the Producer/Consumer Model.
How Base ClearCase Supports the Producer/Consumer Model.
Multiple Teams: Shared Source Code Scenario.
How UCM Supports Shared Source Code.
How Base ClearCase Supports Shared Source Code.
Shared Source Code Summary.
Single Team: Distributed Members Scenario.
How the UCM Model Supports Local Access.
How Base ClearCase Supports Local Use.
Branching by Activity.
Single Team: Distributed Members Summary.
Other Uses for ClearCase MultiSite.
MultiSite for Backup.
MultiSite for Delivery.
MultiSite for Platform Interoperability.
12. Change Request Management and ClearQuest.
What Is Change Request Management?
What Are Change Requests?
The Change Request Management Process.
What Is ClearQuest?
How Do I Use ClearQuest Data?
How Does ClearQuest Support UCM?
Appendix A. Redoing and Undoing Change Sets with UCM.
Location of Script.
Limit Script Use to Integrator Role.
Why Is This Useful?
Redoing an Activity on Another Stream.
David E. Bellagio has been involved in software development for the last 25 years, ever since he got addicted to it in high school. After realizing that he would not be a professional baseball player, he went on to receive his Bachelor of Science and Master of Science degrees in computer science, with honors, from Chico State University, California. David worked previously at CSC, Tandem Computers, ADP, and HP. He first began using ClearCase in 1994, and he spent the next four years deploying ClearCase to many developers while employed at ADP and HP. In 1998, he joined Rational Software as a technical field representative in the Pacific Northwest.
David currently is a Worldwide Community of Practice Leader for Enterprise Change Management at IBM, Rational Software. He works with customers and IBM teams to ensure successful deployment and adoption of Rational SCM solutions. David works with Rational field teams delivering workshops, seminars, and assessments to help improve software process and customer results. He also works onsite with customers around the world to define and manage successful deployment of Rational Software solutions.
David has presented these topics at Rational User Conferences:
1995: "Building Software with Clearmake on Non-ClearCase Hosts"
1996: "ClearAdmin—A Set of Scripts and Processes for Administrating ClearCaseSites"
2004: "UCM Stream Strategies and Best Practices"
David has also led the UCM Hands on Workshop sessions at the 2003 and 2004 Rational User Conferences.
David currently resides in Washington with his wonderful wife and three children. When time allows, he also enjoys brewing fine ales and mead. He can be reached via e-mail at email@example.com.
Tom Milligan is a Senior SCM Technical Marketing Engineer on IBM Rational Software's Worldwide Technical Marketing team. Prior to this assignment he worked in Rational Software's Western Region Consulting Organization.
Prior to joining Atria Software in 1995, Tom worked in Electronic Design Automation, Software QA, software tools acquisition and development as well as real-time embedded software development. Tom holds a B.A (Honors College) in Computer Science from the University of Oregon (1978).
Tom has spoken at the Rational User Conference several times:
1997: "Integrating ClearCase NT with Third-Party Applications"(specifically, integrating ClearCase with Microsoft Word)
1999: "Integrating Requisite Pro and DDTs"
2001: "Using Perl with the ClearCase Automation Library (CAL)"
2003: "ClearCase Performance Analysis, Monitoring and Tuning"
2004: "Fundamentals of Good Software Configuration Management, ClearCase Performance Analysis, Monitoring and Tuning"
Tom has also published the following articles:
The Rational Edge
November 2001: "Using Perl with Rational ClearCase Automation Library (CAL)"
September 2002: "Using Perl with the Rational ClearQuest API"
July 2003: "ClearCase Performance Analysis, Monitoring and Tuning (part 1)"
September 2003: "ClearCase Performance Analysis, Monitoring and Tuning (part 2)"
July/August 2003: "7 Attributes of Highly Effective SCM Systems"
Rational Developer Network
"ClearCase Cheat Sheet"
Tom was also keynote speaker at the 2003 Association of Configuration and Data Management (ACDM) Conference.
Tom resides on the central coast of California with his most excellent wife and three children. In his spare time Tom enjoys playing Ultimate (also known as Ultimate Frisbee), watching his kids play volleyball and soccer, and staying up late with his telescope. He can be reached via e-mail at firstname.lastname@example.org.
© Copyright Pearson Education. All rights reserved.