HP Office Products Division

Two disparate Hewlett-Packard divisions managed to reuse important software assets by migrating to a state-of-the-art software configuration management (SCM) package. HP's San Diego-based Office Products Division used Rational ClearCase to better integrate programmer work with its printer software division in Vancouver, Wash. The key: remote database synchronization.

John Cavanaugh

"Items that used to take us four to six weeks to complete now take about half a day."

"The other [printer] division is really a hub in terms of development, and our site is more of a spoke on the hub," said John Cavanaugh, process engineer at the HP Office Products Division. "We pull a lot of code from [that division] to our site. This software has a lot of time, and large amounts of money and energy invested in developing it. The more you can reuse code across different divisions and across different products, the more valuable it becomes."

When the office products division first started to reuse code more than two years ago, it would wait for the printer division to complete the code and bug fixes. Cavanaugh's group would then take a large chunk of code and make changes to it. Though offering some improvements in efficiency, this was still a time-consuming task. In an effort to accomplish faster time-to-market, HP's office products group began working in parallel with the printer division, said Cavanaugh, so that "we could shrink the delta" between Vancouver completion and San Diego completion.

But distributed source code development created a lot of problems with the SCM system. According to Cavanaugh, the Microsoft Visual SourceSafe system that the division used at the time did not include remote database synchronization. This caused scalability problems and database corruption issues. A year-and-a-half ago, after an extensive tool search, Hewlett-Packard installed ClearCase from Rational Software Corp., Cupertino, Calif.

"There really are no other SCM packages out there that I'm aware of that support remote database synchronization," said Cavanaugh. "The ClearCase multisite capability is a very powerful aspect. We are now in-sync with our division in Vancouver and have hourly updates in terms of code. Items that used to take us four to six weeks to complete with the previous SCM system now take about half a day."

ClearCase, which runs on numerous platforms, including HP-UX and Windows NT, helps manage multiple versions of evolving software and tracks the versions that are used in the many releases or checkpoints a project may have. It displays the history of development in a "version tree," which shows specific branching and merging activities.

"ClearCase allows unlimited branching," said Claudia Dent, director of marketing for Rational's ClearCase. "A number of different developers can access the same file or work on a version of the same file at the same time. ClearCase provides sophisticated tools to later reconcile these changes with the repository."

Originally produced in 1992 for Unix by Atria Software, Lexington, Mass., ClearCase became available for Windows NT in 1994. The product's underlying database structure is the Raima database referred to as version object base (VOB) from Raima Corp., Seattle. According to Dent, the product fits in nicely with the entire Rational solution, which spans the software development life cycle. "If you want to automate the software development area, you need requirement management, visual modeling, automated testing, configuration management and process automation tools," she said.

The HP Office Products Division has well over 10,000 files in the repository. "We have a large-scale demand in terms of source code management," said Cavanaugh. "Moreover, it's important to manage a multisite relationship. ClearCase is a very nice product, but it's also a fairly substantial product. You need someone who is experienced to administer it. We have one person here dedicated to it."

"With our relationship with [the HP division in] San Diego, we replicate a VOB to San Diego," said Dave Bellagio, software design engineer, HP Engineering Productivity Services, Vancouver, Wash. "What that means is that we can both change the same element. They can grow one branch and we can grow another branch, and then we can kind of merge things back and forth."

According to Cavanaugh and Bellagio, one of the biggest challenges in using the ClearCase MultiSite system to dynamically replicate VOBs was in establishing a well-architected infrastructure. "As a dynamic file system, ClearCase MultiSite requires a fair amount of network overhead," said Cavanaugh. "If you don't have a very solid networking infrastructure, things can be rather problematic. The response time will be poor, and you don't want to have well-paid developers sitting around twirling their thumbs."

The recently released ClearCase 3.2 includes a snapshot view feature, which eliminates the heavy emphasis on network infrastructure and allows developers to download the file -- a snapshot of their work -- to their PCs. The HP Office Products Division was rolling out ClearCase 3.2 to its developers when ADT spoke with Cavanaugh.

"Snapshot Views is certainly going to be the most-liked new feature," he said. "A lot of people here will be using it. With Snapshot Views, developers can work at home using an ISDN line. They could not do this with ClearCase MVFS [multiversion file system]."

Compared to HP's Vancouver site, Cavanaugh's group is rather small -- approximately 40 developers who use ClearCase on NT. The Vancouver site constitutes a large percentage of HP printer software development, with about 60 developers on the Unix side and 130 on the software side who use NT.

Bellagio, whose group creates ClearCase policy, developed what he calls ClearTask, which runs on top of ClearCase. "Developers here think in terms of tasks," said Bellagio, adding that he created ClearTask before ClearGuide, Rational's policy and process management tool, became available.

According to Bellagio, ClearCase works well, creating a seamless environment for replicating databases.

Added Cavanaugh, "If someone has a shop with five developers and a couple of hundred files, ClearCase may be overkill. But if you are working with 20 to 40 people on multiple projects and at the same time you share code between these projects, I don't know how you can do it without ClearCase."