One of the things you notice when you start developing applications, either via point and click or using code, is how easy it is to build a functional application and deploy it to live. You can also choose to build the functionality in production org directly, however this is not encouraged in general, apart from a few exceptions like reports.
If you are the only system administrator / developer in your company working on functionality with low complexity and there are only a handful of users, then development lifecycle and deployment is a breeze. However if you have 20 odd developers/admins simultaneously working on features with conflicting testing and deployment timelines and has dependency on other non-salesforce teams and systems, deployment can soon become as difficult as climbing Mount Everest. You may have to manage conflicting changes to functionality and code, manage and sync multiple sandboxes, ensure correctness in all environments by repeatedly running all tests, track changes so that they can deployed in order etc. Many a hair has turned grey in an attempt to tame the complexity involved in such deployments.
The key to tackling this complexity is to automate test runs and deployments, and to track code and metadata changes. This can be achieved by combining the sorcery of version control, continuous integration (using Jenkins, Bamboo etc), and force.com migration tool (and maybe sometimes change-sets). Finally, a mature deployment strategy requires a well-defined change management and governance framework.
To help transform an intrepid developer from change set using newbie to automated deployment script writing ninja, Salesforce has introduced the Development Lifecycle and Deployment Designer certification exam.
From the certification guidelines, the following skillset and knowledge is desirable and recommended to take this exam. I’ve copied them below verbatim for reference.
- Has 5+ years of experience delivering software solutions, including 2 years on the Salesforce platform.
- Provides experienced guidance on the appropriate choice of platform technology.
- Is certified on Admin, Advanced Admin, and Developer or Platform App Builder.
- Understands architecture options and design trade-offs, and has the ability to communicate design choices.
- Is aware of program and project governance best practices.
- Has experience with project and development lifecycle methodologies.
- Has experience providing requirements traceability through the project’s lifecycle.
- Is aware of Salesforce and third-party application development lifecycle tools.
- Understands test plan design and evaluating effectiveness.
- Is able to architect an environment management plan on the Force.com platform.
- Is aware of tools that can be used to automate environment management and deployment tasks.
- Understands the Salesforce Metadata API and its features and limitations.
If you are familiar with Salesforce certification exams, you would already know that the exam is composed of both scenario based questions and specific knowledge based questions. The split is approximately 50/50 but YMMV.
To prepare for this exam Salesforce University has created a course catalog called Architect Academy Catalog that you can either purchase per domain or all nine domains. The individual price per domain is $399.99 or you can bulk purchase them all for $2,499.99.
You can purchase the Development Lifecycle and Deployment Designer resource guide from here.
I’d highly recommend it despite its steep price because it contains a lot of useful information and guided build exercises that’ll help you thoroughly prepare for the exam.
Here’s my personal take on preparing for the exam.
- Nothing beats experience when preparing for this exam, so you must have at least 2 years of experience developing and deploying applications.
- You should familiarise yourself with different options to deploy code, metadata and data.
- You should know how to use the following:
- Data loader
- Version control
- Continuous Integration tools
- Developer Console
- Force.com migration toolkit
- Metadata API
- You should be aware that there are a few components that are still not supported by metadata api or changesets.
- Finally, familiarise yourself with change management and governance framework.
A few articles/blog posts to get you started.
- Deployment Lifecycle guide
- Application Lifecycle Management trailhead trail
- Release Management with Metadata API
In my opinion this cert exam is relatively easy compared to other Architect exams but only if you have hands-on experience with deploying code, metadata and data using different deployment tools. Feel free to reach out to me on twitter (@anup) if you have any specific questions about the exam.