How Sysco's team of 40+ developers and admins support a complex Salesforce release flow with Blue Canvas.
Sysco is one of those backbone companies with massive scale and impact on their industry. They literally feed America (and a host of other countries) with their food distribution services for restaurants, hospitals, universities, and other large commercial dining facilities. By our count we see about 10 Sysco trucks a day on the road.
To support their 400,000+ customers, 8,500+ person sales team, 70+ operating companies and 45,000+ employees Sysco leverages Salesforce to manage their business operations and customer experience. Salesforce’s customizability “adds a layer of agility to the company’s SAP back end” and allows them to be one of the most innovative Salesforce customers.
“Blue Canvas allows our Salesforce team to adopt DevOps best practices at low cost and without drastic changes to our workflow. My team loves how innovative Blue Canvas is and our dev and release management teams just love how fast and simple it is to use.
— Brandon Mikeska, Sysco Principal Enterprise Architect
To support this degree of innovation, the Sysco team does a lot of customization on the Salesforce platform. They have a team of 40+ admins, developers, BA’s and release managers who code, configure and coordinate changes on one of the world’s largest Salesforce orgs.
Customization is a big reason that Sysco selected Salesforce as a development platform, but with great power comes challenges with process. In an effort to adopt DevOps best practices, they built a Jenkins-based DevOps solution in that allowed them to deploy changes in a more automated fashion than using traditional change sets. This worked well for the team, but still left some gaps.
For one, Jenkins was notoriously expensive to maintain and difficult to upkeep. Every time Salesforce did a new release, scripts would break and time would have to be spent on updates.
They also lacked a native Git solution that would allow for backups, rollbacks and easy audit trails for SOX compliance. Tracking configuration changes (which are XML-based on the backend) in Git is a difficult problem and asking admins to add overhead of a command-line Git interface to their workflow adds another hurdle.
Most painfully, changes took a long time to coordinate and release. Every month, Sysco’s release team spent days compiling lists of what changed and what was ready to be released. They had to manage feedback and inputs from dozens of stakeholders from product managers to business leaders to QA. For even small changes, it still took more than 2 hours of largely manual effort just to push a simple change.
Sysco surveyed the market and selected Blue Canvas for its easy-to-use, admin-friendly, simple continuous integration solution that could speed up deployment times. Blue Canvas’ native Git integration was a massive win for Sysco who had been struggling to find a workflow that worked for declarative changes like Record Types and other configuration changes.
The Blue Canvas Success Team went on-site with Sysco to ensure the implementation was successful and achieved over 90% reduction in the time to deploy while reducing other manual steps along the process.
While on site, Blue Canvas even developed a new feature called “Bulk Releases” that would allow Sysco Release Managers to bundle changes into “Releases” once they received feedback from QA or the business about what could go live.
Sysco saved significant time and money by avoiding the maintenance costs of running their own internal Jenkins system, while improving the functionality of their DevOps platform.
Best of all, Blue Canvas was simple and intuitive for the entire team to adopt: both BA’s and admins found the Lightning Design System-based interface friendly and familiar. Instead of training the team to use complicated branching strategies and command line interfaces to Git, Sysco’s admin team could work as they normally did in sandboxes and watch their changes automatically show up in a Git branch. This saves a lot of time and reduces the burden of extensive training.
Is there a better way to do Salesforce release management?
How to use Debug Logs and Checkpoints in the Salesforce developer console to troubleshoot Apex.