In-Depth
Software Configuration Management: New Tools to Streamline Development
- By Linda L. Briggs
- March 31, 2005
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