Always Learning

Software Configuration Management Patterns: Effective Teamwork, Practical Integration
Steve Berczuk
Brad Appleton

ISBN-10: 0201741172
ISBN-13:  9780201741179

Publisher:  Addison-Wesley Professional
Copyright:  2003
Format:  Paper; 256 pp
Published:  11/04/2002
Status: Instock


Customers outside the U.S., click here.


Print this content

In this section:


Table of Contents



List of Figures.


Foreword.


Preface.


Contributor's Preface.


Acknowledgments.


Introduction.

I. BACKGROUND.

1. Putting a System Together.

Balancing Stability and Progress.

The Role of SCM in Agile Software Development.

SCM in Context.

SCM as a Team Support Discipline.

What Software Configuration Management Is.

The Role of Tools.

The Larger Whole.

This Book's Approach.

Unresolved Issues.

Further Reading.

2. The Software Environment.

General Principles.

What Software Is About.

The Development Workspace.

Architecture.

The Organization.

The Big Picture.

Further Reading.

3. Patterns.

About Patterns and Pattern Languages.

Patterns in Software.

Configuration Management Patterns.

Structure of Patterns in This Book.

The Pattern Language.

Overview of the Language.

Unresolved Issues.

Further Reading.

II THE PATTERNS.

4. Mainline.

Simplify Your Branching Model.

Unresolved Issues.

Further Reading.

5. Active Development Line.

Define Your Goals.

Unresolved Issues.

Further Reading.

6. Private Workspace.

Isolate Your Work to Control Change.

Unresolved Issues.

Further Reading.

7. Repository.

One Stop Shopping.

Unresolved Issues.

Further Reading.

8. Private System Build.

Think Globally by Building Locally.

Unresolved Issues.

Further Reading.

9. Integration Build.

Do a Centralized Build.

Unresolved Issues.

Further Reading.

10. Third Party Codeline.

Use the Tools You Already Have.

Unresolved Issues.

Further Reading.

11. Task Level Commit.

Do One Commit per Small-Grained Task.

Unresolved Issues.

12. Codeline Policy.

Define the Rules of the Road.

Unresolved Issues.

Further Reading.

13. Smoke Test.

Verify Basic Functionality.

Unresolved Issues.

Further Reading.

14. Unit Test.

Test the Contract.

Unresolved Issues.

Further Reading.

15. Regression Test.

Test for Changes.

Further Reading.

16. Private Versions.

A Private History.

17. Release Line.

Branch before Releasing.

Further Reading.

18. Release-Prep Code Line.

Branch Instead of Freeze.

Unresolved Issues.

19. Task Branch.

Handling Long-Lived Tasks.

Use Branches for Isolation.

20. Referenced Patterns.

Named Stable Bases.

Daily Build and Smoke Test.

Appendix A: SCM Resources Online.

The Configuration Management Yellow Pages.

CM Crossroads—Online Community and Resource Center for CM Professionals.

CM Today—Daily Configuration Management News.

UCM Central—Unified Configuration Management.

ACME-—Assembling Configuration Management Environments (for Software).

The Software Engineering Institute's SCM Publications.

Steve Easterbrook's Configuration Management Resource Guide.

The Software Configuration Management FAQ.

The Association for Configuration and Data Management.

Software Engineering Resource List for Software Configuration Management.

R.S. Pressman and Associates Software Engineering Resources for SCM.

SEweb Software Configuration Management Resources at Flinders University.

Pascal Molli's “CM Bubbles” SCM Resources Page.

The Usenet Newsgroup comp.software.config-mgmt.

Appendix B. Tool Support for SCM Patterns.

VSS—Visual Source Safe.

CVS—The Concurrent Versions System.

Perforce.

BitKeeper.

AccuRev.

ClearCase—base functionality (non-UCM).

ClearCase—Unified Change Management (UCM).

CM Synergy.

StarTeam.

PVCS Dimensions.

PVCS Version Manager.

MKS Integrity (Enterprise edition).

Further Reading.

Photo Credits.

About the Photos.

Bibliography.

Index. 0201741172T10072002



Back to top

Print this content

In this section:


Sample Chapter

View a Sample Chapter PDF:/samplechapter/0201741172.pdf


Author Bios

Stephen P. Berczuk has been developing object-oriented software applications since 1989, often as part of geographically distributed teams. He has been an active member of the Software Patterns community since the first PLoP conference in 1994, and did early work on the relationship between organization, software architecture, and design patterns. He has an M.S. in Operations Research from Stanford University and an S.B. in Electrical Engineering from MIT.

Brad Appleton has been a software developer since 1987 and has extensive experience using, developing, and supporting SCM environments for teams of all shapes and sizes. A former Patterns++ section editor for the C++ Report, Brad is also well versed in object-oriented design and agile software development, and cofounded the Chicago Patterns and Chicago Agile Development Groups. He holds an M.S. in Software Engineering and a B.S. in Computer Science and Mathematics.



0201741172AB09202002


Backcover Copy

Effective software configuration management (SCM) strategies promote a healthy, team-oriented culture that produces better software. Software Configuration Management Patterns alleviates software engineers' most common concerns about software configuration management—perceived rigidity and an overemphasis on process.

Through the use of patterns, the authors show that a properly managed workflow can avert delays, morale problems, and cost overruns. The patterns approach illustrates how SCM can be easily and successfully applied in small- to mid-size organizations. By learning how these patterns relate to each other, readers can avoid common mistakes that too often result in frustrated developers and reduced productivity.

Key coverage includes instruction on how to:

  • Develop the next version of a product while fixing problems with the current one.
  • Develop code in parallel with other developers and join up with the current state of codeline.
  • Identify what versions of code went into a particular component.
  • Analyze where a change happened in the history of a component's development.
  • Use current tools more effectively, and decide when to use a manual process.
  • Incrementally introduce good practices into individual workspaces and throughout the organization.
  • Identify crucial aspects of the software process so that team projects can run smoothly.
  • Build and foster a development environment focused on producing optimal teamwork and quality products.
  • Software Configuration Management Patterns also includes a detailed list of SCM tools and thorough explanations of how they can be used to implement the patterns discussed in the book. These proven techniques will assist readers to improve their processes and motivate their workforce to collaborate in the production of higher quality software.



    0201741172B09202002

    Back to top

    Print this content

    This product is a member of the following series. Click on the series name to see the full list of products in the series.

    Back to top

    Log in to the Instructor Resource Center

    Login name: 

      Password: 

    Forgot login/password?  |  Need to redeem an access code?

            

    Instructor Resource Center File Download

    This work is protected by local and international copyright laws and is provided solely for the use of instructors in teaching their courses and assessing student learning. Dissemination or sale of any part of this work (including on the World Wide Web) will destroy the integrity of the work and is not permitted. The work and materials from this site should never be made available to students except by instructors using the accompanying text in their classes. All recipients of this work are expected to abide by these restrictions and to honor the intended pedagogical purposes and the needs of other instructors who rely on these materials.

    Cancel     I accept, proceed with download

    Print this content

    Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.

    Back to top