DriveCam Steers Clear of Parallel Development
Speed Bumps with AccuRev SCM


Success Highlights
DriveCam logo

Who Is Using AccuRev?

  • Developers and QA team members developing firmware on Linux and Windows workstations
  • Developers and QA team members working on Windows .NET for a Web application and database back end

Before AccuRev

  • Growing teams and the need for simultaneous, parallel projects
  • Size and merging limitations in VSS
  • Need for effective resource allocation of shared development roles and teams
  • Need to increase team visibility into all projects and improve the integrity of the build-and-release process

AccuRev Success Highlights

  • New business opportunities made 3 new projects with the same team possible
  • Merge errors for code shared across release significantly reduced
  • Offshore projects managed as needed
  • Included minimal administrative overhead – 10 percent or less of one full-time employee
  • Accurate patch management
  • Improved integrity of building and tracking of releases
  • Provided ability to easily visualize the process structure, speeding up the development decision-making process

Evaluated

  • Telelogic CM Synergy, Serena ChangeMan, Seapine SurroundSCM, Perforce, CollabNet and CollabNet Subversion

Customer Profile
Headquartered in San Diego, California, with operations in North America, Europe, Africa, Australia and Asia, DriveCam reduces claims costs and saves lives by improving the way people drive.

bus videoDriveCam mitigates risk by improving driver behavior and assessing liability in collisions. Combining sights and sounds, expert analysis and driver coaching, DriveCam's approach has reduced vehicle damages, workers’ compensation and personal injury costs by 30 percent to 90 percent in more than 60,000 commercial, government and consumer vehicles.

View a DriveCam video clip captured using the DriveCam Video Event Data Recorder. Commercial vehicles are often blamed in driving incidents, even though they are not at fault. This video was used to exonerate the driver and quickly settle the claim.

Development Challenges

DriveCam was hitting the limits of using Microsoft Visual SourceSafe (VSS) in 2005 and required a more robust software configuration management (SCM) tool that could scale with its growing development team needs. Various factors contributed to their decision to change SCM tools, including:

Company Growth and Expanding Product Offerings
These needs arose as a result of company growth and expanding consumer offerings, such as its new TeenSafe Driver ProgramSM, requiring DriveCam developers to sustain multiple code lines simultaneously.

Offshore Development Projects
DriveCam required that its offshore team be tightly coupled with in-house development and needed to use a shared code base with daily, and sometimes continuous, integration. Working with an offshore development team meant that DriveCam also required better processes and collaboration than was possible with VSS to effectively communicate and provide better visibility and tighter control over its outsourced projects.

Multiplatform Environment
DriveCam’s firmware team switched to Linux-based development tools for the embedded code, and this environment would have been nearly impossible to manage with VSS. Standardizing on one SCM system was a logical decision, and a number of SCM tools were evaluated to manage its Windows .NET and embedded firmware environment.

The AccuRev Solution

With a focus on managing multiple releases in parallel across its multiplatform environment and desiring a tool with a much more intuitive and dynamic development model for improved ease of use and productivity, DriveCam evaluated many SCM tools but ultimately narrowed the field to AccuRev and Borland StarTeam. At the conclusion of the evaluation, DriveCam selected AccuRev because its stream-based model with built-in inheritance uniquely supported DriveCam’s development process.

Managing Parallel Development in a Multiplatform Environment
DriveCam’s development environment includes multiple components. Firmware development for a microcontroller and a system on a chip (SOC) is hosted on both Windows and Linux workstations. The cross-compiled firmware is embedded in DriveCam's palm-sized, exception-based video event recorder that mounts on the windshield behind the rearview mirror and captures sights and sounds inside and outside of the customer’s vehicle. Forces (e.g., hard braking, swerving, collision) cause the recorder to save 20 seconds of audio and video footage – 10 seconds immediately before and 10 seconds after the triggered event. Precision and quality of code is essential in order for the recorder to function properly and to eliminate the possibility of having to retrofit thousands of devices if any significant defects were encountered.

