BN.com Gift Guide

Configuration Management Principles and Practice

Overview

Configuration management (CM) is an important, but often neglected, practice that allows application developers and project managers to better identify potential problems, manage changes, and track the progress of software projects. An effective CM strategy—one that adheres to the practice's complexity while harnessing its depth—can be the cornerstone of fast, flexible development. However, CM practitioners often rely too heavily on commercial CM tools, and fail to understand the concept as a whole. While CM is ...

See more details below
Other sellers (Paperback)
  • All (15) from $1.99   
  • New (8) from $4.74   
  • Used (7) from $1.99   
Sending request ...

Overview

Configuration management (CM) is an important, but often neglected, practice that allows application developers and project managers to better identify potential problems, manage changes, and track the progress of software projects. An effective CM strategy—one that adheres to the practice's complexity while harnessing its depth—can be the cornerstone of fast, flexible development. However, CM practitioners often rely too heavily on commercial CM tools, and fail to understand the concept as a whole. While CM is not an easy discipline, it need not be a difficult one.

Configuration Management Principles and Practice explains the elements and benefits of a sound CM strategy and shows how to put that strategy into action. Through configuration examples and recommendations drawn from the author's considerable experience, this practical guide will help readers to better manage and deliver projects.

Key topic coverage includes:

  • Incorporating CM into the overall development process
  • Relating test cases to requirements and tracking, assessing, and reporting on testing
  • Tracing product changes
  • Applying CM in different environments, including agile, iterative, integrated-product, and sequential development methods
  • Employing CM in projects, large and small, for safety-critical, composite, multiplatform, and multivariant systems
  • Managing multisite development
  • Serving cross-organizational functions
  • Integrating different CM tools
  • Improving CM processes

A comprehensive guide to the current state of CM, the text begins with an introduction to fundamental CM principles and activities and then illustrates how each can be tailored to meet a development organization's unique needs. In short, this easy-to-use reference will give organizations and individuals the tools they need to insure the integrity of their products and effectively manage the evolution of their systems.

0321117662B12032002

Read More Show Less

Product Details

Meet the Author

Anne Mette Jonassen Hass is a senior consultant and registered BOOTSTRAP lead assessor for DELTA (Danish Electronics, Lights, and Acoustics), one of Europe's leading international testing and design consulting organizations. With more than twenty years of experience in IT, she has been involved in all aspects of software development: requirements specification, analysis, design, coding, testing, quality assurance, and management. Ms. Hass was a contributor to Improving Software Organizations by Lars Mathiassen et al. (Addison-Wesley, 2002).

0321117662AB12032002

Read More Show Less

Table of Contents

List of Figures

List of Tables

Foreword by Kim Caputo

Foreword by Alistair Cockburn

Preface

Introduction

I. WHAT IS CONFIGURATION MANAGEMENT?

1. Definition of Configuration Management Used in This Book

Configuration Management Activities

Metadata

Configuration Management Is Cyclicor Is It?

Quality Assurance Process

Audit

Identification

Inputs

Outputs

Process Descriptions

Unique Identification

Examples

Authorization

Roles

Connection with Other Activities

Storage

Library

Main Processes

Process Descriptions

Roles

Connection with Other Activities

Example

Change Control

Inputs

Outputs

Change Control Activities

Usage of Metadata

Consequence Analysis

Roles

Process Descriptions

Connection with Other Activities

Example

Status Reporting

Inputs

Outputs

Process Descriptions

Roles

Connection with Other Activities

False Friends: Version Control and Baselines

Version Control

Baseline

2. Configuration Management in Maturity Models

CMM Version 1.1

CMM Maturity Levels

Definition

Activities

CMMI

CMMI Process Areas

Definition

Goals

Practice-to-Goal Relationships

Capability and Maturity Levels

Achieving Capability Levels

Level 2 for All Process Areas

Raising the Capability of the Configuration Management Process

ISO 15504 (SPICE) and BOOTSTRAP 3.2

SPICE Process Model

Definition

Goals

Best Practices

Maturity Levels

Maturity of Configuration Management

3. Configuration Management in International Standards

Overview of Related Standards

BS6488, DoD, IEEE

BS6488

DoD Mil-Std-973

IEEE-Std-610.12-1990

ESA PSS-05-09

Introduction from the Guide

