Multinational Energy Company

Coming from where this group was with our previous technology, we’ve improved ten-fold by adopting Perforce."

Software Engineer

Multinational Energy Company

About the Company

  • American multinational oil, gas, and geothermal energy company
  • Founded in 1879, the company now has approximately 65,000 employees
  • Embraced Perforce to improve version management among a globally dispersed team of developers working on an e-procurement solution and collaborating across the US, Argentina, the Philippines, India and Europe

Core Pain Points

The company was suffering massive challenges in customizing its new e-procurement system, deployed in 70 different environments. Using CVS and Subversion (SVN) to manage all custom code and configuration for the system was causing delays and outages. Maintaining Sarabanes-Oxley compliance was also challenging.

  • Unstructured code promotion workflows were resulting in changes being overwritten
  • Developers were creating multiple branches for their own work, resulting in limited visibility into development processes or code status
  • No ability to enforce access control nor fine-grained tracking of who did what and when
  • Global teams consistently experienced high latencies and long sync times, slowing down development
  • The built-in merge features in CVS and SVN were of poor quality and resulted in frequently broken builds, regressions, and more delays in development
  • The alternative, a third party merge tool (Beyond Compare), was error-prone and further hampered productivity
  • Binaries and code couldn’t be combined in a single repository, creating silos and more complexity in tracking the state of the system

“Promoted changes were constantly stomping out existing changes. We were manually promoting code outside of the source system. There was no conflict resolution and no merge process to incorporate changes. This was inefficient and costly.”

Why Perforce?

“We adopted Perforce for better change management, version control and collaboration among our developers.”

Perforce was first introduced to the company by its e-procurement software vendor, which also used Perforce. The company chose Perforce because:

  • All binaries, artwork, multimedia files, code, configuration files, markup language and assets can be kept in the Perforce versioning engine
  • Built-in workflow for code promotion via Streams
  • No more “code clobbering” as was happening with SVN
  • Potential to better reconcile offline work, with visibility and review capabilities for those changes made outside of Perforce’s workflow
  • Fine-grained access control, audit trails and deep indelible change history

Perforce in Action

Perforce Streams now model the dev-test-ops pipeline, with changes flowing up the stack. All changes are made in Perforce and sent from the depot to the target server.

  • Stream paths and protections now guard what users can see and modify
  • Application rebuild down to 30 minutes – a time saver that allows other developers to keep working
  • New production environments created using a single sync-down from the Perforce server, and include all binaries and configurations necessary
  • Rogue development easily brought in line using Perforce merge tools and better able to resolve conflicts
  • End-to-end tracking of “who did what” – everything from requirements, to changes, to what is deployed

Business Impact

Adopting Perforce has resulted in significant productivity gains and improved tracking and visibility – a huge bonus when ensuring that the company’s purchases are Sarbanes-Oxley compliant.

  • Streams is key to production support, with the company now able to rely on Perforce for effective application change management and server deployment
  • Consolidating on Perforce has reduced overall ownership and administration costs
  • Compliance is improved, with the company now having the flexibility and nimbleness to cost-effectively adapt to any future regulatory changes
  • The stage is set for automated builds, continuous integration, and automated deployment to address varied development practices across the corporation

“I like Perforce Streams for workflow,” said the Software Engineer. “It just makes sense.”