CommunityDevOps ExchangePartners
Articles
12/20/2022
10 minutes

The Admin's Quick Glossary for Understanding Salesforce DevOps

Written by
Halie Vining
Table of contents

DevOps commonly refers to the combination of development and operations processes, methodologies and tools in order to streamline software development. DevOps helps companies deliver and improve applications faster, enabling their businesses to better service customers. So naturally, as companies continue their digital transformation journeys, DevOps is a great fit, right?

Salesforce is an extremely powerful platform because it enables admins to configure updates rather than custom coding new features. This is great for accelerating the production of new features, but as Salesforce is leveraged for more complex transformation projects, companies are building customizations that require more code and deeper testing—and the need DevOps.

Scaling DevOps across teams of developers and admins can be really difficult. That’s because DevOps tools and methods are rooted in command line, version control, testing scripts and other development techniques that admins typically don’t learn.  But as the need for DevOps grows, it’s time for admins to get involved with DevOps. 

And the first step is to familiarize yourself with the terms and tools that you’ll encounter in your DevOps journey. Get started with the Admin’s Quick Glossary to Understanding Salesforce DevOps.

Glossary

Agile

Incremental delivery, team collaboration, and continual learning are the key characteristics of the agile approach to software development. Agile focuses on creating a minimum viable product (MVP) and improving it through iterations or “sprints.”

 

Ant

Ant, also known as the Force.com migration tool, is a Java/Ant-based command-line utility used to move metadata between a local folder and an org. Developers manage interactions using a command-line interface (CLI). There is no user interface. 

Developers deploy sets of metadata changes from one environment to another by building code packages manually. The developer builds the packages and organizes them into a single folder, then deploys the folder using Ant.

 

Apex

Apex is a programming language that allows users to add and interact with data in Salesforce. It extends the core functions provided by the platform by giving more flexibility in customizing functions and logic.

 

API

API stands for Application Programming Interface. APIs allow two pieces of software to interact and share information.

 

Application Lifecycle Management (ALM)

ALM refers to the end-to-end process of designing, developing, testing, deploying, and retiring a software application. It includes ongoing application improvement and support.

 

Azure DevOps

Azure DevOps refers to Microsoft's DevOps tools and services. The toolset facilitates agile, includes Git repositories and helps team document requirements and changes.

 

BitBucket

BitBucket is Atlassian’s Git-based version control system. See version control below for more details.

 

Branch

A branch is an independent working environment in version control systems or source control where developers isolate and test new procedures from other development work during the build.

Developers can work in parallel, review each other’s work, and control change releases for testing.

 

Change Fail Rate

The change fail rate is the percentage of changes to production or released to users that result in degraded service (e.g., lead to service impairment or service outage) and subsequently require remediation (e.g., need a hotfix, rollback, fix forward, patch).

 

Change Management

In IT, change management is the process of controlling the implementation and maintenance of the software infrastructure applications using change controls and processes such as version control (see below) or source control.

Change management is an essential principle of DevOps to keep complex distributed systems moving rapidly through continuous integration and deployment.

 

Change Sets

Change sets is a point-and-click tool provided by Salesforce that developers use to migrate metadata changes between orgs as well as synchronize metadata between a source org and a target org.

The developer configures two orgs to send and receive changes. The orgs must be linked through a relationship to a shared production space such as a sandbox or developer environment, creating each from the same org.

Developers build change sets by manually selecting components through a user interface in the source org. The developer then deploys and stages the change set in the target orgs, where the changes are applied.

 

CI/CD

A combination of continuous integration (see below) and continuous development (see below), the term CI/CD is used frequently to represent the relationship between the two concepts. 

Continuous development is an extension of continuous integration. CI automates testing, and CD automates deployment. Put together, CI/CD helps DevOps build, test, release, and deploy changes quickly and reliably at a frequency that suits your business needs.

 

Command Line