GAMP

Description from the Guide

ISO 9001:1994, ISO 9000-3, and ISO 9001:2000

ISO 9001:1994

ISO 9000-3

ISO 9001:2000

4. Organizations Working with Configuration Management

Institutions and Companies

CM Today Yellow Pages

Institute of Configuration Management

Conferences

Ovum

Software Engineering Institute

Projects

ACME

AdCoMs

DaSC

5. Scoping the Configuration Management Task

Level of AmbitionCost/Benefit Analysis

Level of Ambition = Scope + Formalism

Formalism for a Configuration Item

Degrees of Formalism

Earliest and Latest Extremes for Starting Configuration Management

Formalism and Tools

Expansion of Scopefrom Candidate to Item

No Rough Drafts—Please!

Expansion from the Middle

Examples

Calculation of Profitability

Expenses

Savings

Pitfalls in Connection with Scoping

Too Demanding

Wrong

Too Coarse or Too Fine

Too Embracing or Too Exclusive

Too Late or Too Early

How to Treat What Is Kept Outside

Objects to Keep Outside

Identification

Storage

II. CONFIGURATION MANAGEMENT DATA

6. What Can Be Placed under Configuration Management

Physical or Electronic Objects

Configuration Item Class Hierarchy

Physical Objects

Electronic Objects

Types of Objects in Product Perspective

Software

Hardware

Network

Data

Services

Tools

Types of Objects in Project Perspective

Life Cycle Activities

Support Functions

Tools

Types of Objects in Cross-Organizational Perspective

Cross-Organizational Perspective

Administrative Documents

Company Product Assets

Infrastructure

Quality System

Deliveries under Configuration Management

Examples

Project Relationships

Deliveries for Planned Events Like Milestones

Development Model

Milestones

7. What One Needs to Know about a Configuration Item

Overview of Metadata for a Configuration Item

Data Elements

Metadatabase Medium

Other Data Elements

Metadata for Unique Identification

Belongs To

Name

Version

Status

Date

Storage Location

Storage Medium

Example of States for a Document

Example of States for a Source Code Unit, Including in Build

Metadata for Authorization

Producer

Person Holding Overall Responsibility

Person Responsible for Approval

Ownership

Metadata for Relations to Other Configuration Items

Traces To (and From!)

Tracing Registration

Importance of Tracing

Produced With

Derived From

Consists Of

Metadata for Distribution

May Be Distributed To

Has Been Distributed To

8. What One Must Register for a Configuration Item

Item Approval

Quality Approval

Medium

Content

Examples

Release Request

Medium

Content

Stock Control

Examples

Event Registration

Life Cycle and Responsibility

Content

Created

For Evaluation

Under Decision

Under Change

Closed

Classification

Examples

Change Request

Life Cycle and Responsibility

Content

Created

Implemented

Approved

New Events

Examples

9. What Information Is Available for Configuration Items

Examples

Release Note

Item Status List

Item History List

Item Composition List

Trace Report

Configuration Management as Supplier of Measurements

Ideas for Process Improvement

III. ROLES IN CONFIGURATION MANAGEMENT

10. People and Configuration Management

Configuration Management as a Career

Qualifications

Managing Configurations Is Everyone's Job

Understanding Team Roles

Putting Teams Together

11. Configuration Management Roles

Configuration Control Board

Skills and Knowledge

Multiple Boards

Managing Configurations of CCB Work Products

References

Librarian

Tools

Managing Configuration of Library Work Products

References

Person Responsible for Configuration Management

Planning Configuration Management

Managing Configuration Management Work Products

References

12. Organizational Roles

Management

Defining and Tracking Goals

Benefits

References

Person Responsible for Assets

Different Process Descriptions

References

Person Responsible for Operation

Configuration Management Responsibility

References

Person Responsible for Process Management

Managing Configurations of Process Management Work Products

References

Person Responsible for Environments and Tools

Managing Configurations of Environments and Tools

References

Support/Helpdesk

References

13. Project-Related Roles

Analyst

Benefits

References

Designer

Benefits

References

Programmer

Benefits

References

Integrator

Benefits

References

Tester

Benefits

References

Project Manager

Benefits

Managing Configurations of Project Management Work Products

References

Person Responsible for Quality

Managing Configurations of Quality Assurance Work Products

References

