Randy DeFauw and Charlie McLouth of Perforce Software discuss how the company uses Salesforce and DevOps principles to manage their Salesforce configuration. They demonstrate how they version all Salesforce metadata and plugins to enable restoring the entire Salesforce deployment to previous configurations. Perforce treats Salesforce as critical infrastructure and applies the same DevOps practices they use for other systems. The presentation encourages organizations to have a configuration management plan for Salesforce and not pretend it does not need DevOps practices just because it is software as a service (SaaS).
1. End to End Integration
with Force.com
Randy DeFauw, Perforce Software, Technical Marketing Manager
@rdefauw
Charlie McLouth, Perforce Software, Director of Technical Sales
cmclouth@perforce.com
2. Introductions
Randy DeFauw
The Integration Guy
Charlie McLouth
The Process Guy
3. Agenda
Salesforce at Perforce
Mission critical
Applying DevOps Principles
Why Charlie isn’t allowed to ride Amtrak anymore
Demos
Q&A
4. Perforce Software
Version management for any team, any data,
and any location
Used by over 5,000 customers in software,
gaming, multimedia, firmware, finance, and other
industries
Fast, scalable version control
Available on over 50 platforms
5. CRM at Perforce
1995 – 2010: Homegrown solutions
2010 – 2012: A real sales team and process
6. POLL
How vital is Salesforce to your operations?
Critical to the entire organization
Useful for sales and marketing
Chatter keeps the sales guys happy
9. But if it’s critical…
Playing fast and loose with Salesforce configuration
The train trip disaster
10. POLL
Can you restore your entire Salesforce deployment to last
week’s configuration?
With 100% confidence
With some manual effort
Don’t jinx us
11. Well, duh…
Perforce makes version management software
Perforce IT practices DevOps with other critical systems
Let’s do that with Salesforce!
12. DevOps and Salesforce
Version everything that affects Salesforce
Plugin source code
Metadata
15. End to end with Force.com
Salesforce is critical infrastructure
Force.com and DevOps give us the tools to treat it that way
From development to configuration data to usage: a full part
of life at Perforce
16. Takeaways
Don’t pretend that Salesforce doesn’t need DevOps
just because it’s SaaS
Talk to your Salesforce user community and make
sure you have a configuration management plan
Our plugins are published!
info.perforce.com/dreamforce
18. Randy DeFauw Charlie McLouth
Technical Marketing Manager, Director of Technical Sales
@rdefauw cmclouth@perforce.com
Editor's Notes
CHARLIE
Briefly introduce selves. Might be nice to lend a perspective on why we focus on integration and process.
TODO: list key benefits or just talk about them?This slide should give the background on Perforce CRM past, present, and future.Like many companies, Perforce built some home grown CRM solutions in the past. We were not big enough to afford Big Iron software and these home brewed solutions served us well. Calltrack was simple, lightweight tech support portal. Fast and scalable.Syrup was simple, lightweight customer database. We started to outgrow these solutions.Needed to provide holistic tech support to enterprise accounts.Needed to mine TS info for product management.Marketing campaigns required a real lead tracking and generation system.Sales team needed an easy way to track the sales cycle.Entire process was more complicated, e.g. adding records for P4RA and consulting was kludgyMarketo: gave structure to marketing campaignsSalesforce introduced in 2010-2011 windowBrought structure to the sales process and handoffs between sales, marketing, consultingVisibility and metrics
Perforce is at the ‘critical’ level.
Salesforce has a big future at Perforce.Salesforce integrated with:MarketoSyrupCalltrackJobsNetSuiteSalesforce to be used by TS, consulting, sales, and marketing, replacing Calltrack and Syrup
RANDYJobs are Perforce’s internal defect tracking and enhancement request system: engineering’s system of record.Not an original goal to integrate jobs with SF, but turns out to be highly useful.provides visibility into account status (how many complaints, outstanding requests)a key linkage for tech supportThis plugin is built using:a web service to expose jobs in a public URLa Visualforce extension that displays jobs on the account pageTODO: rehearse and record demo, embed videoshow git repo (SmartGit), pull up job finder sourceshow p4v jobsshow those jobs in an accountthis is a demo site only
CHARLIEPlugin source not officially versioned.SF metadata not formally controlled.Charlie was stuck on the train for 1.5 days and we didn’t know how to restore a good configuration. TODO: Charlie can you provide more color here?
We were somewhere between the bottom two tiers.
RANDYPerforce web site captured in depot and later Chronicle.All builds stored in SCM.Etc…
This plugin uses the metadata API in a Java program to push/pull metadata. The zips are saved in the depot.TODO: demo script and videoimprovement over using Force.com IDE to manually deploy/retrieveuses listMetadata API to discover objectsnew plugin that captures SF configurationretrievefolder diff (12128, head)deploy to sandbox (limited, future) (don’t show, just talk)show stream graph for config changes going through dev/deploy branching (future)stream graph lets us know what’s actually deployed right now (future)stream graph lets us see what’s different between sites – right click and show diff stream against parentreview latest config in Commons to see comments about what’s deployed (e.g. VP Sales goes there to see what Charlie did)
We’re getting there but still a ways to go:Full CRM rollout later this yearPlugins need some polishnot possible to automatically rollback everything right nowwould like a push button deploy from stream graphmake metadata plugin ‘streams aware’Need to coordinate with IT for management
TODO: coordinate with Bob/Julia on other marketing angles for participation