CHAPTER 1 WHAT Is SOFTWARE CONFIGURATION MANAGEMENT? 1 11 SCM Best Practices3 12 SCM Tools and SCM Process 13 CHAPTER 2 GROWING INTO YOUR SCM SOLUTION 15 21 Dealing with Changing Project Requirements15 22 Evolution of SCM Tools23 23 Summary49 CHAPTERS AN OVERVIEW OF THE UNIFIED CHANGE MANAGEMENT MODEL 51 31 What Is UCM? 51 32 What Is ClearCase? 52 33 ClearCase UCM Process Overview 54 34 The Architect: Defining the Implementation Model57 35 The Configuration Manager: Setting Up the SCM Environment 60 36 The Project Manager: Managing a Project61 37 The Developer: Joining a Project and Doing Development62 38 The Integrator: Integration, Build, and Release63 39 The UCM Baseline+Change Model65 CHAPTER 4 A FUNCTIONAL OVERVIEW OF CLEARCASE OBJECTS 69 41 The Repository: Versioned Object Base 69 42 Workspaces: Snapshot and Dynamic Views72 43 Project Management: Projects, Streams, and Activities 78 44 Versioned Objects: Elements, Branches, and Versions 84 45 Component Management: Components and Baselines 89 46 Process: Labels, Attributes, Hyperlinks, Triggers 90 47 Building: Clearmake, Derived Objects, Configuration Records 93 CHAPTER5 ESTABLISHING THE INITIAL SCM ENVIRONMENT 97 51 ClearCase Architecture Basics97 52 ClearCase Hardware Resource Requirements 106 53 Defining the Implementation Model114 54 Creating the VOBs115 55 Baseline Promotion Levels 124 CHAPTER 6 PROJECT MANAGEMENT IN CLEARCASE 127 61 What Is a ClearCase Project? 127 62 Creating a ClearCase Project 130 CHAPTER 7 COORDINATING MULTIPLE PROJECT TEAMS AND OTHER SCENARIOS] 45 71 Organizing Large Multiproject Development Efforts145 72 Coordinating Cooperating Projects: Independent Components148 73 Coordinating Cooperating Projects: Shared Components151 74 Coordinating Multiple Parallel Releases 154 75 Coordinating IS/IT Development Projects158 76 Coordinating Documentation Projects or Small Teams163 77, Using UCM without Activity-based SCM166 CHAPTER 8 DEVELOPMENT USING THE CLEARCASE UCM MODEL 169 81 A Developer's Perspective of UCM 169 82, Joining a Project170 83 Making Changes 173 84 Delivering Changes to the Project176 85 Rebasing Your Development Stream 181 86 Dealing with Conflicting Changes184 CHAPTER 9 INTEGRATION, BUILD, AND RELEASE 191 91 Software Integration 191 92 Isolation and Integration with ClearCase 196 93 Building and Baselining with ClearCase UCM210 94 Staging and Release 217 CHAPTER 10 GEOGRAPHICALLY DISTRIBUTED DEVELOPMENT 223 101 Distributed Development Challenges 224 102 How ClearCase Supports Distributed Development 228 103 Multiple Teams: Producer/Consumer Scenario 233 104 Multiple Teams: Shared Source Scenario 240 105 Single Team: Distributed Members Scenario 245 106 Other Uses for ClearCase MultiSite253 CHAPTER 11 CHANGE REQUEST MANAGEMENT AND CLEARQUEST 255 111 What Is Change Request Management? 255 112 What Are Change Requests? 256 113 The Change Request Management Process 257 114 What Is ClearQuest? 261 115 How Do I Use ClearQuest Data? 264 116 How Does ClearQuest Support UCM? 270 Glossary 273 Bibliography 287 Index 289