In-Depth

Software Configuration Management: New Tools to Streamline Development

Talking Points
SOFTWARE CONFIGURATION MANAGEMENT
  • Today’s complex application development environments demand sophisticated tools to track not only project duties, but also the issues that arise when the work involves more than one small group working in the same building.
  • Key questions to ask when considering SCM: Will moving to something more sophisticated save time and money? How have tools evolved recently?
  • If you’re considering an SCM tool, don’t let it impede the way your company develops software. Rather, the tool should allow your people to do their jobs the way you want them to.

Software development projects are becoming increasingly complex, driving a growing number of development shops to consider sophisticated software configuration management tools to manage their projects. Offsite development teams at Autodesk in San Rafael, Calif., for example, pushed the company to consider a more robust solution than the one they were using.

That meant moving from Microsoft Visual SourceSafe (VSS) to Perforce SCM from Perforce Software. Perforce is a client/server, multiplatform source control management solution. Because it can be accessed over the Internet by offsite development teams, it can be a good solution for distributed development.

Brad Holt, an SCM administrator for software maker Autodesk who works out of its Portland, Ore., office, says that as he began to manage more and more people several years ago, including development teams in several U.S. cities, he came to realize he needed more robust source control.

Holt’s teams of developers use Perforce mainly for core revision management and branching. “I understand SCM can have a much wider scope,” Holt says. However, for his division, the tools work well with others the company mandates, such as Clarify, part of a CRM suite from Amdocs for bug tracking, and Microsoft Project, for managing requirements and specifications.

The search for a more powerful SCM tool began with Autodesk’s move to distributed development. “We acquired a team in San Diego, which required people to develop on the same database,” Holt says. Without client/server capabilities, Holt’s group ended up splitting the database into two logical parts, then reassembling the pieces each night. That simply proved to be “too painful” on VSS.

From three locations and 60 or so developers, Holt’s team has grown to eight development sites around the world, and upwards of 450 developers. Today, “the SCM server is being hit 24 hours a day, 365 days a year,” he says.

“VSS is nice for a small team all in one office,” Holt says, and in fact, there are developers at Autodesk still using it.

More complex projects, better tools
Any group larger than a couple of developers talking to one another over a cubicle wall needs a software configuration management tool or suite of tools to manage the development process.

Product vendors are blurring the lines between functions such as change and configuration management, and process control and project management. Larger players are buying smaller companies, usually with the intent of broadening their SCM offerings to keep pace with competitors. Users may find they’ll have fewer companies to choose among, as well as more complex offerings and expensive choices.

There’s no doubt today’s complex application development environments demand sophisticated tools to keep track of much more than just who is doing what to which piece of code. Evolutions such as worldwide development teams, concurrent development, the increased complexity of Web sites, and distributed and cross-platform development all add to the complexity.

Growth predictions for the SCM market highlight the interest companies are taking in getting better control of their processes in general. In a fairly bleak market for software tools, configuration and change management tools promise some growth. Gartner forecasts just under five percent growth in new license revenue for software change and configuration management tools over the next five years—not great, but a few percentage points higher than the growth in the software tools market overall.

SCM’s focus widens
Because many users already have some sort of software configuration management tool in place, or perhaps a change management or error-tracking tool, the question becomes: Will moving to something more sophisticated save them time and money? How have tools evolved over the past 18 months or so? What are companies offering now that hasn’t been available before?

One interesting aspect of SCM products today is their evolution into tools that manage much more than they used to. Vendors now tout them as effective in helping companies comply with government regulations like including Sarbanes-Oxley, for example. (See sidebar “Fed Regs and the Return of the IT Audit.”)

Mergers and acquisitions are accelerating and have become a major trend in software configuration and change management tools, according to Gartner analyst Jim Duggan. As with other categories of tools, vendors of SCM are folding more and more functionality into larger toolsets to boost sales efficiency (It’s often easier to sell one big tool than lots of smaller ones.), reduce integration complexity and enhance ease of use.

As an example of a company that has broadened its SCM focus, Duggan cites IBM, whose Rational products lead the industry in market share. “Rational had a group of fairly narrow suites, but [IBM is] building out more broadly,” he says.

The backbone of software configuration management tools continues to be configuration management, tracking, and issue management. Vendors typically add functionality such as project portfolio management and process management on the operations side.

Not surprisingly, Duggan says the trend toward larger, more complex and full-featured SCM products tends to favor larger vendors over smaller ones, something you’ll want to keep in mind if you’re evaluating new products.

Blurry lines between product categories
In addition to other changes taking place, the worlds of change management and configuration management are merging—so much so that Gartner now refers to them by a single term: configuration and change management software.

According to longtime SCM consultant Michael Sayko, “Vendors who have been in this space for a while are now offering suites of products that extend beyond version control and configuration.” Sayko, who works mostly with Fortune 500 companies, says that can be a good thing but also can lead to problems. That’s because companies are often enticed to choose a more complex tool than they really need, simply because the package seems to offer it all. (See sidebar “Software Configuration Management Shop Talk.”)