A command line is a text-based user interface, essentially a blank line on the screen allowing the developer to type in instructions or code for execution. Using command line coding requires a skilled developer or user to perform changes. To simplify changes, Salesforce DevOps typically uses Ant (see above) or SFDX (see below), which have more straightforward user interfaces that don't require coding expertise.

 

Commit

Commit is a term used to describe the collections of changes in source code. The developer adds changes to a branch and records the latest stage in the development process. 

Version control automatically tracks changes made to the files. Upon completing part of a feature, the developer "commits" the changes and provides a description.

 

Continuous Delivery (CD)

An extension of continuous integration (see below), DevOps sometimes uses the term interchangeably. CD ensures new changes are released to customers quickly and reliably. 

Developers also use CD to automate the release process where they can deploy an application anytime.

 

Continuous Integration (CI)

CI is a development process for building and testing code automatically each time a developer commits changes to version control.

Developers share code and unit tests using CI to merge changes into a shared version control repository. The commit (see above) triggers an automated build system for pulling the newest code from the shared repository to build, test, and validate a full master branch, trunk, or main.

 

Deployment Frequency (also known as Deployment Velocity)

Deployment frequency measures the time it takes to develop, test, implement, and deploy changes to an environment such as production. The higher the frequency, the smoother the process occurs because finding issues slows the velocity, a sign of problems in the deployment pipeline's efficiency.

 

Deployment Pipeline

The deployment pipeline is the automated process for making code available to application users. It provides developers a reliable and rapid method of developing, testing, implementing, and deploying code changes to the application.

 

DevOps

A term to describe a “thoughtful, comprehensive set of practices and attitudes that make it possible for teams to migrate changes from development into production with minimal friction and waste.” 

DevOps refers to the technical and operational aspects of software releases, including packaging, releasing, and monitoring the changes throughout the software development lifecycle. Teams use DevOps practices to release regularly and reliably in shorter release cycles.

 

Git

Git is the most commonly used type of version control system (VCS), also known as Source Control (see below). It is the foundation and framework used to define change tracking and how users can interact with the system. 

Git is a distributed version control system containing a complete copy of the repository and all project files distributed to each developer for project coordination.

Git vendors include GitHub, BitBucket (see above), and GitLab.

 

Git Repository

A Git repository is the .git/ folder with the Git (see above) version control system). The repository tracks all the changes made to the files of a project. Deleting it deletes all project history. 

 

Integrated Development Environment (IDE)

IDEs provide developers with a comprehensive set of software development tools, rather like a text editor for writing code.

Typically, an IDE consists of a source code editor, build automation tools, and a debugger. For Salesforce, one of the most popular IDEs is Visual Studio Code.

 

Lead Time

Lead time is the time elapsed between the identification of a requirement and its deployment. It may be thought of as the time between the creation of a user story and the “story” being placed into production.

 

Mean Time to Recovery

Mean time to recovery (MTTR) is an essential metric for measuring the time a system takes to recover from a failure. The shorter the MTTR, the less downtime users experience during a service outage or system failure.

 

Merging

Merging is a source control process used to integrate changes from one branch to another, including into the master. It usually involves a code review by other developers and is often performed when a feature is ready for user testing.

During a merge, the version control system uses advanced merging algorithms to automatically splice the two versions of files to produce a coherent result. If the merge fails, it results in a “merge conflict,” which a developer must resolve manually.

 

Metadata

Metadata is the coding structure of Salesforce. Metadata alteration occurs when a developer makes changes to the platform, such as adding a new custom field.

Metadata controls user access to pages, color schemes, and UI layouts, among other things. 

 

Package.xml

This is another name for a package file or package manifest.

The term is used when retrieving or deploying metadata using Ant or SFGX CLI. The package file defines the metadata request from an org or deploys it to an org. 

 

Pull Request (PR)

A pull request is also known as a merge request. PRs are used in version or source control systems and allow developers to notify team members when a feature is complete.

Once a feature branch is ready, a developer files a pull request to allow the metadata to merge two branches in a single branch automatically. Developers can provide code feedback, test for conflicts, track change history, and control when and where code is merged. 

 

