World's Leading provider of messaging security
puts its trust in AccuRev
Environment
Developers at MessageLabs utilize AccuRev software configuration management (SCM) within both Microsoft Visual Studio and Eclipse IDEs in their Windows and Linux environments.
MessageLabs is in the process of deploying CruiseControl, an open source, continuous integration toolkit for automatic builds with built-in support for AccuRev. This will allow each developer to integrate daily, thus reducing integration problems.
Key Evaluation Requirements
-
Parallel development support
-
Flexible and dynamic to respond quickly and easily to changing process needs
-
Support for Visual Studio and Eclipse IDEs
-
Atomic, "TimeSafe" transaction support
-
Good support (GUI and CLI) on Windows and Linux
- Responsive over ADSL connections
Software Development Challenges
-
Team growth and increase in projects and complexity
-
Unreliable desktop SCM labeling model
-
Processes not locked down, affecting builds
- Unable to do parallel development or branch and merge easily and effectively
Success with AccuRev
-
No separate administrators. John spends less than an hour in his workweek administering AccuRev for approximately 50 developers.
-
Merge processes used to take about half a day. With AccuRev, it takes just under an hour.
- "Support has been very responsive."
Customer Profile
MessageLabs is the world's leading provider of messaging security and management services to business. Delivered across a globally distributed platform at the Internet level, its fully managed services ensure the integrity of electronic communications, allowing clients to manage and reduce risk while securing their critical infrastructure and information. With 13 data centers on four continents, MessageLabs processes millions of messages every hour and provides clients with reassurance and security at a low, predictable cost.MessageLabs provides industry-leading services to guard against email threats such as viruses, spam, identity theft and targeted blackmail campaigns – all of which jeopardize business continuity, regulatory compliance, reputation and brand.
Software Development Challenges
Growth in the software development group
MessageLabs' software development group in Gloucester, U.K., and abroad has more than doubled in the past few years, and with so many more projects, developing and following repeatable software development processes has become more important.
- Previous RCS-based version control tools were not robust or scalable enough and did not allow for flexible and dynamic process enforcement to change "on the fly" as required.
"AccuRev provides flexibility that we could only dream of with our previous SCM systems. It avoids hours or days of scripting and administration through an automatic drag-n-drop feature in the StreamBrowser. This allows us to re-parent [retarget] a group of developers working on a particular feature or version to another, move their work-in-progress to a future release if we go into code freeze, or incorporate an additional test or regression area within the process with incredible ease and confidence." – John Mears, Technical Architect
-
Because branching and merging was increasingly complex and difficult to manage using the previous SCM tools, it was avoided whenever possible.
-
As projects grew in size and complexity, it was becoming impossible to add additional parallel development projects necessary to meet time-to-market requirements using the previous SCM tools.
-
An unreliable labeling model created inconsistency in software builds, negatively affecting application quality and delivery times.
-
Developers could change files, even after they had been approved for promotion, thereby subverting processes and affecting builds.
"AccuRev made us change our thinking about SCM. The older SCM tools we were familiar with were all based on RCS technology where branching and merging was incredibly cumbersome. Although there was a short learning curve associated with moving to AccuRev, the entire development group is very pleased with the decision.'
MessageLabs required a robust process-centric software configuration management tool that could grow its process needs, support atomic operations, provide a simple mechanism for merging changes, and handle the new level of complexity its growing development teams and projects required.
Choosing a Solution
John Mears, technical architect, was responsible for finding and evaluating a new SCM tool at MessageLabs. The following is an overview of his analysis, which included roughly 10 different SCM tools:"We evaluated a number of commercial and open source tools. One of the ways that AccuRev stood head and shoulders above the rest was its concept of TimeSafety, utilizing atomic transactions and improving the integrity of our builds."
Value: Since moving to AccuRev, MessageLabs now has
-
An automated, repeatable and enforceable method for guiding developers through the change process
-
Improved quality and reliability of applications as a result of automating and enforcing dynamic and multiple development processes
-
Creation of an atmosphere and opportunity for developers and managers to "think differently" about software quality and defect prevention
-
An environment that facilitates parallel and concurrent development
-
Increased productivity by allowing multiple developers to check out and work on a single file, or object, simultaneously in their private work spaces
-
Lower total cost of ownership compared to its prior SCM tool and other enterprise SCM solutions that were evaluated
Note: Streams form the architectural foundation for AccuRev in order to solve the fundamental problems associated with traditional file-based architectures, especially branching and merging operations. While streams are analogous to a combination of branches and process workflow (typically in a separate tool) in legacy systems, they are far more flexible and powerful, enabling unencumbered branching and merging operations. Today, streams, not files, must be the first-class objects in order to support advanced application development. Streams understand their process-based relationships to other streams and include built-in inheritance, whereas branches do neither. In addition, AccuRev's architecture allows you to instantly redefine the parent/child relationships between streams through a drag-and-drop interface. This is fundamentally and conceptually impossible in legacy SCM systems.
