Salesforce Devops Update – Spring 2022
I founded SalesforceDevops.net in 2021 to help the Salesforce community build better apps faster with devops. In this post, I update what I mean by Salesforce devops and SaaS devops. Next, I break down how enterprise applications are built on top of SaaS systems like Salesforce. I then drill into Salesforce devops and show how to use the SalesforceDevops.Net Map to help you build a Salesforce devops management program.
- An Ideal Devops-Driven Scenario
- Devops Drives High Performing Teams
- Why Salesforce Devops?
- Salesforce Devops Definition
- SaaS Devops Emerges
- SalesforceDevops.net Map and Decision Framework
- Thank You for A Wonderful Year
An Ideal Devops-Driven Scenario
To set the stage for our journey, let’s see how Salesforce devops could work in an ideal work environment. Imagine you are part of TrustCo, a heroic global enterprise that does everything you would expect from a company who embraces devops culture. At TrustCo there is a shared understanding between every part of the business who create enterprise applications. They are collaborative creators in a transparent work culture.
TrustCo is smart because they have studied how winning apps and websites get built. They found one successful approach is to treat IT projects like real-world products. To do this TrustCo uses permanent, cross-functional teams. They develop and run enterprise applications like entrepreneurial products. In this way, TrustCo runs IT projects much like how Silicon Valley companies plot the success of new apps.
A Center of Excellence
The TrustCo Center of Excellence for Digital Products doles out product building wisdom on a global basis. They give product teams all the product development tools they need. Teams learn about value stream management, so they carefully model underlying business processes. And to maintain stakeholder alignment, TrustCo teams also use metrics and key performance indicators (KPIs) to measure success.
The Right Tools
TrustCo digital product teams use Jira for application lifecycle management (ALM). They break down product management into epics and user stories. Every user story is carefully documented. Their Salesforce devops platform syncs with Jira and manages branch-based deployment activities. Teams continuously evaluate their progress with enterprise goals using value streams.
It is natural for a TrustCo employee to grow into being a product creator. Product creators are either businesspeople using low-code tools or developers using VS Code.
And TrustCo goes beyond testing basics in their advanced devops pipelines. They use 2nd generation, end-to-end testing to increase release confidence.
TrustCo focuses on making product creation efficient. To do this, the software development lifecycle process is fully automated. And TrustCo uses several Salesforce cybersecurity tools to keep things nice and tight. Plus, TrustCo has a well-organized workforce who use VS Code and low-code tools to compose local applications.
When new enterprise applications are needed by stakeholders, TrustCo creates new digital product teams. Each team makes product development plans in Jira. Teams then embark on their documentation, development, user acceptance, testing, and deployment journey. Business analysts lead the way creating process documentation. Devops metrics are collected to measure team productivity and effectiveness. And value streams are continuously evaluated and re-modeled as necessary.
When products become operational, the team stays in place to run and improve it. System reliability engineering is added. And incidents and problems with the system are logged in an incident management system. User and stakeholder feedback is processed. And the app is instrumented with usage metrics. This allows the team to continuously upgrade product performance.
All of which leads to a harmonious and fruitful existence between TrustCo and its stakeholders!
Devops Drives High Performing Teams
How did we get to a place where this kind of corporate world is even possible? The short answer is devops. A decade ago, bosses needed convincing that developers deserved the keys to the operational kingdom. Not anymore. Now, devops gives enterprise application production teams the tooling, techniques, and management philosophies to produce meaningful digital products.
Devops has always been more about collaboration and communication than tools and techniques. It gives high performing teams the ways to measure, automate, and continuously improve digital products that service stakeholders. When engaged in product-driven management, devops gives teams a framework that unleashes productivity while simultaneously maintaining enterprise-grade operational rigor.
We are into the second decade of people using devops to manage and automate IT application development. If anything, high-performing business teams use devops-inspired principles to manage non-IT business activities. Using devops for business agility and resilience is now considered essential for the modern enterprise.
Why Salesforce Devops?
Salesforce is a critical application delivery platform for an increasing number of companies. When companies find themselves managing critical data in Salesforce, they need better ways to manage and optimize their platform investments. Designed for companies who manage complex orgs, Salesforce devops is the way companies manage critical data and get their money’s worth out of their Salesforce license fees.
Salesforce Devops Definition
Functionally speaking, Salesforce devops covers automating and managing Salesforce application development and release activity. This includes business operations, value stream management, application lifecycle management, IT operational strategies, developer tools, low-code tools, scripted command servers, pipeline orchestration, monitoring, incident management, cybersecurity, testing, and business modeling.
But we need a concise definition that conveys meaning. So, I made this formal definition of Salesforce devops:
Salesforce devops is a management program that oversees the software, data, and activities that continuously builds better Salesforce apps faster.
Here is what I mean, word-by-word.
The word app (or application) refers to digital products, or enterprise applications. And the phrase management program emphasizes that Salesforce devops is a business process run by people rather than just software engineering best practices. A devops program must manage cross-functional teams that break down communication barriers. It is a key business process that requires technology, resources, people, planning, coordination, and leadership to function properly.
The word continuously refers to a devops principle known as continuous delivery. This is where app developers make small incremental changes in their application. This allows app builders to improve features and usability by measuring app performance. Every time a change is introduced user behavior is analyzed using metrics. This allows app developers to use scientific methods to continuously improve app performance.
The phrase software, data, and activities refers to all the technical elements involved in a devops management program. This includes source code repositories, cloud-based services, online services, scripted command servers, developer environments, and platform cybersecurity.
The phrase builds better apps refers to the need to link all app production activities to executive governance. Projects must originate from enterprise stakeholders. And organizations need to organize, document, track, and measure Salesforce development projects. This ensures projects are governed by stakeholder needs.
And the word faster is in the definition because reducing the time spent by people in a Salesforce application release cycle is badly needed. Salesforce customers often feel forced into devops projects because Salesforce application delivery is currently slow and awkward.
SaaS Devops Emerges
Before going further, the term SaaS devops needs clarification. With SaaS sprawl and management being a common problem, enterprises want similar approaches to application delivery based on devops principles. The promise of multi-SaaS service management has created a new market segment: SaaS devops. The aim of SaaS devops is to use a technology service to unify IT operations across multiple SaaS systems.
SaaS devops is a developing market segment. A handful of startup and established companies are gearing up to service the SaaS devops market. Recently founded companies like Opsera and Salto were born with SaaS devops in mind. And Salesforce devops industry-leader Copado recently acquired SAP-related companies to quickly step into being a SaaS devops service provider.
So, when I refer to SaaS devops, that term includes all SaaS-related application delivery activities. This lets us treat Salesforce devops, SAP devops, Oracle NetSuite devops, and other SaaS application delivery environments as a group.
However, devops is currently far more prevalent in Salesforce than in other SaaS systems. That is why we are having a SaaS devops conversation within the Salesforce community in 2022.
SalesforceDevops.net Map and Decision Framework
To help teach people about Salesforce devops and to provide an industry guide, I launched the SalesforceDevops.net Industry Map in April 2021. I wanted to share a decision framework that helps Salesforce platform owners and architects pick good devops solutions.
For 2022 the map has been updated to rename and combine some of the layers. Two new categories were also added: cybersecurity and testing. An architectural view plus the software developer lifecycle (SDLC) flow has been added to a new, combined infographic. The combined infographic is called the SalesforceDevops.net Decision Framework.
The decision framework has three main elements: the Software Development Lifecycle (SDLC), SaaS Application Architecture, and the Salesforce Devops Map.
Software Development Lifecycle
To explain devops, people often focus on the activities performed by Salesforce developers and release managers. This allows explainers to fall back on some traditional patterns, such as the iterative nature of a developer’s daily existence. This leads to the infinity symbol, or a circular loop being used to represent the iterative nature of the SDLC.
I think we can do better. SDLC diagrams only convey a small part of the entire application delivery process. They don’t help architects or platform owners pick solutions. IT executives and managers need broader categories of functionality in an infographic to ensure they are building complete solutions.
I have reorganized the SDLC flow into a stateless, stack-oriented diagram. But the sequence of activities that deploy enterprise applications needs illustration. So, I like to simplify it by just laying out the SDLC steps in a linear fashion and indicating how it refers to the map.
SaaS Application Architecture
A key to understanding Salesforce devops is to appreciate how SaaS applications get built beyond the SDLC cycle. This appreciation must start with the stakeholders and executives in an enterprise who must ultimately govern IT project activities.
To illustrate this, look at the SaaS Devops Architecture diagram which shows the application delivery process in three layers.
- Enterprise Governance represents the intent and needs of an organization building applications.
- Application Delivery represents managing the people, processes, and resources who build the applications.
- Tooling and Implementation represents the massive number of activities that perform application delivery and continuous application improvement.
Salesforce Devops Industry Map
Now, let’s expand the SaaS application architecture into a map of products and services that deliver solutions. The result is a stack diagram that maps to curated lists of solutions by functional categories.
I expanded the 3-layer architecture layout to have ten major categories of functionality. Each layer in the map describes a major category of functionality. The lower the layer in the stack, the more granular and finely detailed are the activities. Going up the stack increases in activity complexity and the number of lower-level stack components invoked. Like how a networking architecture functions, inter-process communication is usually limited to stack boundaries.
Cybersecurity and testing are critical devops functions which don’t fit into layered categories. They envelop the devops processes at several levels. This is because continuous delivery pipelines integrate cybersecurity and testing activities at several different stages.
Map Category Descriptions
To see full definitions of all the map categories, please see this companion post:
Salesforce Devops Industry Map – Spring 2022 Edition.
For the past year I have been hunting for Salesforce devops products and services. When I find one, it gets listed in the SalesforceDevops.net Map and added to each category to which it maps. Here are all the categories that have products listed.
- Application Lifecycle Management
- Change Intelligence
- Data Backup and Recovery
- Data Transformation
- Developer Tools
- Developer Cybersecurity
- Engineering Services
- Platform Cybersecurity
- System Reliability & Incident Management
- Pipeline Orchestration
- Profile Management
- Repository Management
- Sandbox Management
- Static Application Security Testing
- Testing Tools
- Value Stream Management
Find Your Devops Solution
I put all these concepts together into one summary illustration. The SalesforceDevops.net Decision Framework is designed to remind you what it takes to run a Salesforce devops management program. A fully functional devops program should have all these elements covered.
Thank You for A Wonderful Year
As SalesforceDevops.net nears its first year, I feel so grateful to have been welcomed as an industry educator. If you are interested in talking with me about the Map and how to use it in your own teaching efforts or just want to talk devops, my calendar is open. Please drop me a line at [email protected] to start the conversation.