SCM helps build better apps faster
Remember when you could build and deploy a software application all on the same platform? Life seemed so much easier then ... or was it? In some ways, it was easier. Developing software certainly was a simpler task. But in other ways, life was more challenging. It took longer to build and deploy software products, and there was less integration of technology, which required firms to purchase separate products for separate tasks.
Now with the emergence of the Internet, distributed development, and heterogeneous platforms and technologies, we are facing new challenges. Developers are forced to deliver higher quality applications in less time, a feat that can be made easier with the use of software configuration management (SCM) tools.
There are numerous SCM tools out there, at all levels of the spectrum. Developers can develop apps without the aid of SCM tools, but the process can be much more challenging that way. Developers can track changes manually, but this involves more time and risk, and is not effective for high volumes of change. The manual scenario works best with one, two or three developers in close proximity to one another. To be successful, any larger development team needs an SCM strategy in place.
"Not doing change management at all," noted Gartner Inc. analyst Jim Duggan, "means you're not doing anything important with your business." The VP and research area director of application development and management in the Cary, N.C., office added, "You don't need a tool to do change management, but you do need to be conscious of how much it's costing you not to."
Those who are not using SCM tools, according to Ellyn Winters-Robinson, director of marketing at MKS Inc., Waterloo, Ontario, "walk a tightrope in terms of the quality of a mission-critical or business-critical application."
"No major organization has a way of controlling what they have [in development]," added Dick Heiman, research director, application development and deployment at IDC, Framingham, Mass. "The question is, 'How formal is it?' Conceptually, this is not rocket science; it's keeping control over your business. Tools give you some ways to be more formal about it and make it easier to track all these things. The bigger the project, the more diverse the team, the more critical the software being developed, the more [there is a] need for something like this."
There has been a considerable amount of growth in SCM tools that address larger projects, diverse teams and critical software. Revenue for SCM tools grew nearly 23% from 1999 to 2000, according to IDC, and is expected to continue growing at a compound annual rate in the mid-teens through 2005.
SCM tools are still predominantly used for version control and change management, including requirements management, but the idea of collaborative, geographical development teams is growing and giving these tools new avenues. Other driving factors include the complexity of the Web, the increasing cost of failure of Web-based applications, and the complexity resulting from the overlap of code and content in Web-based applications.
High-end SCM tools that can support large development teams building complex applications are going to be the fast-growing part of the market, according to Gartner's Duggan. "Money is going to be spent in high-end tools in the next couple years," he said. Tools that fall into this category include Rational ClearCase, Merant PVCS Dimensions, Computer Associates' (CA) Endevor and CCC/Harvest, Serena ChangeMan, Telelogic Synergy and MKS Source Integrity Enterprise. IDC considers MKS's offering more of a midrange tool, but Gartner says the company will probably be a leader in the market in the near future.
Conseco Finance, St. Paul, Minn., has been using MKS Implementer, an AS/400 change management solution, for five years and is in the process of rolling out MKS Source Integrity Enterprise. The financial company has numerous apps to provide financial services to its customers.
Before adopting Implementer, Conseco relied on an ad-hoc process for change management. The company needed some sort of structure behind that, however, because a considerable amount of change was taking place in its applications. "Implementing those changes was causing a lot of hardship," noted Bob Halvorson, senior technical architect.
Conseco looked at about five different solutions before choosing Implementer. "We thought the features on Implementer were stronger for our needs," Halvorson said. "It cost a little more, but we wanted the best solution for our company." Implementer has given the company more stability in its applications. "Before the advent of our change management strategy, oftentimes our applications were up and down based upon the amount of change going on," Halvorson added.
Because Conseco is a national financial products and services firm, it has to deal with different regulations in each state for manufactured housing and similar things. "We institute 50 different project changes a week in probably an average of 600 objects," Halvorson said, "and we do it seamlessly and without pain. Five to six years ago we weren't making that much change, but we would often stub our toes."
While Implementer is specific to AS/400 projects, MKS Source Integrity is a change management solution for open-systems platforms. Conseco plans to bring up five or six applications using Source Integrity in a six-month timeframe. "Our open systems are growing more and more each day," Halvorson said. "We're looking for that same stability and functionality that Implementer is on our other platform."
Very high-end tools include a workflow engine to help automate the process of management and production. Telelogic, Merant, CA, Serena and MKS all have workflow at the heart of them, Gartner's Duggan said, and Rational is working on adding it. By automating the change management process, SCM tools with a workflow engine reduce the opportunity for human error. These tools then ensure that the process is followed accurately, that things are approved at the right level and that people who need to see changes do so.
CA Endevor and Serena ChangeMan are highly mainframe-based. Both tool vendors, however, are embracing a distributed development world as well. CA, Islandia, N.Y., is combining its Endevor product with CCC/Harvest, which it acquired from Platinum Technology. The combined product, Enterprise CCM, supports a process-based software development life cycle for cross-platform development. The new release was in beta testing at press time.
The acquisition of Diamond Optimum Systems a few years ago similarly allows Serena Software, Burlingame, Calif., to provide a distributed SCM tool. "People are no longer developing apps for client/server, NT, Unix, mainframes or AS/400. Now they're developing products for multitier, multiplatform environments," explained Tony Stayner, vice president of marketing. Serena ChangeMan provides a single point of control to manage change to applications that run across the Web, Windows, Unix and mainframe environments.
Ecolab, a St. Paul, Minn.-based global developer and marketer of premium cleaning, sanitizing, pest elimination, maintenance, and repair products and services, uses Serena ChangeMan in both mainframe and client/server environments to manage virtually all of its application development. After relying on a manual SCM process and homegrown tools on the mainframe, Ecolab wanted a solution that would allow developers not to step on each other's toes, noted Chuck Mason, senior operations analyst. The company also wanted the ability to manage the entire application development life cycle, as well as the ability to lock down the software in the production area and various development cycles.
Ecolab looked at both CA Endevor and Serena ChangeMan, and chose the latter because it fit the bill and was customizable. A few years down the road when Ecolab needed a client/server SCM tool, it was a no-brainer to stick with Serena. "You want to have one tool that you'll be able to take and apply or make changes throughout your entire network," Mason explained. "Over time we should be able to get there. With what they have in the current release, you can tie changes together that are dependent on each other between a mainframe and a client/server environment and move those changes in."
The adoption of Serena's tools has made Ecolab's programmers more productive and its software more reliable. "We have the ability to determine what changes may have caused problems based on our trail of changes that have taken place. [ChangeMan] ensures that developers have tested their changes appropriately because they have to move the code to the QA environment before putting it into production," Mason added.
American Greetings has found that its adoption of CA Endevor has made its development process more efficient as well. The Cleveland company manufactures and distributes social expression products such as greeting cards, gift wrap, calendars, balloons, candles and stationery. Endevor is installed on the firm's OS/390 mainframe and is used for all program development, including financial, retailer information, seasonal systems, payroll, creative department for digital imaging and manufacturing.
Before adopting Endevor, the company relied on Panvalet source manager software, also from CA. Panvalet is a less sophisticated tool that does not include all the bells and whistles Endevor has, noted Tom Brown, source management administrator for American Greetings. "We had Panvalet but it didn't have the security level we were looking for and some reporting capabilities we like to do," he said. "We upgraded to get a product rich in function and features."
The use of Endevor has made American Greetings more timely in its development. "One of the reasons is it forces standards for everybody that does program development," Brown said. "When somebody does a COBOL compile, everybody does it the same way. There's no variation." There is a learning curve for developers new to Endevor, but American Greetings has been repaid several times the initial cost of the product, Brown said.
Brown is looking forward to the release of Enterprise CCM. "It's going to marry both Endevor and CCC/Harvest and control implementation of source programs both to the client/server and mainframe environments by controlling it at one level," he said. "There's some coordination that needs to occur when you install one or multiple programs across several platforms. It takes the pain out of doing cross-platform installation because of the internal footprints and timestamps that ensure that all of its components are ready before they are moved to production. Using the tools separately doesn't provide that check."
Hewitt Associates, a Lincolnshire, Ill.-based global management consulting and outsourcing firm specializing in human resources, built its company on mainframe development. It used Endevor for that and still uses it quite heavily. When the company started developing in the Web world about two years ago, however, it faced a need for a new SCM tool to aid in those projects.
The company quickly outgrew its original source-code control tool and started to look for more robust commercial SCM tools, according to Bill Richards, systems administrator. Hewitt chose CM Synergy from Telelogic (formerly Continuus), Irvine, Calif., based on its scalability, task-based methodology and security.
Hewitt uses CM Synergy for several groups. The main one, Automated Participant Services (APS), consists of 520 CM Synergy users relying on the product for version control and the test phase. The company does about 100 application builds a day, said Richards. The use of CM Synergy has "allowed the APS group to scale up their client delivery," he said. "They delivered six clients in the first two years. In the past year and a half they delivered another 80."
Richards appreciates that CM Synergy standardizes his company's development. "It's nice to have all the people looking at the exact same process structure. They know where it goes, and everybody else knows where to find it," he said. "From a build manager's point of view," added Richards, "there's probably no other tool that would allow them to do 100 builds a day with three or four people."
Hewitt has an office in the U.K. that is also starting to do more developing. The company plans to implement CM Synergy Distributed Change Management (DCM) to share code between the U.K. and Lincolnshire offices. "Teams in the U.K. will start doing more of the client customization code over there. DCM will tie them to be able to work with people here in the same project mode," Richards noted.
Like Hewitt, the Airline Tariff Publishing Company (ATPCO), Dulles, Va., is developing in two different environments. "Ninety percent of our applications are mainframe-based and the rest are Web-based," said Rakesh Nayak, project manager, core development group. The company, which publishes the rates for more than 500 airlines, is using Merant PVCS Dimensions as a version and change management tool for all of its applications.
ATPCO started with Visual SourceSafe for its client/server applications but upgraded for more functionality. The company relied on manual change management for its legacy applications, a process with many holes. "In this area, the real problem was that people could update others' modifications without their knowledge since there was no way we could have a lock on any source code," Nayak explained.
The company wanted a tool that could be used for both legacy and Web-based apps. ATPCO found that PVCS Dimensions met all of its requirements even though the tool did not provide mainframe support at the time. Merant promised that the new release would provide that support, and it does. "We are yet to move all our existing apps into Dimensions," Nayak noted. "Once we do that, I am confident we will reach our goals and business objectives."
The right tool for the job
SCM tools abound, from versioning control all the way up to automated workflow processes. How do you decide which tool is right for your organization? "The key is to match the tool and functions of the tool to what processes you have in place, and to make sure your processes are good to start with," Gartner's Duggan said. "Having a tool and not using it properly is more expensive when disasters happen," he added.
High-end tools have a learning curve and can be costly up front, but they provide stability, consistency and ease to organizations. "Good software development practices will save companies money," MKS's Winters-Robinson said.
"Any group seriously considering real application development would be foolhardy to do that without the use of SCM tools," added Andrew Weiss, CTO at Merant PVCS, Rockville, Md.
These tools are not only helping to tie the entire change management process together, they are tying the entire IT process together as well. "By using these tools and tying it all together, they have one look and feel," noted Jim Sopko, product manager for change management solutions at CA.
"Once you understand the changes, you see it's about understanding how the business runs," added Greg Clancy, CA brand manager for application life-cycle management. An adequate understanding of the business can put you that much farther ahead of the competition.