Person Responsible for Customer Contact

References

Person Responsible for Subcontractor Contact

References

14. External Roles

Customer

References

Subcontractor

References

IV. CONFIGURATION MANAGEMENT IN PRACTICE

15. General Principles

Milestones

Identification

Generic Content Lists

Storage

Change Control

Status Reporting

Document Handling

Configuration Items or Deliveries

Identification

Authorization

Tracing

Storage

Change Control

Status Reporting

Emergency Changes

Examples

Principles for “Cheating”

Avoid Cheating

Examples Again

16. Configuration Management in Development Activities

Documentation Activities (Specifications and Design)

Identification

Coding

Unique Identification

Authorization

Tracing

Storage

Change Control

Integration

Production Time

Unique Identification

Tracing

Storage

Change Control

Test

Deliveries

Identification

Tracing

Storage

Change Control

Operational Use

Configuration Management Considerations

Release

Event Registration

Status Reporting

Organizational Considerations

Backup

Maintenance

New Versions

Configuration Management Considerations

Example

17. Managing Configurations for Project Support Functions

Project Management

Example

Deliveries

Connection with Other Processes

Identification

Tracing

Change Control

Status Reporting

Configuration Management

Milestone Deliveries

Storage

Change Control

Status Reporting

Quality Assurance

Connection with Other Processes

Subcontractor Management

Identification

Storage

Change Control

Status Reporting

Delivery

18. Managing Configurations in Different Development Models

Agile Development

Configuration Management in Agile Development

Empowered Teams

Process Handling

Environment and Support

Requirements Management

Working Together

Frequent Delivery of Working Software

Communication and Documentation

Status Reporting

Frequent-Build Technique

Planning Considerations

Configuration Management Considerations

Frequent Builds Are Not Frequent Storage

Identification

Building

Storage

Backtracking

Change Control

Example

Integrated Product Development

Organizational Considerations

Configuration Management Considerations

Approach

Iterative Development

Configuration Management Considerations

Requirements Management

Identification

Storage

Change Control

Status Reporting

Sequential Development

W-Model

Configuration Management Considerations

Identification

Change Control

Status Reporting

19. Managing Configurations for Different Product Types

Composite Systems

Design Considerations

Configuration Management Considerations

Identification

Storage

Change Control

Status Reporting

Multiplatform

Configuration Management Considerations

Identification

Multivariants

Examples

Requirements Considerations

Design Considerations

Configuration Management Considerations

Identification

Storage

Change Control

Status Reporting

Safety-Critical Products

Examples

Configuration Management Considerations

Size of Product (Large and Small)

Small Systems

Large Systems

Identification

Storage

Change Control

Status Reporting

Tool Considerations

Web Applications

Examples

Content Management

Configuration Management Considerations

Identification

Storage

Change Control

Status Reporting

20. Managing Configurations under Special Conditions

Multisite Development (Geographic Distribution)

Example

Organizational Considerations

Configuration Management Considerations

Identification

Storage

Change Control

Status Reporting

Example

Multiple Stakeholders

Get an Overview of the Requirements

Analyze the Requirements

Describe the Fulfillment

Conflict of Authority

Parallel Development

Example

Planning Considerations

Configuration Management Considerations

Identification

Storage

Change Control

Status Reporting

Tool Considerations

Tool Support

Configuration Management Considerations

21. Managing Configurations for Cross-Organizational Functions

Company Infrastructure

Organizational Considerations

Identification

Storage

Change Control

Status Reporting

Cross-Organizational Objects

Configuration Management Considerations

Identification

Storage

Change Control

Status Reporting

External Reuse Component Development

Examples

Configuration Management Considerations

Identification

Storage

Change Control

Status Reporting

Internal Asset Development (Product-Line Approach)

Examples

Central Ownership of Components

Configuration Management Considerations

Identification

Storage

Change Control

Status Reporting

Quality System, Including Process Management

Configuration Management Considerations

Responsibility

Identification

Storage

Change Control

Status Reporting

V. IMPROVING CONFIGURATION MANAGEMENT

22. Getting Started on Configuration Managementup to Capability Level 1

How to Get Started from Nothing 267

Getting the Right People

Collecting Best Practices Internally

Looking at the Outside World

Focus

Look Ahead

First Steps Toward Configuration Management

Establish Baselines

