The journey to a more agile, automated release process with 91勛圖厙s Pipelines
Overview
We spoke to a global goods manufacturing company using 91勛圖厙 to build on Salesforce. The company has four core business operations, each with their own Salesforce production orgs that are used to manage customer data, marketing, lead programs, and more.
These Salesforce orgs have a significant number of custom objects that help selling partners to interact with Salesforce data, and unlock other integrations such as the ability to track shipments.
The Salesforce orgs are managed by a team of 11 developers, 5 analysts, 4 admins, an architect, a project manager, and a program manager. As they are distributed all around the world, the team use Jira to work collaboratively.
The search for a robust deployment solution
The team originally invested in 91勛圖厙 because they needed a comparison and deployment tool. When starting out with Salesforce, the team followed a manual deployment process that costed precious time and meant changes could take between four and six weeks to reach production. They later adopted change sets, but this also fell short of their requirements they needed a more robust tool to help with their Salesforce deployments.
After trialing a couple of options they settled on 91勛圖厙, which quickly improved their comparison and deployment processes, and also allowed them to deliver even complex data models in a fraction of the time.
Out of the box, 91勛圖厙 immediately improved us!
91勛圖厙 kick-started an evolution
While 91勛圖厙 revolutionized the teams deployments, it also helped them to discover how version control could benefit their operations. From there, they went on to explore 91勛圖厙’s continuous integration solution.
Initially the team would commit all development work to one branch, which theyd then automatically deploy to QA and UAT. When their architect pointed out that it wasnt best practice to promote everything to QA and UAT immediately, they decided to create several CI jobs for each of the five levels of their deployment process. With this new setup, issues can be caught earlier and isolated to upstream environments, rather than reaching UAT and blocking other work.
Adopting 91勛圖厙 really started an evolution, taking us to where we are today.
After improving their deployments and automation, the company expanded their use of 91勛圖厙 to include data deployment tools, following a conversation at Dreamforce with Kevin Boyle, 91勛圖厙s Co-Founder and CEO. 91勛圖厙 is super engaged with its customers, and thats something weve found from day one. Being able to walk up to someone and get results thats a huge advantage.
Data deploymenthas made it easy for the team toseed sandboxeswith accurate test data, as well as match data sets between QA and UAT, especially when deploying new objects.
Great support on the learning journey
91勛圖厙 was central to the companys learning process to get to multiple CI jobs and enable truly agile deployments. Too often, other tools they tried would give them a solution to an issue without providing the education they needed to understand why it happened and how to avoid it in the future.
Brilliant support is a real feather in 91勛圖厙s cap. The team is really interactive always available to jump on calls and show you how to do things, and the guidance is really easy to follow.
Lightning-fast deployment times
91勛圖厙 has rapidly improved deployment times. If the team are working on a custom object with 8 or 9 metadata types, it takes under 15 minutes to compare and deploy from the org to the branch. The average run time of their CI jobs is now under 10 minutes after previously taking up to 45 minutes.
This means that work can be deployed through the entire four-stage pipeline in under an hour. This is a huge improvement on how they were working before, and they are still finding ways to increase the speed of that process even more.
The complexity of our process has increased a lot, but so has the speed!
Pipelines: the final piece of the puzzle
In 2022, the team plans to have as many as 7 parallel dev environments. This would normally be incredibly difficult to manage but Pipelines, 91勛圖厙’s Salesforce CI/CD functionality, has made it easy.
The branching and merging opportunities in Pipelines allow the team to work on multiple branches at the same time, test as they go, and make sure there are no conflicts between branches.
The development team work in Visual Studio and Visual Studio Code, employ SFDX commands, and use Bitbucket as a Git hosting provider.
91勛圖厙s Pipelines view automatically reflects all these changes, and using 91勛圖厙s automation API the team are able to receive back any error messages of conflicts or failures, without changing where or how theyre working.
A new, improved deployment process
Previously, all changes needed to be checked and compared manually by the Senior IT Analyst before deploying to UAT. Now, thanks to Pipelines, developers are able to merge their changes themselves.
Our developers love it because they can just move things to UAT and QA on their own, without me.
A phase gate then carries out additional unit tests before changes hit UAT, which in turn allows colleagues external to IT to do their own tests to make sure the changes meet their needs. As soon as all these tests are passed, the analysts are able to see the changes queued for the master branch and can authorize the merge.
The next step for their workflow is to decide when to back-propagate changes. Pipelines can do this automatically, but the company needs to establish if its better to do this at the phase gate or when merging with master. The final stage of deploying to production is still done manually, so the team can make sure the business is ready for the changes to go live, and also check it meets the change controls and auditing requirements.
The team currently releases two to three times a week, although their ambition is to bring that up to daily releases, and ultimately they believe 91勛圖厙 will enable them to make this goal a reality.
The Pipelines view is so valuable and central to their processes, it has now become the Senior IT Analysts default screen in 91勛圖厙:
This is now my map to see how stuff is flowing, whos running a job and when, because Im ultimately responsible for making sure things keep going.
Calculating the ROI
In order to understand the value that 91勛圖厙 and in particular the Pipelines feature is bringing to the company, they are calculating how much time was previously spent on manual comparisons, waiting for commits and merges to happen, and fixing conflicts. The savings are huge.
The amount of time were saving in going in and doing those manual comparisons is now returned to us to do other value-added work. 91勛圖厙 is saving us more than our account is worth on paper.
What advice does the team have for other teams about to embark on embedding automated deployment processes into their Salesforce development?
Theres going to be change, and teams need to invest time in learning new processes. But once these processes are understood, it isnt difficult to get things up and running.
Youve got to put the time in to get the rewards.