In general, the move to add functions beyond version control and configuration management benefits development shops, Sayko says. Several years ago, companies began realizing that tying change requests back to a requirements database could be beneficial, Sayko says. “Rather than just checking in files to a version control tool, I can tie every single check-in to a change request—a bug that’s been fixed, or a new feature I’m developing. That makes the check-ins much more meaningful, since they can be tied to ‘I’ve fixed Bug No. 5,’ not just ‘I’m checking in a file.’”

Integrating change request tracking and workflow automation features with version control software is now a given with most SCM vendors. That sort of integration gives shops the tools to help them tie workflow automation into their software development.

In addition, more vendors are adding a requirements component to their packages, Sayko says. The IBM Rational-size products offered it, but now companies such as Borland and MKS are also including it.

Distributed development
The increasing complexity of its products, along with its distributed development process, drove New Hampshire’s MARKEM in 2001 to switch from VSS to a suite of SCM products from Sweden-based Telelogic. MARKEM, which has several engineering centers around the world, is a leading provider of product identification software, equipment and services for corporate use, such as pallet labeling and case coding.

Curt Merrick, manager of software process and support at MARKEM, helped the company select Telelogic’s Synergy/Change and Synergy/CM products for software change and process management, and DOORS for requirements management. In 2005, MARKEM plans to develop and implement a corporate-wide issue tracking management system, and Merrick says he’ll probably select Synergy/Change for that as well.

Globally, MARKEM has four engineering centers, including centers in New Hampshire, Great Britain, and San Diego. Virtually all development is done in a Windows environment. Although the engineering teams are small, Merrick says the company realized a few years ago that the increasing complexity of the company’s products, along with distributed development, dictated more functionality and reliability.

“It was pretty obvious that we needed more sophisticated tools,” Merrick says. MARKEM was using VSS, along with Revision Control System, an open-source version control and configuration management solution on a UNIX server. Specifically, Merrick cited two problems with VSS: “The database can wind up getting damaged so that the historical data gets lost. We had also lost some updates [due to VSS], so that on one release, we fixed a problem, but on the next release, it was back.”

Key features in any SCM solution the company considered included the ability to handle distributed databases, and sophisticated tasking requirements. Merging two files was also high on the list, since even with small teams, Merrick anticipated several developers working on the same file at the same time. Finally, he wanted a product that could easily be incorporated into the company’s everyday processes.

After some struggling initially to get engineers to accept the new product, Merrick says, “[Synergy/Change] is becoming very widely accepted here.” The company is now using it for documenting and managing defect repair, as well as tracking system enhancements.

Globally managing software
For global companies with branches around the world, one of the challenges of managing software development is this: To produce company-wide solutions that are developed and managed as a single software package, but need slight tailoring by local subsidiaries to reflect a different currency, for example.

Add to that the difficulties of managing thousands of developers across more than 50 countries, with many languages and time zones. That’s the challenge facing one of the world’s largest banks, which recently moved to MKS’ Integrity Solution suite as its company-wide standard for distributed software change and process management.

The bank uses Integrity Solution to maintain several source code repositories in various locations around the world and is responsible for providing configuration, process and release management of more than 150 global banking applications. The software works across platforms that include Windows, UNIX, and IBM’s zSeries and iSeries.

The bank faces challenges as its development lifecycle evolves from individual developer groups satisfying local business needs, toward building single solutions deployed to branches around the world, according to a technology manager at the bank. Moving to a method in which the bank develops a system once, then deploys and manages it worldwide, he says, is no longer a matter of choice: “It’s absolutely vital…if we’re going to be successful. We want to be able to develop systems once, then push them out to all locations worldwide.”

The bank’s selection of MKS was triggered by its move to Java development, particularly IBM’s WebSphere Application Server. With Java, the company needed a code management repository and deployment capabilities for a distributed platform.

Today, more than 7,000 of the bank’s developers around the world use MKS, either Integrity Solution or an earlier MKS installation, Implementer, which continues to handle change management for the IBM iSeries.

More Java development in the future will drive increased use of change management tools. “We’ve got an increasing amount of Java [development] going on in the future, and code deployment, code management, lifecycle management [are all] increasingly important areas for us,” the manager says. “We need to be able to deliver to production environments [and] test environments in a non-disruptive, automated manner without human intervention.”

Surveying a changing landscape
As you evaluate the shifting landscape of SCM tools, remember that it’s an area that’s changing quickly. Larger players are acquiring smaller ones, products are taking on more and more functions, and SCM tools are being marketed for a variety of uses beyond basic configuration management.

End users mulling over how their shops might benefit from a new product might want to keep in mind some final advice from SCM consultant Sayko. Rather than looking at an SCM tool as a way to keep a lid on software changes, it should be viewed as an enabler, he suggests. “People need to come at configuration management tools from the mindset that a good tool is facilitating the way the organization develops software,” he says. “You want people to follow a discipline rather than a heavyweight process. A good tool, used properly, will allow people to follow this discipline, and to work in a team environment in the most productive way possible.”

Sidebar: Software configuration management shop talk
Sidebar: Fed regs and the return of the IT audit
Chart: Software configuration management product roundup