Software Configuration Management Strategies and Rational ClearCaseŽ: A Practical Introduction |
|
|
|
| Brian White |
| August 2000, Addison Wesley Longman, Inc., Paperback, 336 pages, ISBN 0201604787
|
|
|
|
 |
|
In software development, change is inevitable. Successful projects deal
well with change -- increasingly, through the use of sophisticated Software
Configuration Management (SCM) tools and techniques. Now, there's a complete
guide to both the SCM discipline and the field's #1 tool, Rational ClearCase(r).
Authored by former ClearCase development team leader Brian White, Software
Configuration Management Strategies and Rational ClearCase covers every
aspect of implementing SCM with ClearCase, demonstrating exactly how to
use these tools to avoid cost overruns, stay on schedule, and enhance
software quality.
KEY TOPICS:
Brian White begins by introducing the motivation for Software Configuration
Management, its key concepts, and how SCM tools can be applied to address
the challenges encountered as software projects grow in size and complexity.
White introduces Rational ClearCase's out-of-the-box Unified Change Management
Model, and discusses the role of architects, project managers, developers,
and other team members in SCM-enabled process. He walks through establishing
an initial SCM environment, managing projects with ClearCase, and understanding
the iterative ClearCase process of "integration, build test, and
baseline." Along the way, readers will learn how to use Rational
ClearCase to address today's most widespread software management challenges,
from defect tracking, to managing geographically distributed teams, to
deploying powerful Web applications more quickly.
MARKET: For all software architects, designers, managers, and
engineers.
|
 |
|
Foreword.
Preface.
Acknowledgments.
1. What Is Software Configuration Management?
SCM Best Practices.
SCM Tools and SCM Process.
2. Growing into Your SCM Solution.
Dealing with Changing Project Requirements.
Evolution of SCM Tools.
Summary.
3. An Overview of the Unified Change Management Model.
What Is UCM?
What Is ClearCase?
ClearCase UCM Process Overview.
The Architect: Defining the Implementation Model.
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.
The UCM Baseline+Change Model.
4. A Functional Overview of ClearCase Objects.
The Repository: Versioned Object Base.
Workspaces: Dynamic and Snapshot Views.
Project Management: Projects, Streams, Activities.
Versioned Objects: Elements, Branches, and Versions.
Component Management: Components and Baselines.
Process: Labels, Attributes, Hyperlinks, Triggers.
Building: ClearMake, Derived Objects, Configuration Records.
5. Establishing the Initial SCM Environment.
ClearCase Architecture Basics.
ClearCase Hardware Resource Requirements.
Defining the Implementation Model.
Creating the VOBs.
Baseline Promotion Levels.
6. Project Management in ClearCase.
What Is a ClearCase Project?
Creating a ClearCase Project.
7. Coordinating Multiple Project Teams and Other Scenarios.
Organizing Large Multiproject Development Efforts.
Coordinating Cooperating Projects: Independent Components.
Coordinating Cooperating Projects: Shared Components.
Coordinating Multiple Parallel Releases.
Coordinating IS/IT Development Projects.
Coordinating Documentation Projects or Small Teams.
Using UCM without Activity-Based SCM.
8. Development Using the ClearCase UCM Model.
A Developer's Perspective of UCM.
Joining a Project.
Making Changes.
Delivering Changes to the Project.
Rebasing Your Development Stream.
Dealing with Conflicting Changes.
9. Integration, Build, and Release.
Software Integration.
Isolation and Integration with ClearCase.
Building and Baselining with ClearCase UCM.
Staging and Release.
10. Geographically Distributed Development.
Distributed Development Challenges.
How Does ClearCase Support Distributed Development?
Multiple Teams: Producer/Consumer Scenario.
Multiple Teams: Shared Source Scenario.
Single Team: Distributed Members Scenario.
Other Uses for ClearCase MultiSite.
11. 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?
Glossary.
Bibliography.
Index.
|
|
 |
