Perforce users switch to AccuRev


Success Highlights
logo: Metta Technology


Customer Profile

Founded:  2004
Industry:  Semiconductors
Product:   "Appliance on a chip"

 

Metta Technology
Development Environment

  • AccuRev version: Enterprise Edition

  • Server Platform: Windows 2003

  • Windows XP and Linux

  • Development Sites: California, Texas, India

Metta Technology, headquartered in Silicon Valley, is developing a Multimedia System-On-a-Chip solution that will fundamentally transform the Consumer Electronics industry. Metta's founding team has a stellar track record in creating leading consumer electronics System-on-a-Chip and software products that have been deployed by a number of the world's leading OEMs.

Overview

When a group of software engineers who had worked at several leading Silicon Valley companies moved to the startup, Metta Technology, they abandoned their familiar software configuration management tool, Perforce, and started fresh.


Branch and label issues

Faced with rapidly changing business requirements, a distributed development team, and intense time-to-market demands, the Metta Technology software development team found that Perforce did not meet their requirements. The branch and label style of Perforce and VSS was too restrictive for our purposes," said Rajgopal Narayan, Software Architect at Metta. From our experience with Perforce at previous companies, we had found that we were prone to code check-ins breaking builds and the need for frequent branches to manage stability. When you're using a

"Creating releases is much easier than with Perforce"

tool like Perforce, developers are always working at the 'tip' of the project - checking in and checking out code from a common area and this is prone to instability. While some of this can be circumvented by created per user branches, this approach involved complex merging rules and makes it very difficult to have multiple points of integration."

Narayan noted that, when working with traditional SCM systems scarce resources often had to be taken away from development work and assigned the task of finding out why a build broke, why the code that worked two weeks ago no longer worked, and which check-in broke what. "Of course," Narayan said, "you can say that developers have to test thoroughly before check-in. But working on the tip means that until development is frozen, and developers test their changes against all others, there is no guarantee that the project is in a known state. The main trunk of the development tree is always unstable."

Finding a better tool

When a former colleague strongly recommended AccuRev and its innovative stream-based architecture to replace Perforce, the team at Metta began an extensive evaluation of AccuRev and several other software configuration management tools.

After evaluating CVS, VSS and Perforce, the Metta team found that the AccuRev stream-based architecture eliminated the issues associated with Perforce and other traditional tools. "We chose AccuRev over Perforce, because its stream based approach allowed us to best implement our development and release process which involves guaranteeing the quality of our software integration areas," Narayan stated. "The stream based approach also allowed us to change the rules of integration without impacting any developer.

Bye-bye Branching

"Now we've moved away from branching," noted Narayan. "In AccuRev, right out of the box, each developer has their own private workspace. So when they check-in they do not break the integration area. It's only when they 'Promote' changes up the development stream do they go into a common integration area." Before using the AccuRev Promote command, developers at Metta 'Update' their workspaces with the latest promoted code from other developers. They then test their new code against all these changes. Once all is well, they proceed to Promote their new code, which is then available to all others for testing. "Creating releases in AccuRev is nothing more than creating snapshots of a stream at a given point in time," stated Narayan. "It's much easier than with Perforce."

Using AccuRev software, the Metta team has developed an automated process of propagating fixes to integration areas only if they pass build and acceptance tests. "We could have achieved the same effect with Perforce using multiple branches and branch specifications," stated Narayan. "But merging between branches is nowhere as natural or easy an operation as Promote is in AccuRev." In fact, Perforce recommends against branching, in their white paper entitled High-level Best Practices in Software Configuration Management, their recommendation is "Branch only when necessary."

"In AccuRev you just drag and drop developer workspaces into a new stream and nobody is aware that you've made the change"

Process change? No problem.

Unlike Perforce, streams give AccuRev users at Metta a time dimension view of their code base. Because each stream understands its relationship to all others, developers do not need to track where their code belongs in the hierarchy. When a change is necessary to the development process there is little impact on developers. "When we used Perforce, we'd have to tell every developer in the organization about a new branch of the development tree, what they should now merge against. This resulted in a meeting of the team, and a manual process for each developer, with potential support required by the release engineering team. "In AccuRev," Narayan observed, "you just drag and drop developer workspaces into a new stream and nobody is aware that you've made the change. They go on working exactly as before."


Switching tools without fear

"While some of us were seasoned users of Perforce at prior companies we worked at," said Narayan, "the changeover to AccuRev was very smooth." Because it takes a different approach than traditional SCM tools, Narayan notes that it's important to have a point person in the group who understands the key AccuRev concepts. "The majority of the development organization doesn't need to understand what's going on under the hood," Narayan said. "On a day to day basis it's as easy as or easier for us than Perforce was. Really the only things developers need to be keyed in to are how to roll back a change, and how to go back to any point in time in the development stream history. It didn't take long for our developers to become solid AccuRev users."

Download the Metta Technology Case Study

Company Profile
Management Profiles
Board Members
Customers
bulletCase Studies
Testimonials
Careers at AccuRev
Driving Directions
Contact Us

More Information - direct links to resources and how to contact AccuRev

bulletSCM Resource Center

bulletEvents

bulletContact AccuRev