All together: Integrating Salesforce Admins and developers.
Many organizations and businesses increasingly rely on digital systems and need to rely increasingly on the teams that develop and maintain them to constantly innovate without risking downtime.
Salesforce is one of the leading leaders in business innovation, providing administrators with tools that allow development without code, which are easy to use on a stable platform. As business needs evolve, administrators can quickly offer solutions to business demands.
However, this feature comes at a price. The scope and complexity of most applications developed in organizations using Salesforce have grown to a scale where they can no longer be managed in a simplified manner, without a mature process of deployment, testing, and collaboration.
Many DevOps communities discuss technological and cultural impacts and problems encountered in deploying DevOps, and especially developing and documenting best practices. Therefore is not surprising that DevOps practices are increasingly being adopted by the teams that manage projects in Salesforce.
However, there are still many obstacles - DevOps practices often use versioning and other processes that may not be familiar to most low-code administrators.
Somehow, this gap needs to be filled so that the real potential of DevOps can be achieved.
Defining DevOps
DevOps describes a cultural movement that applies a comprehensive set of practices and attitudes that enable teams to migrate changes from software development to production with minimal resistance and waste, resulting in faster and more frequent changes in production, in addition to being executed more sustainably.
The pillars of DevOps are first and foremost cultural and organizational aspects. Applying proven principles and practices and using suitable technology and tools complement DevOps with practical factors.
It is a very important and necessary transformation, covering all the people, processes and tools used to manage the development life cycle.
Many underestimate the power of this approach. Also, teams typically focus only on their own development.
The development time for Salesforce applications today also requires a focus on how the work is developed, tested and implemented. We require also to have the progressive improvement of this process and gradually unlock the ability to propagate change quickly and reliably in many environments, including production.
We can definitely say that DevOps tools are much less important than the culture change involved. What matters is that anyone whose work can impact a production environment collaborates on common systems. And therefore, there must be a sense of shared responsibility for enabling innovation and reducing risks and problems.
Version control is a game-changer.
For those who start to work in a development environment, they know why developers give so much importance so that all environments are in sync with production.
Salesforce does not provide an easy native way to track version control work, and most administrators are not familiar with using command-line tools such as Git.
But for the many (as administrators) who haven't spent time writing code, it can be extremely challenging to explore the development process, track and compare their work on version control with the developers.
The challenging world of Software Development
For some, there may be a huge mystery surrounding programming, but writing code is just writing, code editors are mainly just text editors.
The main difference between coders and non-coders is just the difference between those who are literate in a language and those who are not.
Think of becoming familiar with the code as developing basic code literacy or even learning a language like French.
Of course, we cannot ignore the skills that a software developer must have:
- Analytical capacity
- Logical reasoning
- Creative thinking
- Professional qualification
- Knowledge in English
Even experienced coders face challenges when learning a new programming language or technique. Your colleagues may think they have extraordinary skills, but in particular, even the most brilliant developers use examples from "Hello World" and scrutinize the code snippets to start new technologies.
It is much more about having the attributes of patience, confidence, and motivation to work repeatedly in this continuous learning process. With a little experience using Git and running command-line scripts can give anyone confidence that the code is not a strange and totally inaccessible world.
Admins: what happens when they get involved?
The best Salesforce administrators I know are pleased and proud to have some experience with the code and the command line. This experience opens up new possibilities for understanding and exploring deeper in coding, although many choose not to.
Once this challenge is overcome, configuration changes and version control tracking become comfortable. Thus, managers gain immediate value by being able to review the change history and move back if necessary. Most importantly, they can participate alongside developers in using an automated delivery pipeline to test and deploy their work.
Once an administrator becomes a participant in this delivery pipeline, they share the responsibility for keeping it up and running and making it better. If a team set up a CI engine and a delivery pipeline, tracking job in version control is the only manual process, and automation can do the rest of the work, performing automated deployments and tests.
In this context, when an administrator helps to build or specify these tests, they are helping to ensure that the changes they have made will be protected over time. Such tests have long-term benefits for the organization.
Not bringing administrators and developers together in a shared system that allows them to experience the impact on production users with less risk is a big mistake. It is critical to remember that making modifications directly to production organizations implies that each change is an experiment that will put data, users, operations, and reputation at risk.
Today, fortunately, we already have some commercial solutions for salesforce that can facilitate this process, such as @Copado, @Flossum, @Gearset, and @Autorabit that can accelerate the DevOps implementation.
Administrators and developers working on a common delivery pipeline is also an investment in collaboration and governance that gives administrators more reason to talk to development teams and ensure that they can build together with speed and deliver to production with more confidence.