|
"This is an incredible book! It should be required reading for every
software engineer
and manager in the world. There are so many gems of great advice throughout
the book
that I think this is going to be a classic. This is not only a great CM
book, but the chapter
on project management makes this a great book on software engineering."
--Bill Hasling
"This book communicates much of the experience, wisdom, and insight
that was
acquired along the way to discovering what best practices are
and how to implement/deploy them."
--Brad Appleton
Software Configuration Management (SCM) is an essential software engineering
discipline used to manage change in today's complex, fast-paced software
development environment. SCM is used during all lifecycle phases and provides
a structure for identifying and controlling changes to documentation,
requirements, models, code, and Web artifacts such as HTML and XML files.
By enabling concurrent change to shared artifacts, SCM enhances the collaboration
of project teams, allowing them to produce high-quality products faster.
Software Configuration Management Strategies and Rational ClearCase®
is a comprehensive, practical guide, featuring the most popular commercial
SCM tool on the market, Rational Software's ClearCase®. The author
explains the fundamentals first, and then shows how ClearCase supports
the SCM best practices through the Unified Change Management (UCM) model.
It demonstrates specifically how ClearCase can be used to facilitate and
control change in your software development projects. This book goes beyond
the basics and presents more advanced topics that deal with a variety
of real-world development scenarios such as managing multiple projects
and managing project teams located at different sites.
Highlights:
- Introduces basic concepts and the evolution of SCM tools
- Illustrates ClearCase objects, including the repository, workspaces,
and component management
- Provides an overview of the Unified Change Management model
- Illustrates how to create the ClearCase repositories and establish
a UCM environment
- Explains how to coordinate parallel work both within a project and
between multiple projects
- Explores the issues and approaches to managing geographically distributed
development projects
- Compares SCM and Change Request Management
- Provides an essential overview of Rational's ClearQuest ClearCase
technology, ClearCase MultiSite, and ClearQuest technologies
Comprehensive, practical, and clearly written, Software Configuration
Management Strategies and Rational ClearCase® provides software
developers, managers, and technical leaders with the information needed
to take full advantage of SCM and ClearCase in the development of software
projects |
 |
