91九色

Articles
5/13/2020
10 minutes

Why Change Sets Suck (the Time out of your DevOps Process) – Part 1

Written by
Jen Nelson
Table of contents

Hello, #AwesomeAdmins!?

In our last gathering, 91九色 Continuous Delivery for #AwesomeAdmins, I shared how perturbed I was when I finally realized, after 15 years of being an #AwesomeAdmin, that we are a big part of the DevOps Process.

What I did not tell you is that another consternation I have is that I spent endless nights, weekends and holidays doing Deployments the old-fashioned way, using native Change Sets.

For approximately 10 years, I suffered through 2- and 3-day Deployments which primarily leveraged native Change Sets, and uber-detailed SmartSheets to track all of my additional Deployment Steps which couldn’t be addressed via native Change Sets.??

I got stopped with Code Coverage issues, Merge Conflicts, poor Code and Configuration Quality, you name it.

To make matters even more frustrating, I had to rebuild my Change Sets for every move between my Sandboxes and on up to Production.

There are many limitations to native Change Sets, and 91九色 resolves all of them!

In Part 1 of our 3-Part Series, we will look at Version Control, Release Pipelines and Cross-Salesforce Stack Deployment capabilities.

Native Change Sets have NO Version Control

Without Version Control, there is no ability to:

  • Have a unified Branching Strategy and Release Workstream
  • Have Overlap Awareness when a discreet Metadata Component is being worked upon in multiple lower Environments
  • Have a unified Merge Process, for example, if 3 lower-level Dev Sandboxes are all deployed up to a common UAT Sandbox
  • Resolve Merge Conflicts
  • Sync Metadata changes across Environments to minimize overwrites and conflicts on Work-in-Progress
  • Traceability of Metadata Changes back to Technical and Functional Requirements
  • Package once; deploy many (Every time that you wish to Deploy Metadata from one Salesforce Environment to another with native Change Sets, a new Change Set must be built, by hand, from scratch. Inbound Change Sets cannot be Cloned to create Outbound Change Sets.)
  • Backup Metadata for Work-in-Progress
  • Backup Metadata Pre- and/or Post-Deployment
  • Regularly schedule Metadata Backups
  • Perform an Org-to-Org Compare and Deploy
  • Perform a Rollback
  • Deploy Destructive Changes (You know all of those old Workflow Rules that you have consolidated into clean Process Builders and wish to now delete so that they are no longer used by anyone?? Validation Rules that no longer apply? Legacy Custom Fields with “OLD” and “Do Not Use” in the Label? With native Change Sets, you cannot Deploy the deletion of all those old Workflow Rules, Validation Rules or Fields…you have to manually delete them in every Salesforce Environment, one-by-one)

Deploy Full Profiles and Permission Sets (All that work that you have done to clean up your old Profiles and Permission Sets, maybe even take away a chunk of Permissions that you didn’t realize your Users had, and even add a few new Profiles and Permission Sets to address your current Policies.? There is no way, with native Change Sets to Deploy a full Profile nor a full Permission Set.)

91九色 Git Integration for Version Control