Regression Testing

Regression testing is the process of testing software after changes are made to ensure it performs correctly. It can include tests of both the software’s functional and non-functional performance. 

Functional testing checks software for correct behavior and result provision. Non-functional testing checks software operation, including speed and the ability to handle high data volumes.

 

Salesforce Dev

This refers to the DevOps process used for Salesforce. It is a cloud computing service for building, testing, deploying, and managing applications and services through the Salesforce platform.

 

Salesforce DX (SFDX)

Salesforce DX is an initiative launched by Salesforce to provide modern development tools for Salesforce developers. Tools include packaging, a new CLI, updates to the metadata API, and scratch orgs.

 

Selenium

Selenium is a common open-source browser automation tool used frequently in DevOps pipelines. It provides cost benefits to functional testers and test teams that perform UI testing.

 

Source Code

In Salesforce, source code refers to metadata representing all Salesforce code or to custom code written within the platform. It’s often used to describe code stored in a version control system (see below), also known as a source control system.

 

Static Code Analysis (SCA)

SCA reviews code to identify bugs, detect bad practices, and enforce developer adherence to the coding guidelines. 

Static code analysis improves team effectiveness by making it easier for developers to review and improve others' code. Rulesets can be modified to suit business needs. SCA ensures a well-written code that follows set standards.

It is often used along with unit testing (see below).

 

Testing Automation

The automation of code testing streamlines the DevOps process. Test automation is essential for Salesforce DevOps to deploy changes, particularly frequent small changes, efficiently. Testing automation also helps DevOps comply with Salesforce code coverage requirements.

 

Unit Testing

Unit testing is a method for automatically testing individual batches of source code to check fit for purpose. It’s generally accepted as a best practice across all software languages and platforms. Developers write unit tests alongside the code to ensure the code works as expected. 

Unit tests must be used in Salesforce, a practice enforced by a code coverage rule that states that, before deployment to a production org, developers must check at least 75% of the code.

 

Version Control

Version control is also called source control or a version control system. It tracks changes to files. 

For Salesforce projects, version control represents the configuration changes as text files and tracks any changes to those text files over time. Typically, text files are created with Apex (see above) or XML (see below).

 

XML

XML is the language used by Salesforce to write org metadata and custom code.

 

Book a demo

About The Author

Sr Director, Integrated Marketing Communications and Field Marketing

Halie is digital product and marketing strategist, with experience launching products and digital campaigns for B2B brands like Rackspace, Salesforce, Intel and HP. Her passion sits at the intersection of data and storytelling—and she's never met a pattern she didn't want to decipher.