|
What This Book Is About This book is about the engineering discipline of software configuration management (SCM) and how the widely used SCM product, Rational ClearCase®, automates and supports SCM best practices through a model called unified change management (UCM). This book covers basic SCM concepts, typical SCM problems encountered as projects and software systems grow in size and complexity, and how you can apply SCM tools and processes to solve these problems. Advanced SCM topics are also discussed, such as managing large geographically distributed teams and combining the disciplines of SCM and change request management (or defect tracking). Specifically, this book discusses SCM in terms of a specific SCM tool called ClearCase. Although the discussion is specific to ClearCase, some of the material covered is SCM-tool-neutral. There are very few new books on software configuration management and even fewer that provide strategies for a specific tool. It is in the application of an SCM tool where projects most often run into problems and fail. ClearCase is a commercially available SCM tool. It is a good choice of tool for this discussion because it provides an open architecture that is used to implement and automate a wide range of SCM solutions. ClearCase is used in many different development environments on many types of applications, such as mission-critical IT, embedded systems, telecommunication systems, financial applications, Web site content, and other commercial and government software systems. Companies in these diverse industries are successfully using ClearCase as the cornerstone of their SCM environment. This book is not a step-by-step cookbook for using ClearCase, nor does it serve as a substitute for the ClearCase product documentation. You can use the concepts in this book to improve your application of any SCM tool. However, you will get the most out of this book if you are planning to deploy ClearCase or you want to improve the current way you use ClearCase.
On a personal note, this book is a collection of the experience
I've gained by working with some incredible people in the SCM field over
the last ten years. After reading it, you should have a better understanding
of software configuration management, a better idea of the software development
problems solved by using SCM tools and techniques, and a clear understanding
of how you can use ClearCase to solve these problems and meet your SCM
requirements. I sincerely hope you enjoy the book and find it valuable.
What You Need to Know before Reading This Book
The key to your success is understanding SCM, the requirements for your
software project, and how to apply an SCM tool to meet a project's requirements.
This book will get you started if you are new to software configurement
management. However, you will get the most out of this book if you already
have some SCM experience and have used basic version control tools before.
This book assumes you are familiar with the software development process.
It will also be helpful if you have a specific development project in mind
while you are reading.
Who You Are and Why You Should Read This Book
This book is not about the nitty-gritty details of writing ClearCase triggers
and scripting home-grown integrations with legacy tools; rather it will
give you a high-level view of some common SCM scenarios and how ClearCase
can be applied. If you are new to SCM or ClearCase, read this book cover
to cover. If you have used ClearCase or have a strong foundation in SCM,
look through the table of contents and pick chapters and sections that are
of particular interest to you.
For a Software Engineer
The biggest thing an SCM tool can do for a software engineer is to stay
out of the way. SCM should perform its function, yet be as transparent as
possible. The SCM tool and how it is applied should maximize your ability
to make changes to the software. Poor tools or poorly designed processes
can add unnecessary time and effort to your work. This book can help you
identify the areas in your SCM tools and processes to streamline. It discusses
some new advances in the SCM area specifically designed for streamlining
development. One of these is the notion of activity-based software configuration
management. The idea here is to raise the level of abstraction from files
to activities. This makes working with an SCM tool, tracking your changes,
and sharing changes with other software engineers more intuitive.
If you're new to SCM, read Chapter 1, What Is Software Configuration
Management? For an overview of the objects managed by ClearCase, see chapter
4, A Functional Overview of ClearCase Objects. To gain an understanding
of how ClearCase is used on a daily basis from a development perspective,
see chapter 8, Development Using the ClearCase UCM Model.
For a Software Project Manager or Technical Leader
As a leader for a software project, you are concerned with deciding what
changes to make to a software system and then ensuring that those changes
happen. Unplanned changes, made by well-meaning developers, introduce risk
into the project schedule and may cause schedule delays and poor product
quality. The ability to control and track change is essential to your project's
success.
This book should help you gain a solid understanding of
SCM, see why you need it, and learn how ClearCase can be used to solve
problems you may encounter on projects. Specifically, see chapter 6, Project
Management in ClearCase, and chapter 7, Coordinating Multiple Project
Teams and Other Scenarios. If you are managing teams that are not all
in one location, see chapter 10, Geographically Distributed Development,
for a discussion of the issues and strategies involved.
For a Tools Engineer
The role of tools engineer is often overlooked but is essential to success,
particularly in large organizations. Your job is to figure out how to apply
a given tool to the people, processes, and organization for which you work.
This book will give you information about SCM and ClearCase that you can
use to determine the best way to apply ClearCase to projects.
For Those Evaluating ClearCase
This book is a good starting point in the evaluation of ClearCase because
it presents a number of common software development scenarios as well as
more complex scenarios such as geographically distributed development. It
discusses the requirements of SCM processes and tools in terms of a set
of SCM best practices and shows how to apply ClearCase to support them.
Included are overviews of ClearCase's out-of-the-box process, unified change
management, and ClearCase objects.
Use chapter 1, What Is Software Configuration Management?,
and chap- ter 2, Growing into Your SCM Solution, to help determine the
SCM tool requirements for your project. Look to the remaining chapters
to determine whether ClearCase will meet your needs.
For Experienced ClearCase Users
If you are a long-time ClearCase user, this book is interesting from a general
software configuration management perspective and may offer some insights
into how to approach SCM solutions on your projects. It also offers some
advice if you are being asked to support geographically distributed development
teams (see chapter 10, Geographically Distributed Development).
The book contains an overview of ClearCase's out-of-the-box
usage model called unified change management, which is a recent addition
(see chapter 3, An Overview of the Unified Change Management Model). If
you are curious about integrating change request management with ClearCase,
then look at chapter 11, Change Request Management and ClearQuest. Look
also through the table of contents and pick chapters and sections that
are of particular interest to you.
How the Book Is Laid Out Here is a brief summary of all the chapters. - Chapter 1, What Is Software Configuration Management, provides a general introduction to software configuration management and the key best practices behind it. It answers the questions: what is software configuration management?, what are SCM tools?, and what is the SCM process?
- Chapter 2, Growing into Your SCM Solution, discusses the growing complexity of software development projects and proposes that as projects grow in complexity so does their need for richer SCM support. It covers the history of SCM tool evolution using five categories of software projects ranging from software developed by a single individual to projects with many geographically distributed project teams.
- Chapter 3, An Overview of the Unified Change Management Model, provides an overview of ClearCase's out-of-the-box usage model, unified change management, which automates and supports a particular SCM process. The material is discussed in terms of the roles and responsibilities of the various team members, such as the architect, project manager, developer, and integrator.
- Chapter 4, A Functional Overview of ClearCase Objects, provides a functional overview of ClearCase objects and concepts. This chapter serves as a bridge between general SCM terminology and ClearCase-specific terminology.
- Chapter 5, Establishing the Initial SCM Environment, provides information on setting up an initial SCM environment. It discusses the basics of ClearCase architecture. The chapter also covers mapping the software architecture to the physical components in the SCM tool and briefly discusses creating the SCM repositories and importing existing software.
- Chapter 6, Project Management in ClearCase, focuses on the role of the project manager with respect to SCM. Particular attention is paid to automation and functionality in ClearCase that specifically supports the project manager. It presents an example of creating a ClearCase project.
- Chapter 7, Coordinating Multiple Project Teams and Other Scenarios, discusses the issues of coordinating parallel work. It also covers the scenarios involving multiple teams cooperating on a common release, development of multiple releases in parallel with multiple teams, coordination of IS/IT-style projects, and coordination of documentation-oriented projects.
- Chapter 8, Development Using the ClearCase UCM Model, provides an introduction to using ClearCase, specifically focusing on the role of the developer. It shows you how to find and join an existing project, how to make changes to files to accomplish an activity, how to deliver the changes associated with the activity, and how to update the development workspace with changes made by other developers on the project.
- Chapter 9, Integration, Build, and Release, focuses on the role of the integrator and discusses approaches to software integration. This chapter briefly covers building, baselining, and how baselines are promoted. It provides an overview of how components are staged in a separate repository that is used for delivery and version control of the "built" deliverable files and directories. It also discusses how software is released by comparing different types of software systems.
- Chapter 10, Geographically Distributed Development, discusses the organizational, communication, and technical challenges that need to be overcome to be successful in distributed development. It looks at three common scenarios of distributed development and the issues associated with each. Finally, this chapter discusses the technology provided by ClearCase MultiSite and how to apply MultiSite to the three scenarios.
- Chapter 11, Change Request Management and ClearQuest, covers the area of change request management (CRM), a subset of which is defect tracking. SCM and CRM are two closely related disciplines, which together form comprehensive change management support. This chapter also discusses a product called Rational ClearQuest and how it works in concert with ClearCase to provide the foundation technology for the unified change management model.
Conventions Used Commands and Emphasized Text Command line operations are called out with a different font and prompt, for example:
prompt> command -flag1 -flag2
Long commands are written on multiple lines for clarity (as shown here), but should be typed on one line, for example:
prompt> longcommand longobject-identifier
-flag1 //machine/pathname
-flag
Note: Particular points that need to be emphasized appear in the text in a different font with an arrow to alert you.
WARNING: The screened warning box is used to emphasize an issue or concern that might be encountered and should be avoided.
ClearCase Pro Tip A screened box labeled ClearCase Pro Tip denotes information that is specifically useful for people who are already using ClearCase. If you have not used ClearCase, you can skip the tips. UML Diagram Format This book includes diagrams that use a graphical modeling language called the unified modeling language, or UML. For more information on UML, see The Unified Modeling Language User Guide by Grady Booch, James Rumbaugh, and Ivar Jacobson Booch 1999. Here is a description of the small subset of UML used in this book: An object is shown as a box, with text that describes the object. Lines represent associations between the objects, with text that describes the association. For example, "a house has a roof":
The association can be annotated to provide additional information, such as how many objects can be connected. This is called the "multiplicity" of the association. For example, any given house has only one roof and any given roof can be associated with only one house. Any given house can have many windows or no windows. Any given window can be associated with no house (before it is installed) or one house. These annotations would be represented as shown here:
Is it really a house if there are no windows? If not, then you would use "1..n" for the windows rather than "0..n." A black diamond is another association annotation that is used to show composition. Composition means one object is composed of another. Important semantics are implied by this type of association. One object "owns" the other. That is, owned objects can be created and removed, but once created they live forever with the owning object. If the owning object is destroyed, its parts are also destroyed. For example, a database has database tables. When the database is destroyed, all the tables are also destroyed. This would be represented in UML as shown here:
Finally, a UML relationship called "generalization" occurs between a general thing and a more specific kind of that thing. For example, the general thing could be a shoe, and specific types of shoes are running shoes, hiking shoes, and tennis shoes. Generalization is represented by an open arrow pointing toward the general object as shown here:
|
 |