Track and Control Changes

Minimum Documentation

Establish Integrity

Experiences in Implementing Configuration Management

Overall Conclusion

Datamat Ingegneria dei Sistemi

S.I.A S.p.A

Istiservice, S.p.a

Event A/S

Sysdeco A/S

23. Planning Configuration Managementup to Capability Level 2

General Planning Advice

The Plan Itself

Connection to the Project

Template

Table of Contents for a Configuration Management Plan

Configuration Management Plan: Introduction

Purpose

Scope

Vocabulary and Reference Lists

Configuration Management Plan: Management and Relations to the Environment

Organization

Responsibilities

Interface Control

Subcontractor Management

Relevant Standards

Configuration Management Plan: Activities

Identification

Storage

Change Control

Status Reporting

Configuration Management Plan: Schedule

Tasks

Phases and Milestones

Diagrams and Charts

Configuration Management Plan: Tools, Techniques, and Methods

Tools

Techniques and Methods

24. Processes for Configuration Managementup to Capability Level 3

Processes in General

Connection with Maturity Models

Definitions

A Process Is Like a Recipe

Process Model

Configuration Management ProcessesOverview

Special Requirements for Configuration Management Processes

Configuration Management ProcessModel Examples

25. Continuous Improvement of Configuration Managementup to Capability Level 4 and 5

General Software Process Improvement Advice

Processes in Use

Dissemination and Adaptation

Companies at Capability Levels 4 and 5

Metrics for Controlling Configuration Management Performance

Metrics in General

Measuring Methods

Measurement Plan

Examples

Analyzing Metrics for Control and Improvement

Statistics

Balance Point

VariationWhat Is Normal

Control Charts

26. Tool Support for Configuration Management

Classes of Tools for Configuration Management

Individual Support

Project-Related Support

Full, Company-Wide Process Support

Who Should Use Which Tool?

Organizational Considerations

Business Goals

Buy It or Do It Yourself

Environmental Constraints

Legacy from the Past

Financing

Organizational Scope

Ownership

Planning for the Future

Willingness to Change

Selecting a Configuration Management Tool

Evaluation Group

Evaluation Method

Requirements

Detailed Evaluation

Nomination of the Winner

Requirements for Configuration Management Tools

Integration with Other Tools

Performance

Scalability

Usability

Web Access

Requirements for the Tool Supplier

Acquaintances

Employees

Financial Status

Focus

Tool Use

Reputation

Support Facilities

Customizing Configuration Management Tools

One Tool or More

Changing Tools or Processes

From Class to Class

Appendix A. Configuration Management Process Model:A Software Code Example

Appendix B. Configuration Management Process Model:A Tracing Example

Appendix C. Agile SCM

Glossary

Bibliography

Index 0321117662T12242002

Read More Show Less

Preface

My Life as a Software Professional

I have two—well, three really—passions in my professional life: test, configuration management, and process improvement.

I started my career as an all-around developer—a little requirements elicitation, a little analysis, a lot of coding and recoding, and some test—more than 20 years ago. During these first professional years, I always loved testing most—making my work run on the computer and enjoying the satisfaction of being told, in a factual and precise way, that something was wrong. This enabled me to carry out the correction and then finally enjoy the privilege of knowing that at least this error was a secret between me and the computer.

My experience grew, and my working teams grew. The problems grew. I wasn't always certain I had produced what I was supposed to and that I had tested everything. And sometimes an error would recur!

I got a job in which I was responsible for system and acceptance test in a company making software for the European Space Agency. For the first time in my then 12-year career, I heard the words configuration management. I had no clue as to what it was, but as I spent hours and hours trying to figure it out, discussing it with the person responsible for quality assurance and actually using parts of it in my daily work, I came to understand what a wonderful tool I had.

For the first time, I was able to trace my test cases to the requirements. I was able to tell, at any point, how many requirements I had covered in my test specification and how many were outstanding. I didn't have to encounter the frustration of having made test cases for requirements that weren't going to be implemented. Where I had forgotten the reason for a turn in the work, I was able to find a previous version of my test specification and see why I had changed it. I loved it!

The last seven years, I've worked as a consultant, spending a good deal of my time on testing assignments of many types in many companies. One of the things I've learned from these assignments is that there is often a difference between what a customer asks for and what he really wants, what he needs (what you want to give him), and what you're able to give him.

