We have development centers throughout the world, and trying to support that with ClearCase would have been a nightmare. With Perforce, it's been a breeze using it for local development or with the Perforce Proxy for remote centers."
Software Engineering Manager, Amdocs
Bruce Painter is Software Engineering Manager at Amdocs, Seattle, WA.
Top 10 Tips for Migrating to
It's been four years since customer experience systems leader Amdocs, the number-one global provider of software and services to communications service providers, migrated its version control from IBM Rational ClearCase to Perforce. They're still singing Perforce's praises. You might not expect a worldwide enterprise like Amdocs—$3 billion in revenue, 19,000 employees, and development centers in Cyprus, India, Israel, Austria and Germany—to be nimble. You wouldn't expect a huge deployment of a new hub for the company's software operations to be anything less than nightmarish. But Amdocs' experience proves that switching SCM systems needn't slow you down.
Why would a global powerhouse like Amdocs consider moving to Perforce? For all the usual reasons:
- Slashing licensing and administration costs
- Coordinating distributed teams around the world
- Increasing developer productivity
- Enjoying peerless technical support
Here's how they did it—while only halting development for one day.
Conceptual differences between ClearCase and Perforce can turn a detailed history import into a months-long marathon.* Migrating everything at once is not the only option, however. Another is to migrate only active branches and preserve their relationships so developers can begin working in Perforce right away, while backfilling the history from ClearCase over time. Or, the history can be exported to an external storage device—which saves on license fees but hampers developer access to version history.
Ultimately, cost, procedural and legal questions pointed Amdocs in the direction of migrating their active branches now, while retaining ClearCase for IP provenance. This ClearCase-aware baseline-and-branch import (BBI) strategy allows different teams to move to Perforce on their own schedule, presents few technical risks, runs quickly and preserves interesting history points.
"Interesting was defined as code lines we were actually supporting in our production environment," explains Bruce Painter, Software Engineering Manager for Amdocs. "We had a handful of customers with specific versions in their production or testing-and-staging environments. That's what we decided to move forward."
Strategy in hand, the team took about three weeks to capture data and script the process, with multiple dry runs to test source code changes required as part of the migration, such as updates to build scripts or makefiles. They knew that development could not stall longer than one day. Thus, any conversion would have to pass builds and automated tests before migration actually occurred.
"We probably went overboard on validation and verification," says Painter. But he can't complain about the results of that conscientious approach. On the day of migration, because all of the historical information can be preloaded into Perforce, only the baselines representing the latest active development branches needed to be cut over. Also, BBI produces a negligible amount of metadata, so there's no server performance hit or need for extra hardware.
But there is one potential wrinkle in the BBI strategy: renames. ClearCase and Perforce track renames differently, so the historical link between files that were renamed or directory structures that were reorganized between releases in the past is lost in BBI migrations. The solution? Find any file renames or moved relationships among branches, and generate rename mappings that are added to the branch specs via migration scripts.
From start to finish, Amdocs completed the migration from ClearCase to Perforce in just five months—with the actual migration taking only one day. From a cost perspective, the company has realized savings not only by moving from the IBM Rational floating license model to Perforce's per-user model, it has also saved in terms of full-time equivalents: A part-time administrator can oversee 1,000 or more licenses.
"We have development centers throughout the world, and trying to support that with ClearCase would have been a nightmare. With Perforce, it's been a breeze using it for local development or with the Perforce Proxy for remote centers," says Painter.
What's more, training those developers in Perforce was easy and required no arm-twisting. "From a developer productivity perspective, there is absolutely no comparison—merge or integration tasks that would take days to complete in ClearCase, and often involve multiple people, are now done in hours," he notes.
Perforce Technical Support
While Perforce is lauded by customers for its support, the Amdocs migration did not, in fact, require any hand-holding.
But Amdocs' overall experience with Perforce support over the course of four years leads Painter to remark: "Perforce support is amazing! Email response is usually within the hour and I have peace of mind knowing that if I have a major blocking issue, all I have to do is pick up the phone." As an example, he recalls a situation where multiple hardware failures caused data corruption of primary files. Trying to restore from backup revealed that the corruption had gone on for several days.
"The last good backup was about a week old, but with the help of Perforce support, we were able to rebuild the data files. We lost only four change lists, rather than a full week of development work for 250 developers globally—and we were back up and running in less than a day."
And what of Amdocs' legacy SCM? For IP purposes, the company maintains ClearCase, but pays for only one license. In retrospect, it's clear that the care with which Amdocs made the migration to Perforce has paid off.
"In the last four years, we've only had to go back to ClearCase three times and in each case it was because that particular data was not migrated to Perforce."