Skip to main content Skip to Footer


Nicholas Gulrajani
Nicholas Gulrajani
October 24, 2017

DevOps applied to is a different beast—know the challenges

DevOps as applied to ( development is a different kind of animal—there are a number of challenges to address and guiding principles toward success.

It’s not a typical Java (Maven-Jenkins) based software development. It’s about managing changing object configurations and releasing them and it is less about writing code, as one would with Java.

To a degree, however, the Apex development environment must not be ignored (see link below).

These are common challenges in software development and release management.

  1. Low confidence in testing

Low confidence in testing
  • New and untested deployments for every request between environments.

  • Testing suffers when environments differ, resulting in defects and production issues.

  • Loss of confidence in testing results when environments are different, leading to defects and re-work.

  1. Environments not in sync

Environments not in sync
  • Environments quickly get out of sync. Refreshing takes time, deployments have errors.

  1. Deployment challenges

Deployment challenges
  • Manual deployments are a bottleneck across projects and test phases.

  • Developers directly update environments, leading to missed deployment steps.

  • Future Releases built on an old Production refresh requires additional testing and deployment time.

  1. Maintenance issues

Maintenance issues
  • Go-Live is painful with hundreds of manual steps and 8+ hour outage windows.

Managing multiple environments and multiple project work streams also pose hurdles (for example, Prod Hot Fix, R1 Major Release, R2 Major Rel, Features 1 and 2 Releases with varying degrees of Prod Envs).

Please see Table below in Exhibit A and a Proposed Branching Model in Exhibit B.

Exhibit A 

Exhibit B – A Parallel Development Release Branching Model

Exhibit B

Your odds of success will be enhanced if you account for the following:

  • Source code version control

  • A change of history that is visible to all team members

  • Ability to alert developers if there is a code conflict

  • Enforcing test classes to be run in sandboxes so that test class issues can be discovered at an early stage

  • Ability to roll back to a previous point

  • Ability to roll back specific changes

  • Allow weekly (possibly daily) deployments

  • Ensure that the Release Management Team can manage deployments

  • Ensure that the workflow is not too complicated for Delivery Teams

  • Ability for releases to be initiated by Delivery Team Leads

  • Release Management Team can use the same releases created by Delivery Team Leads for deployments

DevOps Success Criteria

Milestone 1: Establish Source Code Control

Milestone 1: Establish Source Code Control 
  • Establish Git Repository as “golden source” of entire solution, both code and configuration.

  • Bring governance and transparency to the code review process.

  • Achieve environment consistency with dynamic, repeatable deployments to every environment.

Milestone 2: Empower the Developers

Milestone 2: Empower the Developers 
  • Provide real-time deployment validation feedback to developers with any deployment errors.

  • Empower the developer to resolve their own issues, rather than back-and-forth with an environment manager.

  • Keep the release branches 100 percent deployment-ready as errors are never committed.

Milestone 3: Continuous Deployment Lifecycle

Milestone 3: Continuous Deployment Lifecycle 
  • Automated, immediate validations and deployments when code is merged.

  • On-demand, triggered, and scheduled deployments to keep any number of environments in-sync.

  • Add Selenium regression testing scripts and automated code review tools to DevOps pipeline.

In conclusion, developing in the with DevOps is more about managing configurations and less about coding. To a degree however, there is Apex environment which must not be ignored. Read more details here.

Get the biggest stories of the week, delivered to your inbox.