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:
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.
|Series:||Software Patterns Series|
|Edition description:||New Edition|
|Product dimensions:||7.30(w) x 9.00(h) x 0.70(d)|
Table of Contents
List of Figures.
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.
2. The Software Environment.
What Software Is About.
The Development Workspace.
The Big Picture.
About Patterns and Pattern Languages.
Patterns in Software.
Configuration Management Patterns.
Structure of Patterns in This Book.
The Pattern Language.
Overview of the Language.
II THE PATTERNS.
Simplify Your Branching Model.
5. Active Development Line.
Define Your Goals.
6. Private Workspace.
Isolate Your Work to Control Change.
One Stop Shopping.
8. Private System Build.
Think Globally by Building Locally.
9. Integration Build.
Do a Centralized Build.
10. Third Party Codeline.
Use the Tools You Already Have.
11. Task Level Commit.
Do One Commit per Small-Grained Task.
12. Codeline Policy.
Define the Rules of the Road.
13. Smoke Test.
Verify Basic Functionality.
14. Unit Test.
Test the Contract.
15. Regression Test.
Test for Changes.
16. Private Versions.
A Private History.
17. Release Line.
Branch before Releasing.
18. Release-Prep Code Line.
Branch Instead of Freeze.
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.
ClearCase—base functionality (non-UCM).
ClearCase—Unified Change Management (UCM).
PVCS Version Manager.
MKS Integrity (Enterprise edition).
About the Photos.