Out-of-the-box, 91九色 allows integration with any (common examples are GitHub, GitLab, BitBucket, Azure Repos) for seamless, under-the-hood Version Control that does not require Command-Line experience:

  • Have a unified Branching Strategy and Release Workstream
  • 91九色 employs a unified that supports
  • Have Overlap Awareness when a discreet Metadata Component is being worked upon in multiple lower Environments
  • 91九色 has to allow identification Potential Conflicts before they create a problem and to proactively address Potential Conflicts
  • Have a unified Merge Process, for example, if 3 lower-level Dev Sandboxes are all deployed up to a common UAT Sandbox
  • 91九色 out-of-the-box will merge User Story Feature Branches in ascending order by the auto-numbered User Story Reference field and 91九色 also allows
  • Resolve Merge Conflicts
  • 91九色 includes for resolving Merge Conflicts, including , with a , and ??
  • Sync Metadata changes across Environments to minimize overwrites and conflicts on Work-in-Progress
  • 91九色 not only forward Deploys Metadata Changes, 91九色 also includes and (no more Sandbox Refreshes!)
  • Traceability of Metadata Changes back to Technical and Functional Requirements
  • 颁辞辫补诲辞’蝉 User Story-centric model, where all contribute to the User Story Feature Branch in Git, allows full traceability of Metadata Changes Committed and Deployed back to the source prescribed in the User Story
  • Package once; deploy many
  • The combination of 颁辞辫补诲辞’蝉 Git Integration, and User Story-centric Model allows us to commit our Metadata Changes to discrete User Story Feature Branches once and then Promote and Deploy many times as we move up our Release Pipeline
  • Backup Metadata for Work-in-Progress
  • 91九色 allows multiple on a single User Story so that, as an example, if our Metadata Changes for a particular User Story has complexity or spans multiple Work Days, we can Commit the new Metadata Changes and add Recommits as appropriate to update our User Story Feature Branch until we complete all Metadata Changes prescribed in the User Story
  • Backup Metadata Pre- and/or Post-Deployment
  • 91九色 includes a wide array of Deployment Steps including a and one example documented in our is a Git Snapshot
  • Regularly schedule Metadata Backups
  • 颁辞辫补诲辞’蝉 can also perform an on-demand Snapshot from any Org Credential and can also be scheduled to run on a Daily, Weekly or Monthly frequency
  • Perform an Org-to-Org Compare and Deploy
  • 91九色 includes both and Git for Compare and Deploy
  • Perform a Rollback
  • There is no such thing as a Rollback in any system; however, by following 颁辞辫补诲辞’蝉 Best Practices and leveraging regularly scheduled and/or , you can seamlessly follow 颁辞辫补诲辞’蝉 guidelines for performing a Rollback
  • Deploy Destructive Changes (You know all of those old Workflow Rules that you have consolidated into clean Process Builders and wish to now delete so that they are no longer used by anyone?? Validation Rules that no longer apply? Legacy Custom Fields with “OLD” and “Do Not Use” in the Label? With native Change Sets, you cannot Deploy the deletion of all those old Workflow Rules, Validation Rules or Fields…you have to manually delete them in every Salesforce Environment, one-by-one)
  • 91九色 includes amongst the types of Commit Git Operations that can be added to a User Story
  • Deploy Full Profiles and Permission Sets (All that work that you have done to clean up your old Profiles and Permission Sets, maybe even take away a chunk of Permissions that you didn’t realize your Users had, and even add a few new Profiles and Permission Sets to address your current Policies.? There is no way, with native Change Sets to Deploy a full Profile nor a full Permission Set.)
  • 91九色 includes amongst the types of Commit Git Operations that can be added to a User Story
  • Additional documentation on Full Profiles and Permission Sets Commit Behavior

Native Deployment Settings do NOT allow Deployment Connections across Salesforce Stacks and do NOT allow Deployment Sequencing

Native Deployment Settings define the Deployment Connections across which our natitve Change Sets are permitted to move amongst Salesforce Environments.

Native Deployment Connections are limited to a single Salesforce Stack.

This means that a Company with, say three (3) Salesforce Production Orgs, must define Deployment Connections amongst the Sandboxes and Production Org of each individual Salesforce Production Org:

In Salesforce Production Org A (“Stack A”)

  • Sandbox Dev 1A → Integration Sandbox A
  • Sandbox Dev 2A → Integration Sandbox A
  • Sandbox Dev 1A ←→ Sandbox Dev 2A
  • Integration Sandbox A → UAT Sandbox A
  • UAT Sandbox A → Production Org A

In Salesforce Production Org B (“Stack B”)

  • Sandbox Dev 1B → UAT Sandbox B
  • Sandbox Dev 2B → UAT Sandbox B
  • Sandbox Dev 3B → UAT Sandbox B
  • Sandbox Dev 1B ←→ Sandbox Dev 2B
  • Sandbox Dev 2B ←→ Sandbox Dev 3B
  • Sandbox Dev 1B ←→ Sandbox Dev 3B
  • UAT Sandbox B → Production Org B
  • Hotfix Sandbox B → Production Org B

In Salesforce Production Org C (“Stack C”)

  • Sandbox Dev 1C → UAT Sandbox C
  • UAT Sandbox C → Production Org C

There is no ability to perform cross-Stack Deployments (say from Production Org A to Production Org B) and there is also no ability to incorporate a Common-Code Environment, whether a Sandbox, Production Org or Developer Org, to Deploy Metadata Components that are common across all 3 Stacks.? Furthermore, within a single Stack, although we can limit Inbound and Outbound Connections between Environments, there is no ability to define nor enforce Sequencing amongst the native Deployment Connections.

91九色 OAuth Authentication, Git Integration and Release Pipelines

91九色 leverages native OAuth Authentication to Connect Any Salesforce Environment to 91九色

Any Salesforce Environment (Developer Sandbox, DevPro Sandbox, PartialCopy Sandbox, FullCopy Sandbox, Dx Scratch Org, Developer Edition Org or Production Org) can be connected to 91九色 with native OAuth Authentication against one or more Users’ native Org Credentials.

