Rough Cuts are manuscripts that are developed but not yet published, available through Safari. Rough Cuts provide you access to the very latest information on a given topic and offer you the opportunity to interact with the author to influence the final publication.
Also available in other formats.
This is the Rough Cut version of the printed book.
Successfully Implement High-Value Configuration Management Processes in Any Development Environment
As IT systems have grown increasingly complex and mission-critical, effective configuration management (CM) has become critical to an organization’s success. Using CM best practices, IT professionals can systematically manage change, avoiding unexpected problems introduced by changes to hardware, software, or networks. Now, today’s best CM practices have been gathered in one indispensable resource showing you how to implement them throughout any agile or traditional development organization.
Configuration Management Best Practices is practical, easy to understand and apply, and fully reflects the day-to-day realities faced by practitioners. Bob Aiello and Leslie Sachs thoroughly address all six “pillars” of CM: source code management, build engineering, environment configuration, change control, release engineering, and deployment. They demonstrate how to implement CM in ways that support software and systems development, meet compliance rules such as SOX and SAS-70, anticipate emerging standards such as IEEE/ISO 12207, and integrate with modern frameworks such as ITIL, COBIT, and CMMI. Coverage includes
Configuration Management Best Practices is the essential resource for everyone concerned with CM: from CTOs and CIOs to development, QA, and project managers and software engineers to analysts, testers, and compliance professionals.
Praise for Configuration Management Best Practices
“Understanding change is critical to any attempt to manage change. Bob Aiello and Leslie Sachs’s Configuration Management Best Practices presents fundamental definitions and explanations to help practitioners understand change and its potential impact.”
–Mary Lou A. Hines Fritts, CIO and Vice Provost Academic Programs, University of Missouri-Kansas City
“Few books on software configuration management emphasize the role of people and organizational context in defining and executing an effective SCM process. Bob Aiello and Leslie Sachs’s book will give you the information you need not only to manage change effectively but also to manage the transition to a better SCM process.”
–Steve Berczuk, Agile Software Developer, and author of Software Configuration Management Patterns: Effective Teamwork, Practical Integration
“Bob Aiello and Leslie Sachs succeed handsomely in producing an important book, at a practical and balanced level of detail, for this topic that often ‘
Preface xxi
Introduction xxxiii
PART I THE CORE CM BEST PRACTICES FRAMEWORK 1
Chapter 1 Source Code Management 3
Terminology and Source Code Management 5
Goals of Source Code Management 5
Principles of Source Code Management 6
1.1 Why Is Source Code Management Important? 6
1.2 Where Do I Start? 7
1.3 Source Code Management Core Concepts 9
1.3.1 Creating Baselines and Time Machines 9
1.3.2 Reserved Versus Unreserved Checkouts 10
1.3.3 Sandboxes and Workspaces 11
1.3.4 Variant Management (Branching) 11
1.3.5 Copybranches Versus Deltas 12
1.3.6 How to Handle Bugfixes 12
1.3.7 Streams 14
1.3.8 Merging 15
1.3.9 Changesets 16
1.4 Defect and Requirements Tracking 16
1.5 Managing the Globally Distributed Development Team 17
1.6 Tools Selection 19
1.6.1 Open Source Versus Commercial 21
1.6.2 Product Maturity and Vendor Commitment 21
1.6.3 Extensibility and Open API 22
1.6.4 Don’t Overengineer Your Source Code Management 22
1.7 Recognizing the Cost of Quality (and Total Cost of Ownership) 23
1.7.1 Building Your Source Code Management Budget 24
1.8 Training 24
1.8.1 The “Bob Method” for Training 24
1.9 Defining the Usage Model 25
1.10 Time to Implement and Risks to Success 26
1.11 Establishing Your Support Process 26
1.12 Advanced Features and Empowering Users 27
Conclusion 27
Chapter 2 Build Engineering 29
Goals of Build Engineering 30
Principles of Build Engineering 30
2.1 Why Is Build Engineering Important? 31
2.2 Where Do I Start? 32
2.3 Build Engineering Core Concepts 32
2.3.1 Version IDs or Branding Your Executables 32
2.3.2 Immutable Version IDs 33
2.3.3 Stamping In a Version Label or Tag 33
2.3.4 Managing