On the software side, various forms of a front-end interface are developed. A Web application is developed using Windows .NET that enables customers to get status of events and review driving-event clips remotely. DriveCam also supports a stand-alone version of its front-end application that enables clients to manage the entire process themselves.

It was crucial for DriveCam to use a single SCM application across all development components so that a unified software development process could be implemented. Since AccuRev supports both Windows and Linux and provides a Visual Studio integration that allows .NET developers to perform most SCM operations directly within Visual Studio, it was a natural fit for DriveCam’s development environment.

Expanding Product Offerings and Creating New Business Opportunities
One of the drivers for the Web-based application is a parallel consumer project known as DriveCam’s TeenSafe Driver ProgramSM, which would not have gotten off the ground if the company were still using VSS. Teen driving events go directly to a DriveCam-managed database rather than to the teen’s parents, who are notified of risky behavior and can visit the Web site to view driving event status. While this project continues, DriveCam must maintain features specific to it separate from its main Web application. At the same time, developers must also be able to apply relevant bug fixes for the main Web application to this project as well. AccuRev provides the flexibility that DriveCam needs to maintain these parallel code lines. 

“Maintaining multiple paths of development and merging changes is way easier in AccuRev than it ever was in Visual SourceSafe or Subversion. Just being able to pull changes from another developer’s workspace or a stream and pop it into your own workspace without affecting anyone else is a great productivity saver.”
- Craig Denson, QA Engineer, DriveCam

At times customers may request a special feature, and with AccuRev, DriveCam can easily create separate streams of development off the main line for special one-offs, isolating the main line of development from custom code.

Bringing Enhanced Visibility and Control to Offshore Development Projects
AccuRev allowed DriveCam to begin utilizing a more efficient offshore development process. Since the offshore development project was tightly coupled with in-house development, the outsourced team needed to be integrated as much as possible with the main development team. At the same time, it was important for DriveCam to enforce a strict code review process to ensure that only quality changes from the offshore team were integrated into its core development. AccuRev satisfied both objectives.

The lightweight AccuReplica product allowed DriveCam to set up the offshore development repository in minutes. The AccuReplica model provided a faster, more reliable solution and required nearly zero maintenance in comparison with the previous replication solution for VSS, SourceGear SourceOffsite. To enforce the code review, the offshore team was restricted to checking changes into code review streams off of the integration stream used by the core team. Since the AccuRev stream hierarchy has built-in inheritance, changes promoted into integration by the core team were automatically inherited into the offshore development stream. This allowed the offshore team to work with the current state of the project instead of working in complete isolation and having to perform a large merge later.   

At the same time, a member of the core team was responsible for code-reviewing changes checked in by the offshore team before promoting them to integration. When the outsourced project was complete, DriveCam was able to immediately change the process within the StreamBrowser without any disruption to their daily development work.

“The graphical StreamBrowser within AccuRev allowed us to much more easily support our outsourced development process and changes we made to the process, did not impact developers and were easily visible to everyone, reducing questions and increasing productivity.”

Business Value Gained Moving from Microsoft Visual SourceSafe to AccuRev
“We are working on new projects, that would have been impossible to even implement in VSS, with the same number of developers.”

  • New business opportunities were made possible by allowing additional parallel projects to run concurrently with no increase in development team size.

  • Developer productivity has increased — examples include instantly reverting unsuitable code changes before a release build that would take hours in VSS; eliminating blockages to the code on parallel projects; the ability in AccuRev to easily navigate through code changes and see all relevant information (what changes were made, by whom, when and why) — all from within one comprehensive graphical user interface.

  • Builds are created more quickly and easily, allowing more time for QA resources to focus on testing them. Because less time is spent on testing and fixing build problems, more focus can be diverted to testing the software. This translates into an overall improvement in quality.

“AccuRev has the best technical support of any software company I've ever dealt with, with respect to both timeliness and usefulness. Also, the business support side for rolling out initially and upgrading to new versions has also been much appreciated.”

Download PDF