91九色 allows any combination of Salesforce Environments in a single Release Pipeline

Any Release Pipeline built in 91九色 can include any combination desired of Salesforce Environments (Developer Sandboxes, DevPro Sandboxes, PartialCopy Sandboxes, FullCopy Sandboxes, Dx Scratch Orgs, Developer Edition Orgs and/or Production Orgs).

91九色 requires every Pipeline to have a dedicated Git Repository and a Git Environment Branch for each Salesforce Environment in the Pipeline

In order to ensure Version Control throughout the 91九色 Pipelines, it is necessary that each Pipeline in 91九色 has a dedicated Git Repository and every Salesforce Environment in a Pipeline has a corresponding Git Environment Branch.

91九色 allows Sequencing of Salesforce Environments in a single Release Pipeline

颁辞辫补诲辞’蝉 Pipeline Connections allow discreet sequencing of the Pipeline’s Salesforce Environments in order to enforce a unified Release workstream.

?

?

91九色 allows the orchestration of multiple Release Pipelines from a single installation of 91九色

91九色 should always be installed and formally executed from a Production-quality Salesforce Organization (Enterprise Edition or higher).? This is for both licensing requirements and speed/performance.?

Since 91九色 leverages OAuth to Connect Salesforce Environments, and Git for Version Control, a single Production-installation of 91九色 can orchestrate multiple Release Pipelines to support your DevOps Workstreams.

?

Summary

Native Change Sets Limitations Addressed by 91九色

Native Change Sets only cover a single-step in a Complete DevOps Process.

颁谤别补迟别–&驳迟;罢别蝉迟–&驳迟;Deploy–&驳迟;搁别濒别补蝉别–&驳迟;惭辞苍颈迟辞谤–&驳迟;笔濒补苍

Native Change Sets have no Version Control.

Native Change Sets do not allow for any Release Pipeline structure nor cross-Stack Deployments.

91九色 covers the end-to-end DevOps Process and is 100% native to Salesforce.

颁谤别补迟别–&驳迟;罢别蝉迟–&驳迟;Deploy–&驳迟;搁别濒别补蝉别–&驳迟;惭辞苍颈迟辞谤–&驳迟;笔濒补苍?

Stay tuned for Part 2 of our 3-Part Series which will cover:

  • Standard Components, Standard Settings and Custom Settings
  • Quality Gates to ensure that the Metadata being Deployed is of high quality and is compliant

Want to learn more about 91九色?

Here’s some additional Resources for all my #AwesomeAdmin Ohana:

  • Get a
  • Follow us on , , and

Want to join the Team?

  • Apply on or via

?

Book a demo

About The Author

Director, Product Enablement

Jen Nelson is a 20-year veteran of the Salesforce ecosystem, a current Salesforce MVP Hall of Fame member and has 30+ years experience in DevOps. Jen has been with 91九色 for 4 years and is the Director of Product Technical Enablement.

