How Blue Canvas helped Twilio's team of Salesforce developers leverage Git to end merge conflicts and deploy faster.
Twilio is the leading cloud communications platform. Their software is used by millions of software developers across the globe to programmatically send and receive texts and calls by leveraging their APIs. If you've gotten a text from one of your vendors or a business you love, there is a good chance that Twilio is behind it.
In 2016, Twilio went public. This was great news for the company and shareholders but it put a lot of pressure on Sr. Manager of Sales Systems, Davis Dong. To that point, Davis had been the sole developer working with a team of BAs and consultants to maintain and run Twilio's Salesforce instance.
With the IPO brought on a slew of new projects including implementing Apttus CPQ and other major initiatives. The internal Salesforce team grew from a handful of people to 15 in the course of a few months. This rapid growth in team size caused a lot of their existing processes to break.
The first challenge was time to deploy. Before Blue Canvas, compiling a list of changed components using spreadsheets and validating them with Ant scripts and change sets took well over two days. The sales team was relying on improvements and updates to Salesforce and that was no longer going to cut it. Losing 2 or 3 days each 2 week sprint was unsustainable.
Second, as the team grew, merge conflicts code clobbering became an issue. A single developer may not need a sophisticated version control system, but a team of 15 certainly does. Without any kind of Git repo, the team were continuously overwriting each other's changes. This happened on Apex classes and code but also declarative metadata metadata.
Third, with an IPO in the books, compliance and stronger audit trails became especially relevant for Davis' team. They needed some ability to keep track of who was changing what, when and where so they had control over their Salesforce environment.
Finally, the team was growing internationally. To keep things moving efficiently, Twilio needed a way to help their Salesforce team collaborate on code reviews in an asynchronous and distributed way.
Twilio knew that a Git-based solution could make a lot of these challenges go away. Yet, implementing and training a team of Salesforce developers and admins to use a command-line Git was daunting. He worried that complicated branching strategies would actually slow down his team's productivity. He'd read about SalesforceDX but found the concepts too complicated and a bit overkill for his teams requirements. He simply wanted the ability to rollback changes, merge code easily, deploy and run automated tests.
With Blue Canvas, the Twilio Salesforce team was able to get the team running Git after a single onboarding session. Davis was able to create a Git branch for each of his primary environments (Dev, UAT, Staging, and Production).
“Our team is loving it! We are expanding usage of Blue Canvas into other teams. I really love Blue Canvas because we work together and we are solving these problems together!" - Davis Dong, Sr. Manager Sales Systems Twilio
For Twilio, Blue Canvas' simple Lightning Design based Git interface was a big win. Conceptually, deploying between environments was like using change sets only better: you could cherry pick changes, compare differences, handle Profiles and Permission Sets and merge without overwriting the changes of your teammates. As the team continues to grow they are able to roll it out to new team members with minimal.
The time to deploy plummeted. Instead of taking 2 or more days to email spreadsheets around and find out what needed to be included to get a deployment to validate, the Salesforce team at Twilio already had all of their user stories complete and Davis could bundle them into a Bulk Release for deployment. On average they reduced the time to deploy by 60% freeing up the team to meet tighter deadlines and complete projects faster.
Merge conflicts were also no longer a problem for Twilio. The team could easily see who had changed what and merge easily with Blue Canvas' merge editor.
- 60% reduction in time to deploy
- More time spent coding, less time deploying and debugging
- Elimination of unintentional code overwrites
- Ability to revert and rollback breaking changes in UAT before they get to production
- Enforced code reviews make it easy to catch bugs and keep the team on the same page
- Jira integration allows team to more easily track changes
What is the best developer flow for Salesforce development?
How to use Debug Logs and Checkpoints in the Salesforce developer console to troubleshoot Apex.