|
Brian A. White has a decade of hands-on experience with Software
Configuration Management tools and methods. During his career, he has
deployed SCM solutions in the industrial controls and telecommunications
industries, many of them to meet ISO 9000 and SEI CMM objectives. He is
currently working on configuration and change management and product strategy
for Rational Software.
|
 |
|
Review-Date: 10/16/2002 Rating: 5 Summary: Good practical treatment of Clearcase, UCM, and SCM
This book provides the reader with a lot of practical advice about using Clearcase and UCM with various size organizations. I have used Clearcase for many years with various software development groups. In my experience, it‘s rare to find a development group that uses Clearcase to it‘s full potential. That‘s usually because not enough thought, planning, and maintenence goes into the SCM process. Clearcase (and UCM for that matter) is just a set of tools. Expecting it to solve your SCM problems out of the box is like expecting a set of carpentry tools to build a house. This book suggests some ways that Clearcase (and branching in particular) can be used to manage software change and release. Some of the techniques are tuned for development groups of a particular size and/or development strategy. That is totally appropriate, since no single SCM process will fit a development group of any size. After reading this book you should come away with many ideas about how to better use ClearCase and UCM in your software organization. And even if you don‘t choose to use the UCM tool, there are plenty of ideas that can be applied to basic ClearCase usage.
Review-Date: 5/30/2002 Rating: 5 Summary: Excellent resource for the software engineer using ClearCase
A very nice introduction to base ClearCase and UCM... From branches to streams, to dynamic & snapshot views, this book gets right to the point... Answers to the common questions: Why a snapshot view? Why a dynamic? Why ClearMake vs. GNU make? How can a group of 2 engineers configure their own sandbox? A group of 5? A group of 10? From sharing a dynamic view, to sharing a development stream, to sharing a subproject, this book touches on it all.
Review-Date: 7/20/2001 Rating: 5 Summary: Great for planning and implementing ClearCase
NOTE: This book is about a vendor product. Had to say that because too many people have complained that the author spent a lot of time on Rational‘s tools and approach. Of course – that happens to be fairly obvious from the word "ClearCase" in the title.Good information for planning a ClearCase implementation. One worthwhile use of this book is to prepare your development and release team for ClearCase. This will make sure that everyone is familiar with ClearCase functions and how it is supposed to be used in the software engineering environment. I like the way the book also discusses SCM in general. If you are planning on implementing ClearCase this book is an inexpensive way to prepare your team. If you‘re shopping for an SCM tool this book will give you an unbiased report on Rational‘s product. If you want to learn about SCM find another book because this isn‘t it. Oh, learn to read too.
Review-Date: 7/6/2001 Rating: 5 Summary: Surprisingly informative on broader SCM aspects
I purchased this book specifically for information on ClearCase capabilities and features to support some project–related work. I expected a cross between a white paper and sales literature. What I got was a clear description of ClearCase and a relatively unbiased description of its features, how to effectively use it and how to employ it independently of a Rational–centric development shop. The bonus, though, is the first 49 pages that give a well–written overview of SCM in general. I also liked the chapter on the Unified Change Management Model, which seems to incorporate some best SCM practices and is full of ideas from which to borrow... Chapter 4 is where the ClearCase–specific information starts and the author does an excellent job describing how the tool works, introducing Rational–specific terminology and concepts, and showing how the tool can be effectively deployed. This was the information I was seeking when I bought the book and I feel like I got everything I wanted and more. The clearly written text was augmented by equally clear illustrations, which allowed me to quickly absorb the material I needed. This is obviously not an SCM book one would buy unless they needed to know about the ClearCase product. It is, however, an excellent overview and survey of ClearCase for anyone who needs to get quickly up–to–speed on the basics of the tool or is evaluating SCM tools and ClearCase is on their short list. Overall this is a well–written book that is surprisingly unbiased. The author did an excellent job with the entire book and earns 5 stars for sticking to the topic and taking care to make things clear (pun intended).
Review-Date: 5/3/2001 Rating: 4 Summary: Good Requirements Definition Reference
I am happy with this book as a sincere attempt to break–down some of the SCM process with good examples. It lays a pretty clear roadmap for designing product lifecycle automation and tracking systems. Which, by the way, is easily summarized for use as justification for implementing SCM standards and conventions. I respectfully assert to Mr. White that a sequel is needed to discuss implementation. There are many variations in organization, project, geography, team, and personal dynamics which UCM and the tool itself do not directly address. Templates for these additional SCM models need to be detailed in terms of how people work. All–in–all, a very good book. PS: Anyone thinking this is a roadmap to a non–product–specific or looking for implementation details for an SCM solution has overlooked the title.
Review-Date: 5/3/2001 Rating: 4 Summary: Good Requirements Definition Reference
I am happy with this book as a sincere attempt to break–down some of the SCM process with good examples. It lays a pretty clear roadmap for designing product lifecycle automation and tracking systems. Which, by the way, is easily summarized for use as justification for implementing SCM standards and conventions. I respectfully assert to Mr. White that a sequel is needed to discuss implementation. There are many variations in organization, project, geography, team, and personal dynamics which UCM and the tool itself do not directly address. Templates for these additional SCM models need to be detailed in terms of how people work. All–in–all, a very good book. PS: Anyone thinking this is a roadmap to a non–product–specific or looking for implementation details for an SCM solution has overlooked the title.
Review-Date: 3/22/2001 Rating: 3 Summary: Too superficial and general. All the hard stuff is left out.
Summary: Maybe good for beginners, practically useless for anyone with some experience. Some time ago I worked with ClearCase and Software Configuration Management (SCM) issues without any theoretical foundation, most of the stuff we did evolved from the needs of the project. It was functional, but perhaps a bit ad–hoc. Lately I‘ve been asked to do some SCM work for the clients of my current employer, and was a bit concerned that my knowledge had deteriorated, and even hoped to learn something new. So I browsed some bookstores for books on SCM to get a better foundation. I found the book "Software Configuration Management Strategies and Rational ClearCase" by Brian A. White. (Addison Wesley, 2000). The Foreword by Geoffrey M. Clemm looks promising, but the book doesn‘t measure up. The good things about the book is that the first 50 pages or so gives someone new to the area a pretty good overview. There is also a description of the evolution of SCM tools which could be useful for someone entirely new to the field. Rationals concept of Unified Change Management (UCM) is also described, so the mystical aura around that concept is cleared away. Perhaps, for someone who knows nothing about SCM, this book could be a useful introduction. But... On the downside, the book is without much substance. Lots of rehashing the same thing over and over. I also get the impression that it is a shameless plug for Rational Tools (Rational ClearCase and Rational ClearQuest) There is a lot of general discussion about different ways of doing CM, but precious little of Best Practices and down to earth tips and recommendations. When it comes to discussion about ClearCase and how to use it, the examples are trivial walkthroughs of Wizards in the GUI of the tools. Sadly, I cannot really recommend this book.
Review-Date: 12/19/2000 Rating: 3 Summary: 80% vendor specific
The authors illustrate how the following problems can be solved using a version control tool. Identify and store artifacts in a secure repository. Control and audit changes to artifacts. Organize artifacts into versioned components. 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. Ensure reproducibility of software builds. The historical background of software configuration management is described in chapter 2. Delta storage mechanisms are described on page 33. The ClearCase tool is described in chapter 3 through chapter 11. Strong emphasis is placed on the UCM process modeled on activities. ClearCase‘s unique features are not summarized in a single location. The manuals provided by Rational with the ClearCase product are better than the materials presented in this book. The product manuals are also clearly divided between using the UCM and using base ClearCase.
Review-Date: 10/29/2000 Rating: 4 Summary: Can change the fundamental concepts you use to model process
It‘s terrific. Buy it; read it; press it on passers by :–) .Brian White does a great job of changing the fundamental concepts we use while we‘re designing a process for development of a software product. He converts us from thinking in terms of ClearCase constructs, mechanisms, and operations, to, instead, concentrating on the the real–world aspects of the process. For example, from thinking too much in terms of: * Branches and branching. * Labels. * Merging. to focusing on: * Participants‘ roles. * Individuals‘ activities and the set of changes made by each activity. * The desire for isolation vs. the need for integration. * Software subsystems and components. * Baselined configurations of components, upon which an activity‘s changes are made. * "Delivering" activities‘ changes so that they may be promoted to a broader scope of visibility. * "Rebasing" to incorporate the changes of a set of recently delivered activities. As I read this book, I realized that I had previously let the implementation mechanisms distort my understanding and modeling of the process. Brian clearly presents and discusses the possible ranges and combinations of team sizes, interdependence of activities, and process policies, which helps the reader see that one process/implementation does not fit all cases. (BTW, it also demonstrates that UCM doesn‘t pigeon hole you into one particular process; it‘s remarkably flexible). After leafing through a few pages of Brian‘s book, a couple of my managers shunned it, saying that it "only presents UCM". On the contrary, Brian does a great job of using UCM (an available model) to present general principles, which come through largely unencumbered by the implementation details (i.e., the mechanisms of UCM). The book is very readable and clear. Our team of Release Engineers are currently buried by builds and tortured by corrupted SourceSafe databases. I‘m sure that, as their first (big) step towards moving into a ClearCase–based SCM system, they will read, understand, and enjoy Brian‘s book. They‘ll understand more about modeling a development process and how ClearCase can facilitate that process than their managers, who actually dictate the process and its implementation. However, I stopped short of giving this book the highest rating because it said too little about modeling the life–cycle states of activities, and about the influence of activities‘ states on process. This important deficiency can not be justified by the fact that ClearCase (without ClearQuest) does not directly support life–cycle states. A good ClearCase implementation will usually support states through some home–grown mechanisms. Still, I highly reccomend this book to both experienced and inexperienced software process designers.
Review-Date: 9/27/2000 Rating: 5 Summary: Anyone using Rational ClearCase should read this book
This book is very helpful for anyone using Rational ClearCase. It contains valuable examples, allowing the ClearCase user or manager of a CM group to gain additional insights regarding how to best apply the tool. The book also introduces basic concepts and the evolution of Software Configuration Management tools. It also explains how CM can be managed and controlled both within a project and between multiple projects. Additionally, the book explores the Configuration Management issues and approaches related to managing geographically distributed development projects.
|
|