"When doing each evaluation [head-to-head three month evaluations of Accurev, Perforce, CollabNet SVN, Git, Mercurial and Kiln], I deliberately constructed three levels of situations where I contacted support for easy, moderate and difficult problems. Perforce was the only company that stayed polite the entire time and offered solutions to all my questions."
Wealth Management SaaS Picks Perforce after Head to Head Comparisons
ByAllAccounts, a Boston-based SaaS firm, is the only provider of intelligent data aggregation for financial services companies. ByAllAccounts gathers and transforms complex account data from thousands of institutions and delivers it to financial applications in order to accelerate reconciliation, reduce data management costs and provide a unified view of account data.
Security and confidentiality are paramount for the small, 13-year-old company. But when ByAllAccounts began looking at replacing Visual SourceSafe, Senior Software Engineering Manager Steve Munyan found that removing sensitive information from many SCM systems was difficult — if not impossible.
Trying before buying
Few software purchasers are as methodical as Munyan was when he began looking at the leading SCM systems in October 2011. And few have the diverse 15-year software development tools background Munyan does, having managed software tools development teams at Compuware, NuMega and Mindreef.
Shortly after joining ByAllAccounts, Munyan was tasked with finding a replacement for the slow and cumbersome installation of Visual SourceSafe the company had been using for a decade. Suffice it to say, Munyan takes a holistic view of software tools, with an insider's perspective on everything from pricing and support to features, reliability and return on investment.
Testing tech support
Munyan conducted head-to-head three month evaluations of Accurev, Perforce, CollabNet SVN, Git, Mercurial and Kiln, which is a commercial version of Mercurial.
"When doing each evaluation, I deliberately constructed three levels of situations where I contacted support for easy, moderate and difficult problems. Perforce was the only company that stayed polite the entire time and offered solutions to all my questions," says Munyan.
In his test SCM database, Munyan created situations with fake data such as client account numbers or names that had to be removed — a must-have requirement — and then called support.
"We briefly looked at Subversion. I contacted CollabNet and asked how to get sensitive data out of SVN. They said the only way is to dump the entire SVN database into a text file, edit out the sensitive text and then reload the database," said Munyan. Things were even trickier with distributed version control systems such as Git, Mercurial and Kiln.
"If you're using Mercurial or Git, you have to clone the repository, minus the rev of where you are, and then destroy the original. Then you have to force everyone who has a copy of the repository to destroy that as well," he said. Of course, he noted, once the sensitive information has gone into the wild, it's unlikely you'll find every last instance of it.
Munyan's tests also included accidental deletions. "I asked tech support 'how do I get it back?' and then timed how long it took to restore the information."
Munyan was surprised to find the cost of open-source tech support could be exorbitant. "In some cases, if you had Git, there was no one to talk to except expensive consultants. One said he would charge $1000 an hour to talk to me. I said 'Excuse me?' If they're that rude before I buy the software, how will they be after I buy the software?"
Time trials: Perforce vs. the competition
Munyan compared the speed of Perforce against several DVCS options, and SourceSafe. Not surprisingly, Perforce came out ahead and, nearly a year later, continues to impress Munyan with how it improves productivity of the company's 35 engineering, QA and validation staff, whether they are telecommuting or in the office.
"Operations that took 30 minutes with Visual SourceSafe now take less than a minute with Perforce. I can populate a new developer system across a network with 32,000 product files in 4 minutes. With SourceSafe libraries, that same operation can take an hour. That easily translates into measurable cost savings."
Munyan also noted that Perforce's efficient workflow allows developers to perform daily activities at home or at work with little to no difference in performance. Most operations can be completed in 1-3 seconds.
The ease of use for developers and non-technical engineering staff has impressed Munyan, who says he's interested in having the sales and marketing teams try Commons, Perforce's drag-and-drop Version Everything system.
Security and code review are critical
The high-performing, centralized Perforce database meets the security requirements of ByAllAccounts, but other features are critical too. The company conducts multiple levels of code review, employing a Perforce feature called shelving.
Shelving allows a developer to store work in progress on the Perforce Server in a temporary location that can be accessed by other Perforce users for code-exchange, code review, or as a temporary location when a developer can set aside files to work on another assignment.
Shelving provides ByAllAccounts developers with one-click code reviews, and provides an efficient mechanism to share files between developers. Most importantly any errors or security issues can be quickly addressed prior to the code being submitted into the Perforce depot.
ByAllAccounts also makes use of Perforce protection tables to provide an additional level of access control that restricts access to information on a team or developer level.
Another key Perforce feature is the P4 obliterate command that provides a mechanism to completely remove all traces of sensitive data from the depot in the event sensitive data is accidentally submitted into the Perforce depot. Munyan said that "the Obliterate command can only be used by Perforce administrators, and was one of the non-negotiable requirements in our decision to go with Perforce."
Munyan commented that engineers use the Perforce History, Revision Graph, and Time-Lapse View features to quickly identify problems in the complex code base. Time-Lapse view allows engineers to visually research the complete history of a line of code in a matter of seconds. Performing the same operation in SourceSafe and other SCM systems can be a very time consuming operation.
Rent to own
Security, functionality, performance and reliability aside, a small company such as ByAllAccounts has to consider costs as well. Luckily, Perforce made this decision as easy for Munyan as all the rest with its easy trial, rental and purchase options.
The ability to rent Perforce for one year "made it much easier for me to get Perforce in the door," says Munyan, whose boss was skeptical about paying for a system and then being stuck with an SCM that was underutilized.
"Some of Perforce's competitors do not have this option," he notes. In attempting to evaluate a standalone instance of IBM Rational ClearCase SCM, for instance, the only option he was given was to consider the far pricier Rational Suite instead.
Thanks to the initial trial run and 10 months of seamless productivity, ByAllAccounts will use the option to apply some of the rental payments to the purchase price of Perforce, according to Munyan: "We are planning to purchase Perforce outright in December."