Since implementing Helix VCS, Metrolab's development team no longer needs to trick its version control to do basic tasks.
Why Perforce Was Metrolab's Final Choice
Solved cumbersome branching issues with CVS
Centralized environment for distributed teams
Integration with Eclipse and LabVIEW
Having implemented Perforce, we are confident that our software development process has a solid foundation."
Headquartered in Geneva, Switzerland, Metrolab manufactures instruments for precisely measuring high-intensity magnetic fields. Its products are primarily used in medical technology, but also in research and calibration laboratories, for environmental measurements, and as system components. Metrolab has won the trust of all the leading players in magnetic resonance imaging (MRI) such as General Electric, Philips, and Siemens, as well as all major physics laboratories such as the European center CERN, Fermilab in the United States, and KEK in Japan.
Core Pain Points
Metrolab had been using a versioning system that created significant challenges in establishing efficient software development processes.
- No visibility of the projects being worked on.
- Inconsistent versions of the entire system due to the way CVS versioned each file.
- Difficulty in reconstructing related changes to multiple files using CVS.
- Poor support for when multiple developers were working on the same code.
- Difficulty in reorganizing the directory structure.
“We started with a search for a bug-tracking tool and ended up with a new version control system and a completely reorganized repository structure,” says Keller.
Before selecting Perforce, Metrolab carried out a thorough evaluation of open-source tools including Subversion, Git, Mercury, and Bazaar, and, of course, Perforce.
Perforce was Metrolab’s final choice because:
- Streams, a.k.a. “Branching with Brains,” solved many of the cumbersome branching issues with CVS.
- Having a centralized version control system was essential for the trunk-based development of critical code, but better support for distributed teams was also advantageous. “It had an out-of-box tool to help Metrolab migrate off CVS,” says Keller.
- Integration with Eclipse and LabVIEW was a specific requirement.
- Excellent support was available throughout the evaluation.
According to Keller, “The fact a company such as National Instruments relied so heavily on Perforce Helix confirmed our decision to choose Helix as our version management solution.”
Perforce Helix in Action
Metrolab team members use Helix, with its Eclipse and Visual Studio plug-ins, and LabVIEW integration.
- Users were trained in just a few hours, and together with the self-explanatory documentation, the team of developers was productive within a couple of days.
- Using streams for branching and merging has solved many of the errors Metrolab was experiencing with CVS. It is a lot easier to co-ordinate the activities of the development team.
- The visualization of the changing code lines with streams makes project management much easier. “One glance at the stream graph tells most of the story!” says Keller.
Keller adds, “Fortunately we had unlimited access to very competent and extremely proactive Perforce support staff.”
- Quality has improved.
- No more time lost trying to trick the versioning system into doing the right thing.
- Metrolab also used the migration period to optimize the structure of its repository and eliminate the inconsistencies of its previous component structures.
“Since installation, 100 percent of our expectations have been realized, and we have saved a lot of time and expense thanks to Perforce Helix,” says Keller.