The Salesforce architect exams are some of the most rewarding and interesting exams to get. I really enjoy them because they offer a rare chance to dive very deep into a specific area of the platform. These can expand your capabilities within Salesforce, and provide you valuable understanding as you progress your career towards Technical Architect. This is the study guide for the Development Lifecycle and Deployment Designer certification exam.
Each of these exams has a study guide (like all other certifications), as well as a resource guide which has linked articles, Trailhead modules, documentation and more. To get the most out of those guides, I have written down some important areas to study and understand. If you understand the concepts below, you’ll do well on your exam.
Development Lifecycle and Deployment Designer
The Salesforce Development Lifecycle and Deployment Designer exam focuses on your understanding of development methodologies (agile, waterfall, etc.), the different stages of the development lifecycle, and deployment strategies. This includes continuous integration, version control, and sprint planning.
Which sandboxes should you use for which types of activities? How do you manage multiple work streams? You will be presented with sample scenarios, and asked which environment setup you would recommend. So think through best practices here. If a company is developing several features, how do you plan the releases? Which environments deploy into one another? How would you handle bugs found in an integration or UAT sandbox?
Which tools can you use to move metadata between orgs? You should understand the different tools available, and why you would recommend one over another. When should you recommend change sets vs. Force.com IDE? What is the Metadata API, and what are the use cases and considerations?
For some organizations, continuous integration is a requirement. So understanding the tools and drawbacks is an important piece. This article talks about the techniques.
You will be presented with many questions on the different development methodologies, and which you would recommend given a scenario. When is an agile methodology best suited? When is a waterfall methodology preferred? Think through some scenarios, and the deciding factors (i.e. defined end date, defined budget, team size, etc.)
How do you establish a governance model? What is important to consider? This trailhead maps out some key considerations.
How do you ensure adequate testing is completed in the different environments? Which sandbox(es) should handle performance and integration testing? Where should UAT be completed? How should you handle bug fixes?
Universal Containers is having problems with their development team. The developers are overwriting code, and blaming each other for bugs and unit test failures. Due to security implications, UC has decided to begin auditing changes for compliance. What should an architect recommend to address these issues?
A. Implement a requirements traceability matrix.
B. Schedule regular exports of Salesforce system audit logs to an offsite database.
C. Implement a source control system and require developers to commit changes.
D. Require developers to work in different sandboxes and periodically merge code into a staging sandbox.
Why? A source control system will give UC the auditing capability it desires, while also allowing the developers to work within source control. Answer A doesn’t solve either problem. Answer B would store audit logs, but not handle the developer issues.
Universal Containers is going to create a new Customer Community. The requirements for the community are not defined yet. The company is planning on an agile methodology, and has committed to delivery in three months. What two items would an architect identify as potential risks to this approach? Choose 2 answers.
A. Agile is not an appropriate methodology for Customer Community implementations.
B. The functionality that can be delivered in 3 months is unknown, and may not meet business requirements.
C. Agile does not allow for changes in requirements, so customers may not like the end result.
D. Given the lack of requirements and 3 month time commitment, the project may not be feasible.
Why? Answer C is untrue. Agile does allow for changes to be added to sprints, so they could modify the requirements to meet customer feedback. Answer A is (in my opinion) neither true nor false. It can work for community implementations, depending on circumstances. Because the requirements aren’t defined, and a set end date is in place, agile is not the preferred methodology.
Universal Containers maintains 18 different orgs across multiple regions. One of these regions has created a new custom object to track delivery vehicles. The CIO has requested that this tool be used in all UC Salesforce instances. Each org is managed locally, so modifications may be necessary to the object. Which deployment tools would support this request? Choose 2 answers.
A. Change Sets
B. Force.com Migration Tool
C. Force.com IDE
D. Tooling API
E. Managed Package
Why? Change sets may not be possible given their org structure. There are likely not development connections between all of the orgs. The Tooling API is not used for deployment of custom objects. A managed package would not allow the other orgs to modify the object once deployed. But the Force.com IDE and Force.com Migration Tool could both be used to deploy the object to the other orgs.