26.1 Classes of Tools for Configuration Management

The purpose of using tools for configuration management is to automate as much as possible of the noncreative, tedious activities. Every configuration management tool automates some of activities to a certain degree. Few tools automate everything. Many people are involved in configuration management; therefore, there are many points of view about tools.

When you discuss tools, it's helpful to classify them. One way consists of three classes: individual support, project- related support, and full, company-wide process support. These are illustrated in Figure 26-1. Arrows indicate the relationships be-tween classes. This means that the classes may be seen as following each other in terms of complexity and maturity.

Figure 26-1. Configuration Management Tool Classes

graphics/26fig01.gif

Individual Support

Examples of individual support tools are those for version control, build handling, and change control. These are the most primitive forms of configuration management tools.

Version control tools handle storage of individual configuration items, primarily source code, in a space-saving manner, by means of the so-called delta technique, storing only the differences from the previous version. Most if not all of these tools will re-create any given version of an item. Some are able to handle files in non-ASCII formatsuch as documents written in Word, executable files, and various types of graphic filesbut many of them can't, which a buyer needs to be aware of.

Build handling tools may, in their simplest form, be scripts that control compilation and linking of individual items to form deliveries. More advanced tools may be able to handle parallel processing, to speed up builds of large systems. One of the newest build tools is Cruise Control, originally from Thoughtworks. This tool, which is open source and uses an agile approach, extracts the latest checked-in set every 15 minutes, runs regression tests, and e- mails everyone whose code failed a test.

Change control tools include simple ways to control event registrations and change requests. Most of these tools don't integrate easily with other tools, so reporting on the relationships between event registrations, change requests , and configuration items is difficult.

Despite the above descriptions, individual-support tools are by far the most used in the industry today. Examples are PVCS from Intersolv, Visual SourceSafe from Microsoft, and Cruise Control from Source Forge.

Project-Related Support

These tools support many of the needs of development teams and integrators. Most of the tools can handle development in a distributed environment and can create, merge, change, and release deliveries and individual configuration items. The tools often include some workspace handlingthey're able to handle controlled libraries apart from working libraries, such as by allowing users to copy part of or an entire system to their own workspace to support their development.

In fact, some will say that workspace management is one of the key features of modern automated configuration management systems. These tools should integrate as smoothly as possible in an existing development environment and include as many configuration management activities as possible. Examples of tools from this class are ClearCase from Rational and StarTeam from Starbase.

Full, Company-Wide Process Support

Also called total- process-oriented tools, these tools support an integrated process approach to configuration management. Their advantage is that they can support and automate total process modelsthey support workflow, roles, and responsibility in an integrated configuration management system consisting of the handling of many types of items, metadata, and event life cycles. Examples of tools from this class are Harvest from Computer Associates and WorkManager from CoCreate/Hewlett-Packard.

Who Should Use Which Tool?

Tools from the various classes fulfill different needs. One cannot say, for example, that a full, company-wide process-support tool is "better" than a version control tool. Each class contains good, useful tools. In general terms, you could say that

  • Individual support tools fit smaller companies or development groups, with a small number of releases and no variants, where complicated configuration management activities are few and can be handled manually.

  • Project-related support tools fit medium to larger companies that have a need for handling variants and parallel development but not for formal development (e.g., certification or security approval).

  • Full, company-wide process-support tools fit larger companies that have a need for handling variants and parallel development and that work with structured process improvement in configuration management and related areas. Such tools may also be suitable for companies that develop composite systems, that need to perform configuration management for hardware, software, and other types of items.

Selecting the most suitable configuration management tool or tools is easier if the first decision is the class in which the tool is found.



Configuration Management Principles and Practice
Configuration Management Principles and Practice
ISBN: 0321117662
EAN: 2147483647
Year: 2002
Pages: 181

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net