Copado Launches Copado Explorer to Simplify and Streamline Testing on Salesforce
Exploring Top Cloud Automation Testing Tools
Master Salesforce DevOps with Copado Robotic Testing
Exploratory Testing vs. Automated Testing: Finding the Right Balance
A Guide to Salesforce Source Control
A Guide to DevOps Branching Strategies
Family Time vs. Mobile App Release Days: Can Test Automation Help Us Have Both?
How to Resolve Salesforce Merge Conflicts: A Guide
Copado Expands Beta Access to CopadoGPT for All Customers, Revolutionizing SaaS DevOps with AI
Is Mobile Test Automation Unnecessarily Hard? A Guide to Simplify Mobile Test Automation
From Silos to Streamlined Development: Tarun’s Tale of DevOps Success
Simplified Scaling: 10 Ways to Grow Your Salesforce Development Practice
What is Salesforce Incident Management?
What Is Automated Salesforce Testing? Choosing the Right Automation Tool for Salesforce
Copado Appoints Seasoned Sales Executive Bob Grewal to Chief Revenue Officer
Business Benefits of DevOps: A Guide
Copado Brings Generative AI to Its DevOps Platform to Improve Software Development for Enterprise SaaS
Celebrating 10 Years of Copado: A Decade of DevOps Evolution and Growth
Copado Celebrates 10 Years of DevOps for Enterprise SaaS Solutions
5 Reasons Why Copado = Less Divorces for Developers
What is DevOps? Build a Successful DevOps Ecosystem with Copado’s Best Practices
Scaling App Development While Meeting Security Standards
5 Data Deploy Features You Don’t Want to Miss
Top 5 Reasons I Choose Copado for Salesforce Development
How to Elevate Customer Experiences with Automated Testing
Getting Started With Value Stream Maps
Copado and nCino Partner to Provide Proven DevOps Tools for Financial Institutions
Unlocking Success with Copado: Mission-Critical Tools for Developers
How Automated Testing Enables DevOps Efficiency
How to Keep Salesforce Sandboxes in Sync
How to Switch from Manual to Automated Testing with Robotic Testing
Best Practices to Prevent Merge Conflicts with Copado 1 Platform
Software Bugs: The Three Causes of Programming Errors
How Does Copado Solve Release Readiness Roadblocks?
Why I Choose Copado Robotic Testing for my Test Automation
How to schedule a Function and Job Template in DevOps: A Step-by-Step Guide
Delivering Quality nCino Experiences with Automated Deployments and Testing
Best Practices Matter for Accelerated Salesforce Release Management
Maximize Your Code Quality, Security and performance with Copado Salesforce Code Analyzer
Upgrade Your Test Automation Game: The Benefits of Switching from Selenium to a More Advanced Platform
Three Takeaways From Copa Community Day
Cloud Native Applications: 5 Characteristics to Look for in the Right Tools
Using Salesforce nCino Architecture for Best Testing Results
How To Develop A Salesforce Testing Strategy For Your Enterprise
What Is Multi Cloud: Key Use Cases and Benefits for Enterprise Settings
5 Steps to Building a Salesforce Center of Excellence for Government Agencies
Salesforce UI testing: Benefits to Staying on Top of Updates
Benefits of UI Test Automation and Why You Should Care
Types of Salesforce Testing and When To Use Them
Copado + DataColada: Enabling CI/CD for Developers Across APAC
What is Salesforce API Testing and It Why Should Be Automated
Machine Learning Models: Adapting Data Patterns With Copado For AI Test Automation
Automated Testing Benefits: The Case For As Little Manual Testing As Possible
Beyond Selenium: Low Code Testing To Maximize Speed and Quality
UI Testing Best Practices: From Implementation to Automation
How Agile Test Automation Helps You Develop Better and Faster
Salesforce Test Cases: Knowing When to Test
DevOps Quality Assurance: Major Pitfalls and Challenges
11 Characteristics of Advanced Persistent Threats (APTs) That Set Them Apart
7 Key Compliance Regulations Relating to Data Storage
7 Ways Digital Transformation Consulting Revolutionizes Your Business
6 Top Cloud Security Trends
API Management Best Practices
Applying a Zero Trust Infrastructure in Kubernetes
Building a Data Pipeline Architecture Based on Best Practices Brings the Biggest Rewards
CI/CD Methodology vs. CI/CD Mentality: How to Meet Your Workflow Goals
DevOps to DevSecOps: How to Build Security into the Development Lifecycle
DevSecOps vs Agile: It’s Not Either/Or
How to Create a Digital Transformation Roadmap to Success
Infrastructure As Code: Overcome the Barriers to Effective Network Automation
Leveraging Compliance Automation Tools to Mitigate Risk
Moving Forward with These CI/CD Best Practices
Top 3 Data Compliance Challenges of Tomorrow and the Solutions You Need Today
Top 6 Cloud Security Management Policies and Procedures to Protect Your Business
What are the Benefits of Principle of Least Privilege (POLP) for My Organization?
You Can’t Measure What You Can’t See: Getting to know the 4 Metrics of Software Delivery Performance
How the Public Sector Can Continue to Accelerate Modernization
Building an Automated Test Framework to Streamline Deployments
How To Implement a Compliance Testing Methodology To Exceed Your Objectives
Cloud Security: Advantages and Disadvantages to Accessibility