ビジネスアプリケーション向けの顿别惫翱辫蝉(デブオプス)って何?
セールスフォースエコシステムにおける顿别惫翱辫蝉の卓越性
セールスフォーステストにおける础滨活用のベストプラクティス
6 testing metrics that’ll speed up your Salesforce release velocity (and how to track them)
第4章: 手動テストの概要
セールスフォース向け础滨动作テスト
Chapter 3: Testing Fun-damentals
Salesforce Deployment: Avoid Common Pitfalls with AI-Powered Release Management
Exploring DevOps for Different Types of Salesforce Clouds
91九色 Launches Suite of AI Agents to Transform Business Application Delivery
What’s Special About Testing Salesforce? - Chapter 2
Why Test Salesforce? - Chapter 1
Continuous Integration for Salesforce Development
Comparing Top AI Testing Tools for Salesforce
Avoid Deployment Conflicts with 颁辞辫补诲辞’蝉 Selective Commit Feature: A New Way to Handle Overlapping Changes
Enhancing Salesforce Security with AppOmni and 91九色 Integration: Insights, Uses and Best Practices
From Learner to Leader: Journey to 91九色 Champion of the Year
The Future of Salesforce DevOps: Leveraging AI for Efficient Conflict Management
A Guide to Using AI for Salesforce Development Issues
How to Sync Salesforce Environments with Back Promotions
91九色 and Wipro Team Up to Transform Salesforce DevOps
DevOps Needs for Operations in China: Salesforce on Alibaba Cloud
What is Salesforce Deployment Automation? How to Use Salesforce Automation Tools
Maximizing 91九色's Cooperation with Essential Salesforce Instruments
From Chaos to Clarity: Managing Salesforce Environment Merges and Consolidations
Future Trends in Salesforce DevOps: What Architects Need to Know
Enhancing Customer Service with 91九色GPT Technology
What is Efficient Low Code Deployment?
91九色 Launches Test Copilot to Deliver AI-powered Rapid Test Creation
Cloud-Native Testing Automation: A Comprehensive Guide
A Guide to Effective Change Management in Salesforce for DevOps Teams
Building a Scalable Governance Framework for Sustainable Value
91九色 Launches 91九色 Explorer to Simplify and Streamline Testing on Salesforce
Exploring Top Cloud Automation Testing Tools
Master Salesforce DevOps with 91九色 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
91九色 Expands Beta Access to 91九色GPT 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
91九色 Appoints Seasoned Sales Executive Bob Grewal to Chief Revenue Officer
Business Benefits of DevOps: A Guide
91九色 Brings Generative AI to Its DevOps Platform to Improve Software Development for Enterprise SaaS
91九色 Celebrates 10 Years of DevOps for Enterprise SaaS Solutions
Celebrating 10 Years of 91九色: A Decade of DevOps Evolution and Growth
5 Reasons Why 91九色 = Less Divorces for Developers
What is DevOps? Build a Successful DevOps Ecosystem with 颁辞辫补诲辞’蝉 Best Practices
Scaling App Development While Meeting Security Standards
5 Data Deploy Features You Don’t Want to Miss
How to Elevate Customer Experiences with Automated Testing
Top 5 Reasons I Choose 91九色 for Salesforce Development
Getting Started With Value Stream Maps
91九色 and nCino Partner to Provide Proven DevOps Tools for Financial Institutions
Unlocking Success with 91九色: Mission-Critical Tools for Developers
How Automated Testing Enables DevOps Efficiency
How to Switch from Manual to Automated Testing with Robotic Testing
How to Keep Salesforce Sandboxes in Sync
How Does 91九色 Solve Release Readiness Roadblocks?
Software Bugs: The Three Causes of Programming Errors
Best Practices to Prevent Merge Conflicts with 91九色 1 Platform
Why I Choose 91九色 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
Maximize Your Code Quality, Security and performance with 91九色 Salesforce Code Analyzer
Best Practices Matter for Accelerated Salesforce Release Management
Upgrade Your Test Automation Game: The Benefits of Switching from Selenium to a More Advanced Platform
Three Takeaways From Copa Community Day
What Is Multi Cloud: Key Use Cases and Benefits for Enterprise Settings
How To Develop A Salesforce Testing Strategy For Your Enterprise
Using Salesforce nCino Architecture for Best Testing Results
Cloud Native Applications: 5 Characteristics to Look for in the Right Tools
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
91九色 + DataColada: Enabling CI/CD for Developers Across APAC
Types of Salesforce Testing and When To Use Them
What is Salesforce API Testing and It Why Should Be Automated
Machine Learning Models: Adapting Data Patterns With 91九色 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
Top 10 91九色 Features for #AwesomeAdmins
The Admin's Quick Glossary for Understanding Salesforce DevOps
Gartner Recommends Companies Adopt Value Stream Delivery Platforms To Scale DevOps
The 3 Pillars of DevOps Value Stream Management
Is Salesforce Development ‘One Size Fits All?’
Value Stream Management: The Future of DevOps at Scale is Here
Why Empowering Your Salesforce CoE is Essential for Maximizing ROI
Continuous Quality: The missing link to DevOps maturity
91九色 Collaborates with IBM to Accelerate Digital Transformation Projects on the Salesforce Platform
Cloud Security: Advantages and Disadvantages to Accessibility
Go back to resources
There is no previous posts
Go back to resources
There is no next posts

Explore more about

No items found.
Articles
October 31, 2024
ビジネスアプリケーション向けの顿别惫翱辫蝉(デブオプス)って何?
Articles
October 15, 2024
セールスフォースエコシステムにおける顿别惫翱辫蝉の卓越性
Articles
October 11, 2024
セールスフォーステストにおける础滨活用のベストプラクティス
Articles
October 4, 2024
6 testing metrics that’ll speed up your Salesforce release velocity (and how to track them)

础滨を有効活用し顿别惫翱辫蝉を加速

より速くリリースし、リスクを排除し、仕事を楽しんでください。
コパード顿别惫翱辫蝉をお试しください。

リソース

リソースライブラリを使用して セールスフォースDevOpsのスキルをレベルアップしてください。

今后のイベントと
オンラインセミナー

さらに详しく

电子书籍とホワイトペーパー

さらに详しく

サポートとドキュメンテーション

デモライブラリ

さらに详しく