techbullion.com

Driving DevOps Excellence: A Conversation with Rishitha Kokku on Innovation, Leadership, and Salesforce Optimization

By Andrew Woodsville·Published June 2, 2023·Updated January 2, 2025·Big Data, Executive Interviews

Driving DevOps Excellence:
Rishitha Kokku

Rishitha Kokku, a Senior Salesforce DevOps Engineer at Optum Services (an affiliate of UnitedHealth Group), shares her journey of innovation and leadership in the Salesforce DevOps space. Known for her expertise in building pipelines, implementing CI/CD for multi-cloud Salesforce environments, and leading complex migrations, Rishitha has significantly contributed to advancing deployment methodologies that are now adopted as industry benchmarks.

Can you tell us more about yourself and discuss your most significant research contributions in DevOps, particularly those that have advanced Salesforce deployment methodologies?

I work as a Senior Salesforce DevOps Engineer at Optum Services which is an affiliation of UnitedHealth Group with primary roles being building pipelines, code management, branching strategies, version control maintenance, implementing security measures and developing scanning tools. My work implementing CI/CD pipelines for multi-cloud Salesforce environments has established new industry standards for efficiency and reliability while fundamentally changing deployment methodologies. Leading complex migrations and integration projects at Optum Services, I have developed solutions connecting Salesforce with ServiceNow, showcasing technical proficiency and substantially reducing deployment times. Technical teams across multiple organizations have adopted my streamlined processes, resulting in measurable improvements to their development cycles. The most recent contribution I made to the Salesforce DevOps space is with the migration to SFDX from MDAPI. 

Migrate from MDAPI to SFDX for a health care application: This application handles huge amounts of patient data and needs more robust deployment methods to achieve continuous delivery and constant support to the patients. There are many steps a DevOps Engineer has to take into consideration while converting from MDAPI to SFDX without disturbing the existing structure. Outlined below are the steps.

Setup SFDX in dev environment: Prepare for the migration by setting up your dev environment with SFDX. Outline the steps involved by analyzing the metadata that needed the conversion

Retrieve and convert the metadata: Extract the metadata in MDAPI format and convert them to SFDX. Install the CLI required and run the commands to convert them

Build an automated pipeline: SFDX deployments are much different than MDAPI deployments and it requires building scripts and integrating between Salesforce environments, deployment tools and version control systems

Deploy the code: Start deploying the code to the test org to ensure everything is working as expected. Once its tested and signed off deploy the code to production

Update development practices: Educate the developers to adopt the SFDX workflow to align with the current source format. 

Keep track of version control:  Commit the DX changes to version control to track the ongoing and future changes.

As a result of this migration there has been improved user experience, faster performance, response time has been improved by 30%, customization and flexibility, better mobile experience, enhanced developer experience, automated CICD, deployment time reduced from 40 minutes to 18 minutes, improved version control and many more benefits. I have received huge recognition for a successful migration and was promoted to the next level.

What strategies have you employed to streamline Salesforce deployment processes, and how have these been adopted as best practices within your organization?

1) Transition from Salesforce classic to Lightning (October 2019): Transition from Salesforce classic to Lightning: The application I was working on decided to make a shift to Lightning which was a very complicated task because of its size. Salesforce lightning offers enhanced user interface, has better performance, better integration with external systems with upgraded security. As a DevOps Engineer to support this migration I had to Assess the current environment state, Lightning behavior in test environments, manage and maintain the Version control, Automate the deployments for lightning specific components and metadata, support parallel development environments and migrate Production to Lightning. Here are the steps I had to take to make the migration a success.

Setup independent Dev and Test environment: To support the migration, I had to build independent sandboxes to develop and test the migration without disrupting the parallel development. 

GitHub branching strategy: GitHub branching strategy is essential for managing parallel development work, collaborating efficiently. I had to come up with a reliable plan to ensure smooth delivery. 

Track the impacted components: Tracking the components is as important as setting up the version control in such migration as it will be helpful in case of roll backs or to check the history and revisions of certain files. 

Release to Production: The Production release involves the final deployment of migrated components and enhancements into the live Salesforce environment. 

Retrieve and convert the metadata: Install the CLI required and run the commands to convert them to SFDX after retrieval. 

Build the pipeline: SFDX deployments are much different than MDAPI deployments and it requires building scripts and integrating between Salesforce environments, deployment tools and version control systems and proceeding with the deployments. 

Update development practices: Educate the developers to adopt the SFDX workflow to align with the current source format. 

