The goal of Salesforce DevOps is to increase the speed and efficiency of software delivery while ensuring that the applications are of high quality and are delivered to end-users with minimal disruption. The maturity of Salesforce DevOps can be measured by the level of automation, collaboration, and integration between development, testing, and deployment teams. A mature Salesforce DevOps practice includes the use of tools such as version control systems, continuous integration, continuous delivery, and continuous testing, among others. This leads to faster time-to-market, improved quality, and increased collaboration across teams, helping organisations drive business value more effectively.
There are typically five levels of Salesforce DevOps maturity, each building on the previous level to increase the level of automation, collaboration, and integration between development, testing, and deployment teams:
A diagram showing the levels of Salesforce DevOps maturity
Level 1 – Ad Hoc: The initial level of Salesforce DevOps maturity, characterized by manual processes and limited collaboration between development and operations teams.
Level 2 – Repeatable: At this level, processes are streamlined, and basic tools are introduced for version control, continuous integration, and testing.
Level 3 – Defined: The development and operations teams are aligned and follow defined processes and standards. There is a stronger emphasis on automation and testing.
Level 4 – Managed: The focus shifts to continuous improvement and optimization of processes, with greater automation and real-time monitoring of systems and applications.
Level 5 – Optimised: The highest level of Salesforce DevOps maturity, characterized by a culture of continuous improvement, with teams working together to identify and resolve issues in real-time and optimize processes to achieve maximum efficiency and effectiveness.
The aim is to progress an Organisation through these maturity levels over time, depending on your specific business needs and goals.
This blog will go through a step-by-step journey using Copado tools and features to understand what is needed at each step. It will give you an understanding of when to invest in new tools as your Organisation is ready to move up each maturity level after having experienced the benefits and pain points of your present level.
Do we need a DevOps Tool to achieve DevOps Maturity?
Assuming we start our journey from Level 1, most Organisations at this level would be frequently using Changesets as a tool for deployment. The popularity of Changeset is because it is in-built into Salesforce, is easy to use, and allows technical administrators as well as non-technical administrators to move their metadata changes into production from a sandbox. How can we improve on Changesets without causing a technical learning curve for non-technical administrators as well as get over the fundamental limitations which haunt the Changeset user?
Let’s improve Level 1 with Copado Essentials
With Copado essentials you get the following benefits immediately over Changesets:
1> Org comparison and change detection: When administrators are developing and testing in a sandbox environment for a number of days, they tend to forget the components which they have been working on. They need to manually manage it in a separate spreadsheet in order to finally create the Changeset. The Org comparison tool gives you immediate visibility on which components are different in the Sandbox and does not require the need for separate component management.
2> Metadata grouping, sorting, and filtering: Finding the component and adding it to the deployment package is so much easier with the Metadata selection tool which gives the features of sorting and filtering and the bulk selection of components that can make a package creation a breeze.
3> Deploy between disconnected Orgs: There is no need for the Orgs to be connected or even under the same Salesforce Production Instance in order to deploy the components. This can be especially useful for scratch orgs or multiple production environments.
These features are available with the Free Version of Copado Essentials. NOTE: If you have more than one system administrator doing deployments or are doing more than 15 deployments per month, then you will need to upgrade to the paid version of Copado Essentials.
What about the new Salesforce DevOps tool? Salesforce DevOps is a newish tool for DevOps from Salesforce, but has some way to go to support the needs of complex orgs. It does not support Bitbucket or Gitlab as source control options, failures of source tracking and challenges in committing to work item branches makes it less reliable and feature rich than Copado.
Time to Target Level 2 with Copado Essentials Plus!
As you progress from the often irritating limitations of Changesets and have made deployments an easy job by migrating to Copado Essentials version, it is time to improve DevOps with Copado Essentials Plus Version and take your DevOps maturity to Level 2.
This will provide a substantial DevOps leap with the following features:
1> Deployment Pipelines and WorkItems: Copado has a user-friendly interface and provides an intuitive, visual representation of the deployment process, making it easier for both technical and non-technical users to understand and use. WorkItems are component packages that can travel through a linear pipeline and also optionally store changes in Version Control tools without the need to understand Git.
2> Integration with GitHub, BitBucket, GitLab, Azure DevOps: Copado Essentials Plus integrates with version control systems such as Git, allowing teams to track changes to their Salesforce codebase, collaborate on development, and revert to previous versions if necessary
Can we get to Level 3 using Copado Essentials Plus?
Now that we have achieved a smooth and easy process of deployment that is well suited for a single sandbox development environment, can we manage the same comfort with multiple teams working on multiple projects with multiple development sandboxes? The answer is yes, but using some advanced features of Copado Essentials Plus. This is also something we can do at Level 3 of DevOps maturity. The following would be the features we need to start using:
1> Deployment to and from Git to Salesforce: Copado Essentials has another model of deployment, which is called Deployments with Pull Requests or Git-based Deployments. This requires developers with familiarity in GIT. This process enables pipelines with multiple development sandboxes. Developers can work on parallel requirements on separate dev boxes and later merge their codebases. CI jobs can be triggered for automatic deployment from a Git branch to a Salesforce box.
2> Multiple deployment methods for all types of Git branching strategies: Most Organisations follow feature based branching strategy which creates a separate branch for each required user story and this branch can be merged with each environment as it travels through the pipeline. When the team size is very large, the merging can be an overhead you would like to avoid. An alternative to this branching strategy can be a trunk-based branching strategy. Without going into details on this strategy, it is wise to mention that we can adopt this branching strategy too in this tool quite easily.
3> Metadata backup and rollback: We can deploy with a backup and rollback option enabled as a button click on CI Job or Work Items.
4> Custom CI Jobs to backup, schedule, automate & validate deployments: We can automate deployments or validations through schedules or triggers after git commits/merges using CI Jobs. The best part of Copado Essentials for me is the “Wildcard” option to select the metadata. A snapshot of the entire Org metadata is so easy to do on-demand or scheduled using the “Wildcard” option. No need to worry about the 10,000 component limit of Salesforce Metadata API. This is smooth as a breeze.
What would it take to achieve Level 4 using Copado Essentials Plus?
1> Robotic Testing: An Add-On product to Copado Essentials Plus provides a testing framework and the ability to automate testing, enabling teams to validate code changes before they are deployed to production. It also allows Organisations to create regression testing suites to run automatically to check if there are any unintended failures due to changes made through new deployments.
2> Data Deployment: Data Deployments can get very complicated to do manually when we have data representing configurations like CPQ, nCino, etc to deploy from one environment to another. Copado Essentials simplifies these complex data deployments through Data Deploy Add-On product enabling relationships and filters in pre-defined templates.
3> Package Driven Development using DX: Copado Essentials supports and recommends the DX folder structure for metadata retrieval, storage and deployments. DX formats are easier to merge and manage. Copado also eliminates the need for connected orgs for deployments and hence migrating code from one development environment to another is simplified. Copado Essentials also provides features to spin up scratch Orgs.
Hey! Did we forget Level 5?
These are very few Organisations that are at the Level 5 DevOps maturity and most Organizations are quite content with the productivity benefits achieved so far. Level 5 would need not only an enterprise grade tool but also some internal process changes to achieve it.
DataColada has been using Copado Essentials Plus for quite some time and we cannot stop singing praises on what we have achieved in flexibility and time saving implementing it in our Organization. DataColada is happy to be associated with Copado as a preferred Implementation partner for APAC for Copado Essentials and Copado Enterprise Editions. We would discuss this other product of Copado, Copado Enterprise edition, which is a bigger beast in a different blog and also see if we can get to Level 5 using it. Meanwhile, if you have achieved Level 4, sit back, relax, and enjoy the laurels of being one of the top companies that have achieved Salesforce DevOps maturity!