<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 vasthundreds 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
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 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:
|
Mike Riley is a Naperville, Illinois-based advanced computing professional specializing in emerging technologies and new development trends. Contact him at [email protected].