2) Implement DevOps framework from zero on a Hearing Aid application (June 2022): This application mainly focuses on developing hearing devices, optimizing them according to the needs of the customers, taking the orders and calculating their insurance and processing the orders. I was on board with this team during the development phase and they had no deployment strategy in place to release the code. I am proud to say that I successfully implemented everything in terms of DevOps structure and gave the application a much better chance to deploy the code to production for their go-live.

3) Data Encryption for a health care application (May 2017): I’ve worked with multiple health care applications within my organization and the priority of everyone in the leadership is to protect the data. Salesforce provides several data encryption options to protect confidential information and I’ve worked on many of these solutions during my tenure here at UHC. Some of them are Shield platform encryption, Encryption at Rest, Data masking. I’ve closely worked with the architects and leadership in providing answers to all these questions from the DevOps standpoint that helped in successfully encrypting data in multiple production environments.

How have you led teams in adopting cutting-edge tools and methodologies to enhance deployment efficiency and accuracy?

As a Salesforce DevOps Engineer, mentoring and coaching my team is crucial to building a strong, efficient, and high-performing environment. This involves helping the team understand DevOps practices, Salesforce-specific tools and technologies, as well as fostering a culture of collaboration, continuous improvement, and best practices.

Here are the high-level steps of what I’ve done to achieve this: Establish a Clear Vision and Understanding of DevOps, Promote Best Practices for Version Control, Implement Continuous Integration (CI) and Continuous Deployment (CD), Develop and Improve Deployment Strategies, Instill a Mindset of Monitoring and Feedback, Lead by Example.

Emphasize Automation: I help the team recognize the value of automating manual tasks like deployments, testing, and monitoring. I conducted multiple learning sessions to introduce automation tools like Salesforce DX, Jenkins, GitHub Actions for building robust workflows. 

Teach Git and Version Control: I guide the team to understand how Git, along with branching strategies works in DevOps and show them how version control can be used to track code changes, create pull requests, and work with different environments. 

Set Up CI/CD Pipelines: Training my team to set up and maintain CI/CD pipelines for Salesforce is also part of achieving the completion of this task. I train them to use tools like Jenkins and GitHub Actions to automate testing, code quality checks, and deployments.

Teach Automated Testing: I was involved in helping the team integrate unit testing, integration testing, and static code analysis into the pipeline. Encouraged using Apex test classes and Selenium for automated testing. 

Create Safe Deployment Practices: I’ve developed several methods to guide my team in adopting blue-green deployments to ensure minimal disruption to production environments. 

Rollback Procedures: Coached the team on how to set up and execute rollback procedures in case of failed deployments. Ensured they understand how to handle data backups and versioning.

Can you elaborate on how your understanding of theoretical frameworks in DevOps has informed your practical implementations, particularly in the context of Salesforce deployments?

My understanding of theoretical frameworks in DevOps has deeply influenced how I approach practical implementations, especially in the context of Salesforce deployments. DevOps, as a methodology, emphasizes collaboration, automation, continuous integration (CI), continuous delivery (CD), monitoring, and feedback loops. All of these principles can be applied to Salesforce deployments to improve efficiency, reduce risks, and ensure that changes are delivered reliably and at scale.

Theoretical Framework: Automation is central to the DevOps philosophy, focusing on reducing manual interventions, improving consistency, and accelerating delivery.

Practical Implementation in Salesforce:

For Salesforce, this translates into automating the entire deployment pipeline, from development to production. Tools like Salesforce DX (Developer Experience) and Git for version control integrate seamlessly with CI/CD tools such as Jenkins, CircleCI, or GitLab CI.

Automation handles key tasks like:

  1. Source Control Integration: Storing Salesforce metadata in version control (e.g., Git).
  2. Automated Tests: Using Salesforce-specific testing tools like Apex Tests or Provar to automatically run unit tests before deployment.
  3. Build and Deployment: Salesforce DX supports source-driven development and allows for automated deployments to different Salesforce environments (Sandboxes, UAT, Production).

Continuous integration ensures that every change pushed to the repository automatically triggers a build, test, and deployment pipeline, reducing the risk of errors and enabling faster feedback on code quality and integration.

Infrastructure as Code (IaC)

Theoretical Framework: Infrastructure as Code is a key DevOps practice that allows the management and provisioning of computing infrastructure using machine-readable definition files.

Practical Implementation in Salesforce:

Security and Compliance

Theoretical Framework: DevOps frameworks integrate security from the start (DevSecOps), emphasizing that security should not be an afterthought but embedded throughout the development lifecycle.

Practical Implementation in Salesforce:

Version Control and Collaboration in Git

Theoretical Framework: Version control is at the heart of DevOps, allowing teams to collaborate on code while ensuring traceability and enabling parallel work streams.

Practical Implementation in Salesforce:

