June 9, 2011

Putting Perforce to the Agile Test: Salesforce's story

Version Control
Salesforce logo

Are you agile – or “agile-curious,” as salesforce.com Steve Greene puts it? Then you must know that metrics are key to continuous improvement. Greene, the Vice President of Program Management and Agile Tools, explained the hybrid practices that most of the 6,000-person company follows, while Mike Saha, Senior Manager of Release Engineer and Development Operations, showed how Perforce is the hub that integrates lifecycle solutions for 100 agile teams.

“Five years ago, we moved to the Adaptive Delivery Methodology,” said Greene. One tenet of ADM is “Radical transparency,” Saha explained. “We began investing in automation because that’s the only way to get the velocity you need out of your system.” The process of getting systems to talk to each other was known as the Salesforce GUS, or Grand Unification Strategy. True to form, GUS is built on the Force.com platform. There’s also Luna, a visual interface for code line health and build environments. There are myriad environments for performance, functional and hammer testing. And finally there’s Internal HA, which pumps data from internal systems for agile performance metrics such as total daily submits. These are all integrated via Perforce at the center.

“The lifeblood of agile, after Perforce, is your code-branching strategy: How to get things moving to right place at the right time,” said Saha. To that end, an Autointegrate Application uses triggers to direct flow and ensure the right changes are in the right branch, enforce code reviews, propagate change info or lock a code line. Indeed, Saha admitted that Salesforce may be too big a fan of triggers: “We’ve got to get them under control – but the business side loves them.”

With 100,000 automated tests, the pre-check in routine their developers follow takes about 20 minutes, plus up to two hours for basic tests, up to five hours for standard suites and up to 12 hours for extended tests. An audience member suggested Salesforce.com use Perforce’s just-announced automatic shelving to save time in pre-check ins, and Saha noted that they were already looking into it.

Ultimately, the metrics available from automatic data collection are fed back into the company. Displaying a graph of the debilitating effects of a five-fold R&D traffic increase to executives is a great way to make the case for technology investments. All of this, Greene boasted, has led not only to a highly scalable agile development methodology, but also to a productivity increase of 40% in the last five years. And that might be enough evidence to change someone who’s curious about agile ... to someone who’s convinced.