The Ins and Outs of SCM
Advocates of software configuration management tools and techniques tend to resort to metaphor when describing why, once adopted, IT organizations can't live without them.
By far the most frequent comparison is to the assembly line popularized by Henry Ford (but not invented by him, as it is widely believed). Before that, workers built complex physical products one at a time: A single person -- or team -- created each part of a product individually and put them together, making customized changes to individual parts so that they would fit together correctly.
Traditional software development followed this same process. And it was inefficient and prone to delays and cost overruns. Using automated SCM development tools, on the other hand, means your development process is infinitely more predictable and reliable. Costs go down. Errors are dramatically reduced. Indeed, SCM -- like the industrial assembly line -- is transforming the way an entire industry works.
Fran Schmidt will attest to that. She was hired by Source Medical Inc. in Birmingham, Ala. three years ago, to be its manager of configuration management systems. Fran walked into a situation where the previous software development lifecycle (SDLC) regime had been broken for more than two years.
"It was horrible," she recalls. "They had onsite development, remote development, were operating on a twenty four-by-six schedule, and none of it was in sync. Not to mention that we had extremely tight budgetary and time constraints."
Schmidt had been watching a small company called AccuRev, based in Lexington, Mass., for several years, and decided to try its SCM product. "We were able to almost immediately achieve low maintenance and lost cost in our very distributed development environment," she says.
What to Look For
Over the last few years, dozens of SCM tools have been released into the market to provide options for IT development professionals who need help managing this complex process. These products support a broad range of diverse functionality. (article continues)
Here are essential capabilities that a good SCM tool will provide:
- Enable "agile development" Using this increasingly popular incremental development methodology, IT development organizations deliver smaller amounts of code more frequently. "In effect, you deliver more, more often," says Schmidt. "You make fewer errors, and customers are more satisfied as a result." AccuRev's support of agile development is one reason Schmidt chose that product.
- Promote parallel development A good SCM product also needs to go far beyond version-control software to support parallel rather than linear development, says Keith West, senior software engineer of configuration management at ACI Worldwide, a maker of electronic payment systems based in Omaha, Neb. "We have more than 300 developers working in parallel on 102 customer-specific lines of code. If we tried to manage that complex a development environment using just traditional tools, we'd go crazy."
- Support your particular business processes Rather than requiring you to adapt your business processes to it, a good SCM tool will be flexible enough to adapt to the way you do things, according to West, who chose Telelogic's Synergy SCM solution for that reason. Telelogic is based in Irvine, California. Agrees Steve Beaver, chief architect of MedAvant Heathcare Solutions, in Norcross, Ga., which provides systems support services to physicians and insurance companies: "In today's IT environment, which increasingly depends on overseas development, you have to pay particular attention to supporting your SDLC processes, and SCM is the only effective way to do that." The more SDLC processes your SCM tool supports, "the easier and more efficient your software development will be," says Beaver, who uses AccuRev because of its SDLC project management capabilities.
- Facilitate compliance with regulations such as Sarbanes-Oxley (SOX) Many companies are being forced to implement SCM by legislation, according to Tom Tyler, chief technology officer of the Go To Group, Inc., a software automation IT consulting firm based in Bellaire, Md. For example, compliance with SOX requires auditable evidence of access control and policy enforcement for any applications impacting financial statements of public companies, and would be virtually impossible without SCM. Tyler depends on Perforce's SCM to help him manage his IT development consulting activities for recruiting giant Monster.
- Deliver quick return on investment Cost and ease of use are very important considerations when choosing an SCM product. "There are some very expensive products out there costing tens of thousands of dollars, and although they might do a lot, are very difficult to use and cost-justify," says Paul Gowan, IT development manager for Columbia Analytical Services Inc., an environmental testing firm based in Kelso, Wash. He chose Team 2 from Alexsys Corporation, which costs less than $2,200 for a 20-user license, because it was easy to get his developers rapidly up to speed and productive. "We were careful to weigh the return on investment of SCM, and cost was a big part of our decision," he says.
Indeed, you have to think of SCM in that way -- as an investment rather than an expense. "The payoff in productivity gains and reduced person-hours will far outweigh the cost of implementing it," says Tyler.