How Blue Canvas helped Twilio save 2–3 days each sprint and enabled the team to grow quickly.
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.
“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
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 on Git after just a single onboarding session. Davis was able to create a Git branch for each of his primary environments (Dev, UAT, Staging, and Production) and start tracking changes.
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.
Salesforce Developer, Atlas Can, offers some practical advice for how to make releases less painful in Salesforce.
What if you could speed up your sandbox refresh process by reducing the number of refreshes you need to do in the first place?