SanDisk Gains a Competitive Advantage Using AccuRev SCM Software




Key Evaluation Requirements

  • Transaction based with atomic changes - all or nothing, no indeterminate state
  • A mechanism for grouping changes together - a change based system rather than file based control
  • Support for multiple platforms
  • Support for multiple projects with a mechanism to manage common code
  • Low administrative overhead
  • Support for different workflows for different design practices.

Choosing a Solution

Tomlin found that his developers would do whatever they could to work around the limitations of CVS. But, "When you have a tool like AccuRev," Tomlin notes, "they don't need to do that. The tool makes life easier." Tomlin chose AccuRev after evaluating 5 products:

  • Serena PVCS Dimensions
  • IBM ClearCase
  • Microsoft Visual SourceSafe
  • Perforce
  • AccuRev

Evaluating Findings

SanDisk quickly eliminated PVCS Dimensions, ClearCase, and Visual SourceSafe, leaving Perforce and AccuRev as finalists.

  • PVCS Dimensions and ClearCase were too complex, too cumbersome to use, and too costly to administer.
  • Visual SourceSafe was simply under-powered.
  • AccuRev's stream-based, graphical management of the development process was superior to Perforce. Perforce had no out-of-the-box equivalent to AccuRev's workspace model with its two-stage check in. AccuRev handled merges better.

Customer Profile

The year-to-year top line growth of SanDisk Corporation, the world's leading supplier of flash storage card products, has averaged 70% since 2001. The company now brings more products to market in a shorter time than ever before. Each product relies on SanDisk firmware for its correct operation and feature set. Faced with this furious growth and the pressure to keep pace with the business, the SanDisk firmware and software team turned to AccuRev to tame and organize a chaotic software development environment.

Software Development Challenges

SanDisk employs over 500 engineers in firmware and software development, and ASIC design, in California, Scotland, and Israel. In a distributed environment this group of engineers must meet the needs of 55 products and their development schedules, while still maintaining commonality in the code base.

The fast pace of the business, the number of divergent product requirements, and limited human resources produces tremendous pressures on SanDisk's development processes. In 2002, Andy Tomlin, Director of Firmware and Software, realized that the open-source version control system in use, CVS, could not keep pace with the demands of the business, and he initiated a search for a replacement.

"Having a tool like AccuRev is a business advantage."

"CVS had become a hindrance more than anything else," Tomlin said. "It wasn't able to meet the needs of a fast-paced business like ours. It wasn't flexible enough and it had lots of problems. So we began an extensive evaluation of version control systems."

Tomlin sums up the decision to go with AccuRev software this way: "At the end of 2002, when we decided on AccuRev, they were smaller. There was still the question in our minds, are they going to disappear? We'll they're much bigger now and they're growing. We wouldn't have taken a risk on them if the tool hadn't captivated us. Because they were small we set the bar for them to win the selection higher. The tool was good enough to do that."

"AccuRev makes the whole development process more efficient."

Tomlin's group constantly contends with the tradeoff between the risks of the software development environment versus the needs of the business to take the software and run with it. With more to produce and more developers working on the same code base, there're more complicated problems to manage and greater opportunities for mistakes.

"Having a tool like AccuRev is a business advantage," says Tomlin. "Other ways of version control limit the number of balls you can juggle. Their constraints put a limit on what you can do at the product level. If your version control system can't keep pace with the business," Tomlin continues, "it becomes a business problem. And no one developing code wants to become a business problem."

The Stream Time Machine

Streams in AccuRev give SanDisk a time dimension view of its code base. And each stream understands its relationship to all others, eliminating the need for developers to keep track of where their code belongs in the hierarchy. Code higher up in the stream hierarchy is more mature. Code further down in the stream hierarchy is newer and less mature.

For SanDisk, AccuRev streams allow them to have code in all these different time/development states and still manage it all. "AccuRev allows us to manage different versions of the code base in a way that makes sense," Tomlin says. "One of our products needs one feature, another product needs a different feature, and we're able to manage all those things effectively, without conflicts."

With AccuRev the "code freeze" becomes a thing of the past. Ongoing development of a product can continue even while the current version of a product is being released. "With streams making it so simple," Tomlin states, "we constantly have code in the process of being matured independent of the development stage. AccuRev makes the whole development process much more efficient."

The flexibility of AccuRev's streams architecture also enables Tomlin's group to change quickly as needs change. If there's an issue found in a product's code after it's released, for example, a drag and drop of the mouse moves the product back to an older version.

"I recommend AccuRev to friends in the business. But really I don't want them to get their hands on our competitive advantage!"

Management Simplified

With 150 AccuRev users at SanDisk, a single administrator spends about one half of his time managing AccuRev. "That person is adding users and managing the server, that type of stuff," notes Tomlin. "He isn't doing any management of the development process structure, the streams management. The engineers using the product do that." Tomlin continues, "To make traditional SCM systems usable you need a department to manage the tool. That's wasting resources. Those are people who could be doing development work."

SanDisk has found reconfiguration of AccuRev as the organization changes to be a trivial process. When the development process must change, the corresponding change in the stream structure is simply a drag and drop and it's done. "The thought process of deciding how you want to restructure is harder than reconfiguring the tool," Tomlin says. "The reconfiguration is trivial."

An Indispensable Tool

"My developers used to look at version control as a necessary evil," states Tomlin. "But when you have a tool like AccuRev version control becomes a better way of doing things. They all like the tool. It gives them the flexibility to do the things they need to do when they need to do it."

"Once you get used to how AccuRev works and the power and flexibility of the tool," says Tomlin, "you look back and say, this is obvious, why didn't someone else think of this before?"