Iterative and Incremental Development

Theoretical Framework: DevOps encourages iterative development with frequent releases, providing faster delivery and continuous improvement.

Practical Implementation in Salesforce:

Resilience and Rollback

Theoretical Framework: One of DevOps’ core principles is resilience — ensuring systems are built to handle failures gracefully and have rollback mechanisms in place.

Practical Implementation in Salesforce:

By understanding and applying the DevOps theoretical framework to Salesforce deployments, the process becomes much more streamlined, reliable, and faster. Salesforce’s native tools like Salesforce DX and various CI/CD integrations with Git, Jenkins, and testing frameworks align perfectly with DevOps practices, helping to improve collaboration, automation, testing, monitoring, and rollback capabilities. These principles ultimately reduce risks, speed up delivery cycles, and create a more resilient Salesforce deployment process.

Driving DevOps Excellence - Innovation, Leadership, and Salesforce
Rishitha Kokku

In what ways have you influenced cultural changes within your team to support DevOps practices, and what impact has this had on performance and morale?

Over the years of working in the DevOps industry, I realized people often overlook or undervalue the significance of having DevOps structure in place and following its best practices. I’ve come up with a strategy to make the teams understand and learn the policies for smoother and efficient deployments. I call the “Triple E” methods. Below is what it means.

Explain DevOps Principles: I ensure the team understands the core DevOps principles – such as collaboration, automation, continuous integration (CI), continuous delivery (CD), monitoring, and feedback loops. 

Embody DevOps Mindset: I constantly encourage collaboration, transparency, and efficiency and take initiative in leading tasks and solving challenges and foster a culture of accountability within the team. 

Encourage Ownership: I empower team members by encouraging them to take ownership of specific areas of the DevOps process, from development to production deployment. This builds confidence and accountability in the team. 

By embracing these principles, our team has transitioned into a high-performing, collaborative DevOps culture that successfully leverages Salesforce Lightning, Salesforce DX, and DevOps best practices. There has been a reduction of code conflicts by 16%, deployment errors were reduced by 27% and overall production defects came down to 32%.

What are some challenges you’ve encountered in the Salesforce environment and release management, and what strategies have you implemented to mitigate these risks?

Some of these challenges stem from Salesforce’s unique development model, its metadata-driven approach, and the complexity of managing multiple environments (e.g., sandboxes, production) and release cycles. However, with the right strategies and tools, many of these challenges can be mitigated.

Metadata-Driven Complexity

Challenge:
Salesforce applications are metadata-driven, meaning that the configuration and customizations (e.g., Apex classes, Lightning components, custom objects) are all represented as metadata. This metadata can be highly interdependent, and managing large and complex metadata files can be cumbersome, especially when working with version control systems and multiple environments.

Mitigation Strategies:

Salesforce Deployment Challenges

Challenge:
Deploying changes to Salesforce is often error-prone, particularly when you are deploying across different Salesforce environments (e.g., dev sandboxes, UAT, production). Salesforce has its own deployment mechanisms, like Change Sets and Metadata API, but they can be limited and prone to inconsistencies, especially when complex dependencies or large metadata changes are involved.

Mitigation Strategies:

Managing Multiple Salesforce Environments

Challenge:
Salesforce environments can become fragmented, especially when managing multiple sandboxes (dev, QA, UAT) in addition to production. It can be challenging to keep track of changes across environments, especially when teams are working in parallel. Sometimes changes made in one environment can be overwritten or conflict with changes in another.

Mitigation Strategies:

Managing Salesforce Data and Test Data

Challenge:
Data management in Salesforce is often tricky, especially when dealing with large datasets or sensitive production data. During development and testing, it’s crucial to have realistic data to test functionalities, but creating or populating test data can be challenging, especially in sandboxes or scratch orgs where data is not automatically carried over from production.

Mitigation Strategies:

Handling Large-Scale Deployments and Downtime

Challenge:
As organizations scale their Salesforce usage, deployments tend to become larger and more frequent. Handling large deployments while minimizing downtime and ensuring no disruption to users is a significant challenge. Salesforce’s governor limits (e.g., Apex execution time, API request limits) can also complicate large deployments.

Mitigation Strategies:

Salesforce release management presents several challenges, including handling complex metadata, managing multiple environments, and ensuring data integrity and security. However, by leveraging modern DevOps practices such as CI/CD pipelines, source control, automated testing, and effective data management strategies, many of these challenges can be mitigated. With proper planning, the use of Salesforce DX, and the adoption of best practices around deployment automation and user engagement, teams can achieve smoother, more reliable Salesforce releases with minimal downtime and risk. My paper “Business and Delivery Challenges in Salesforce Development and Deployment without DevOps” guides professionals implementing automated deployment strategies while providing comprehensive solutions to common integration challenges. Organizations worldwide have implemented my frameworks, significantly improving their development processes and operational efficiency.