Test consultants are often presented with a system to test without the right conditions for performing a professional test. The requirements may be in any state from nonexistent to brilliantly documented, with a pronounced bias toward the former. If requirements are present, they are most often not up to date. This is partly a requirement specification problem and partly a configuration management problem.

Testing requires resources in terms of time and people to perform the test. These resources are often all too scarce. This is a project management problem.

When test consultants plan and perform a test, they need to establish an overview not only of what has to be tested but also how the test is progressing, what errors have been found, and what the state of error correction is. These are configuration management issues.

It's tempting for a consultant to try to deliver what the customer really needs. However, this approach has some limitations and drawbacks. The art is to strike the right balance between what's needed and what's feasible. One of the things to keep in mind as a consultant is to keep up the standards but keep it light. So I try to keep up the configuration management standards as I solve the test assignment—hoping my customer will get an idea of what configuration management is and maybe ask for some assistance in that direction too.

Another part of my time is spent assessing software-producing companies using the BOOTSTRAP maturity model and method. Like the related Capability Maturity Model (CMM), this model includes configuration management. As an assessor in more than 40 assessments, I have time and again seen the blank look in people's eyes when I ask how they perform configuration management. The eyes are rarely less blank if I elaborate and ask about tracing between work products, production of error reports, or other detailed configuration management disciplines.

On the other hand, people are more than willing to talk about problems they've experienced due to lack of control over what is being implemented and tested—and when—and lack of control over what errors have occurred and which ones are being corrected and which are not.

Although configuration management is one of the basic disciplines for sound development (in CMM it is a key process area at level 2), many people go through a considerable part of their careers without any idea of what it is and how it can ease their everyday tasks, just as I did. So I keep emphasizing its importance and very often recommend it as one of the first disciplines a company should work on when embarking on structured process improvement.

Creation of This Book

In 1999, the Danish organization Datateknisk Forum, an association of about 70 software-producing companies, asked me to write a book on configuration management. This was the result of a survey among the members as to what topic they needed a book on. Some of the comments and requirements that came back from the survey were

  • How do you incorporate configuration management in the development process?
  • How do you handle the fact that different kinds of work products, like documents and code, are treated differently?
  • How do you obtain integration between different configuration management tools? How do you handle multisite development?
  • How do you handle configuration management in relation to object-oriented development—component-based development?

I took on the assignment because in my own experience, configuration management has been of great value, not because I felt I knew much about it theoretically. I know much more now, and I hope I've conveyed some of the understanding, knowledge, and appreciation I've gained during my work on this book. If readers try at least some of the detailed disciplines, I hope they will experience the same enthusiasm about its usefulness that I did.

The book is based on literature as well as experience—and also on attitudes and opinions. It contains a lot of examples, advice, and recommendations that are not to be regarded as The Truth but primarily as the sum of a lot of experience—negative as well as positive.

When I learned that the book was to be published in the Agile Series, I knew little about agile development. But as I studied the values and principles, I found that I had practiced it in parts for years. Agile development is a wonderful idea, and one of the cornerstones of its success is configuration management, so it was a pleasure to be able to contribute to the series with one of my favorite disciplines.

The book may seem a bit heavy to some agilists, but I think it's better to discard some formality and detailed activities deliberately, knowing what one hasn't performed, than to just not perform it out of ignorance. So, agilists and others, read and choose!

Purpose of the Book

This book is not supposed to be a primer in configuration management. It does, however, start with an introduction to fundamental principles, to establish a basic understanding of the concepts used. The main part of the book discusses more advanced issues encountered when configuration management has to be implemented. The overall purpose of the book is twofold:

  • To scare those who are engaging in configuration management! The book will give the reader an understanding of the complexity and comprehensiveness of the discipline. Configuration management is not easy! If you think it is, you'll be unable to solve its tasks in a professional way.
  • To assuage the fear of those who are engaging in configuration management! The book will provide a fundamental understanding of the principles of the discipline, their interrelations and usage. Configuration management is not difficult! All you have to do is do it. If you understand it, it's much easier to specify and plan so it fulfills its purpose and becomes manageable.

It's assumed that the reader has some knowledge of other disciplines within software development, such as planning, design, test, and quality assurance.

0321117662P12242002

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)