Business Analyst Training

Requirements elicitation, writing, analysis, and modeling by IIBA Endorsed Education Provider.

www.requirementssolutions.com

Business System Analysis Bookstore
In Association with Amazon.com
Help PicoSearch
Free Business Analyst Skills Test for CBAP Looking for Business Analysis Training

Software Configuration Management Strategies and Rational ClearCase®: A Practical Introduction

Buy the Book
Summary TOC Back Cover Preface Author Look Inside Comments Reviews
Brian White
August 2000, Addison Wesley Longman, Inc., Paperback, 336 pages, ISBN 0201604787

Instructor-led, virtual, and self-paced training for Business Analysts What Do Business Analysts Do?
How to Plan and Monitor Business Analysis Activities
How to Estimate Early in a Project
How to Elicit (Gather), Write, and Analyze Business Requirements
How to Prepare and Facilitate Requirements Workshops
How to Prepare and Facilitate Productive JADr Sessions
How to Model, Analyze, and Improve Business Processes
How to Model, Analyze, and Improve Business Data
How to Test an Application using Business Requirements
How to Elicit Business System Requirements
e-Learning, virtual workshops and webinars Try our new Virtual Workshops and e-Coaching
for today's Business System Analysts (BA's) and Subject Matter Experts (SME's)

Summary
Buy the book

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.

 
analysis bookstore top
BA books: Table of Contents
Buy the book

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.

 
analysis bookstore top
Back Cover
Buy the book

"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
 
analysis bookstore top
Preface
Buy the book

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:

 
analysis bookstore top
Author info
Buy the book

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.

 
analysis bookstore top
Business System Analysis Books: Reviews
Buy the book
From Book News, Inc.
A practical guide to a popular software configuration management tool. Explains fundamentals, then shows how ClearCase supports best practices through the Unified Change Management model. Demonstrates how ClearCase can be used to facilitate and control changes in software development projects, and deals with advanced topics such as managing multiple projects and managing project teams located at different sites. For software developers and managers. White has a decade of experience with software configuration management tools.Book News, Inc.®, Portland, OR
 
analysis bookstore top
 
Requirements
  Business Rules
Prototyping
Requirements Analysis
Requirements Definition
Requirements Documentation
Requirements Engineering
Requirements Management
Requirements Traceability
User Interfaces
Miscellaneous
Requirements Validation
  Acceptance Testing
Test Cases
Test Data Engineering
Test Planning
Testing Tools
Business Process Modeling (BPM)
  Data Flow Diagrams
Decision Tables
Process Analysis
Process Improvement (BPI)
Process Models
Facilitation
  Conducting Meetings
JAD
Miscellaneous
Data Analysis
  Data Models
Miscellaneous
NEW RELEASES
Business Systems Analysis
Best Practices
Interviewing Techniques
Methodologies
Problem Analysis
Request for Proposal (RFP)
Requirements Elicitation
Task Analysis
Unified Modeling Language (UML)
Use Cases
Workflow Analysis
Home Links CBAP Business Analyst Skills Test Business Anlayst Training Inquiry