How do you incorporate security measures into your DevOps practices, particularly in the context of Salesforce deployments?

As a Salesforce DevOps Engineer, data encryption is a critical aspect of ensuring the security and privacy of the Salesforce environment, especially when dealing with sensitive customer data or complying with data protection regulations such as GDPR, HIPAA, or CCPA. Proper data encryption ensures that data, both at rest and in transit, is protected from unauthorized access. I had to develop a detailed plan by researching many areas of Salesforce metadata and how this encryption would impact the application if enabled. I came up with a detailed documentation that outlined the key consideration of Data Encryption in Salesforce.

Some of the Key considerations outlined in my process innovation document are: Encryption at Rest: Types of encryptions are Salesforce Data Encryption, Platform Encryption, Field-Level Encryption Encryption in Transit: Types of this encryption are HTTPS for Secure Communication, API Encryption, Integrating with External Systems Encryption for Files and Attachments: Areas to encrypt here are Salesforce Files and Attachments and External Files. Using Salesforce Shield: Salesforce Shield enhances your org’s security posture, it includes Platform Encryption for encrypting data at rest and Event Monitoring for tracking and logging security events. Key Rotation: Regularly rotating encryption keys is a best practice. Salesforce allows you to rotate the keys used for Platform Encryption, ensuring that old keys are no longer used and keeping your data more secure. Import and Export Keys: Salesforce also provides the ability to import and export encryption keys, so you can use your organization’s existing key management infrastructure if needed. Key Revocation: If a key is compromised, Salesforce allows you to revoke access to that key, ensuring that sensitive data encrypted with that key cannot be decrypted. Managing Encryption in Sandboxes: When working in Salesforce sandboxes, encrypted data is handled similarly to production environments. Ensure that the Key Management for sandboxes is set up and encrypted data is handled appropriately for testing and validation purposes. 

As a result of this process guide and my plan, the team anticipated the blockers and issues ahead of time, estimated the resources, timeline, budget and delivery was promised in 60 days which was taking more than 145 days as per the previous plan.

What emerging trends do you foresee in the integration of DevOps practices with Salesforce, and how are you preparing to leverage these in your work?

The integration of DevOps practices with Salesforce is evolving rapidly, driven by both advancements in Salesforce’s own development ecosystem and broader trends in software engineering and automation. As organizations increasingly adopt cloud-native technologies and embrace agile methodologies, Salesforce has become a key player in digital transformation initiatives, prompting deeper integration with DevOps principles.

Here are some of the emerging trends I foresee in the DevOps-Salesforce integration, along with strategies to leverage them effectively.

Greater Adoption of Salesforce DX (Developer Experience) and Unlocked Packages

Trend:
Salesforce DX is already a powerful toolset for managing Salesforce applications in a more source-driven, version-controlled manner. The trend is moving toward deeper use of Unlocked Packages, which enable teams to break down Salesforce orgs into smaller, reusable, and versioned components. This approach aligns with the modularization and microservices trends seen in broader software development.

How to Leverage:

Trend:
Salesforce is integrating more AI-driven features into its platform, with tools like Einstein AI providing insights into customer data and process automation. In the context of DevOps, AI can be used to enhance the monitoring, automation, and predictive analysis of deployment processes, helping identify issues before they occur and optimizing resource usage.

How to Leverage:

Enhanced Use of Containers and Kubernetes for Salesforce Development Environments

Trend:
The containerization trend, led by technologies like Docker and Kubernetes, is gaining momentum in cloud-native development. While Salesforce itself doesn’t yet offer native containerization of its platform, the broader ecosystem and CI/CD tools are integrating containerization more extensively. For example, Salesforce DX and Salesforce CLI can be paired with containerized development environments to create isolated, repeatable, and scalable orgs for testing and deployment.

How to Leverage:

GitOps for Salesforce Deployments

Trend:
GitOps is an emerging trend in the broader DevOps space that emphasizes using Git repositories as the source of truth for managing both application code and infrastructure. By integrating GitOps principles with Salesforce, organizations can leverage version control not just for the code but also for Salesforce metadata, configuration, and even sandbox environments.

How to Leverage:

As Salesforce continues to evolve and adopt more advanced capabilities, DevOps practices will increasingly integrate seamlessly into the platform. To stay ahead of the curve:

By staying informed about these emerging trends and continuously iterating on your DevOps practices, you can significantly enhance your Salesforce development, deployment, and release management capabilities.