Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

May the Source Be with You: A Special Guide to Configuration Management Tools


<Click here to view the Tool Matrix for our Special Guide to Configuration Management Tools (PDF 28K).

Ultimately, software is about source code. Successful IT shops know, however, that their executable assets are defined by more than just business intelligence captured in structured arrangements of ASCII characters. Configuration management is an umbrella term that spans the broad range of the application lifecycle, from version control to change management and everything in between.

Yet, even though most IT professionals know the importance of version control, many organizations have yet to formalize its usage.Considering the implications of Sarbanes-Oxley legislation, opting to overlook such a liability is a risky proposition indeed.

Different Tools for Different Needs

The evolution of configuration management has followed the same trajectory as distributed software development, from allowing multiple developers access to the primary source-code tree to the identification, assignment and resolution of application behavior changes in the form of auditable change control. Depending on the size and complexity of a software project, configuration management needs may be as simple or as multifaceted as the range of tools that help manage them.

This guide examines several remarkable and best-of-breed products in three classifications: source control, bug tracking and change management. Each category builds on the others, with change management tools providing the most comprehensive and, consequently, the most expensive option. Many of the products represented in this final class are an amalgamation of source control and code-tracking tools that are often obtained through company acquisition.

Source Control

At the heart of any SCM system is source control. Without this foundation, diffing, auditable version forking and multiple branching of development and release bits would be unmanageable, let alone tracking any changes made among team members. Because source code is so critical, choosing the wrong solution for the job can be a catastrophic error. That's why full-blown change management system vendors have invested so heavily in source control. Yet some development teams don't require or can't afford the sophisticated event triggers and detailed audit trails that code-tracking and change management systems provide, and this smaller, nimbler market segment can be adequately served by several products. In addition to freely available open-source version control systems such as CVS and Subversion (for more on these tools, see "At the Core of Open Source SCM"), vendors such as Relisoft and SourceGear have built their businesses on providing robust source control to a distributed team. Other companies, such as BitMover, are crossing boundaries beyond the version control stack into broader project management capabilities while focusing primarily on their core technology of distributed-team source control.

Code Tracking

The distance between simple source control and full-blown change management leaves a market gap where vendors compete with feature-rich yet cost-effective solutions. Some products optimize the project management aspects of development while others focus on linking defect tracking, testing or requirements. Standouts include AccuRev, for its agile approach to SCM patterns, and Surround SCM, for its broad, cross-platform integration support into numerous IDEs. These tools are especially useful for development teams seeking an organized repository that is responsive to rapid change.

Change Management

The best configuration management tools handle the intricacies of the entire software application lifecycle, from the input of requirements to the output of an executable result. Increasingly, organizations want to monitor each step of the development process closely and seek instantaneous playback of any state of the objective along its critical path. This feature is useful not only for satisfying management expectations but also for complying with Sarbanes-Oxley regulations. While some low-end products simply dump alterations to a detailed log file for later analysis, many change management solutions provide painstaking detail with full drill-down exploration of specific changes.

Some products, such as Embarcadero's Change Manager and Cendura's Cohesion, handle distinct aspects of configuration and change management. Change Manager's focus is on database changes, while Cohesion keeps track of application configuration monitoring and enforcement.

The change management category mostly contains "aircraft carrier grade" end-to-end application lifecycle solutions. This is the V'ger (idea courtesy of Star Trek: The Motion Picture) class of products, grown from humble source control into expansive and seamlessly integrated workflow tracking, from the requirements capture phase to build management and reporting. Examples include MKS Integrity Suite and Serena ChangeMan Professional, and their pricing reflects their level of sophistication. Other vendors, like Borland and IBM, take a plug-and-play approach to pricing, with solutions that fit into their overall enterprise suites at a cost that matches or even exceeds the single-box purchase.

Evaluation Criteria

The configuration management marketplace is vast—hundreds of commercial and open source products are available for consideration. Consequently, the selections listed in the Tool Matrix represent only a fraction of the total solution set, to demonstrate the diversity of some products and the popularity of others. Some are well established, best-of-breed choices while others are relatively new to the marketplace but offer innovative approaches to lifecycle management problems that are as old as software development itself.

At the Core of Open Source SCM
Subversion is a new contender that may leave CVS in its dust.

Concurrent Versions Systems has for years been the staple tool for managing open source code trees. Even in an era of rich user interfaces and XML, CVS has become the de facto standard for the way a source control system should operate. Throughout its evolution, CVS has weathered the change with improvements in security to CVS over secure shell (SSH) support and advanced command-line syntax, but the core technology has hardly changed since its introduction nearly 20 years ago. Realizing that CVS has peaked, and, frustrated by CVS's 20th-century ancestry, several motivated programmers, including Karl Franz Fogel and Ben Reser, have created an alternative to CVS that is disruptively gaining in popularity. The team chose the name Subversion to describe not only the product's powerful versioning abilities but also its intent to displace the CVS incumbent. Currently at version 1.2.0, the tool is available for free download.

Though not yet ubiquitously supported by third-party tools, Subversion has nevertheless made stunning progress in its brief history, including winning the Software Development Jolt Award in 2005. Several major open source projects, including Samba and KDE, have already made the switch from CVS to Subversion. Subversion trumps CVS with several major advantages, including the versioning of files, directories, file metadata, binary diffing, truly atomic commits and WebDAV Web standards support, just to name a few. One of the better books on learning the Subversion source control system quickly is Mike Mason's Pragmatic Version Control Using Subversion (Pragmatic Bookshelf, 2005), part of the Jolt Award-winning Pragmatic Programmers series. As CVS continues to give way to Subversion, new releases of configuration management tools will continue to elevate Subversion as the default tool of choice.

—M. Riley



Why We Chose 'Em
The products were evaluated by claims, buzz and cost.

Due to the category's expansive nature, the configuration management tools grid has been striated to make it easier to identify the products in the source control, code-tracking and change management classes. The columns are the same for each class and contain the following categories:

  • Features and Claims. This category focuses on the product's unique aspects and how it stands apart from similar solutions.
  • Market Buzz. This is a subjective analysis of the product's features and claims as they fare in the real world. This category is especially critical because of the wide range of choices available in the realm of configuration management solutions.
  • Cost. This is always a challenging category to assess, which explains why most of the featured vendors do not advertise their product's price on their website. Whether due to total cost of ownership analysis or flux in the marketplace, costs listed (especially for the more expensive products) can often be negotiated based on volume and usage.


Mike Riley is a Naperville, Illinois-based advanced computing professional specializing in emerging technologies and new development trends. Contact him at [email protected].


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.