Development Lifecycle
Development Lifecycle
At XYZ, we follow a structured Salesforce Development Lifecycle to deliver customized CRM solutions. From
Discovery to gather and finalize requirements, to iterative Development in secure sandboxes, every step ensures
precision. Rigorous Testing phases validate functionality, while User Training and Sign-Off ensure smooth
adoption. This process guarantees high-quality, user-focused solutions tailored to client needs.
1. Discovery
Requirement Gathering: Collaborating with stakeholders to gather and document detailed business
requirements.
Review and Finalization: Reviewing and validating requirements with stakeholders for completeness
and feasibility.
Sharing Requirements: The finalized requirements are shared with the development team for analysis
and planning.
A dedicated Git repository is created for the project, with a default branch serving as the Master
branch to store the production metadata.
The Release Manager creates multiple feature branches, enabling different Salesforce developers to
work on specific aspects of the development project.
3. Development
The development phase is divided into multiple sprints for better tracking and execution:
Developers work in individual sandboxes, ensuring that changes don’t impact the main Salesforce
org.
Metadata Retrieval: Sandboxes are connected to the Force.com IDE or other tools to retrieve
metadata and start coding.
Initial unit testing is performed to validate individual functionalities.
Iterative development continues, with enhancements, additional features, and bug fixes implemented
in cycles.
Unit testing ensures that new code integrates seamlessly with previously developed features.
After each development sprint, the code is handed over to the QA team for testing.
Testing environments:
o Partial Copy Sandboxes: Used for testing individual features by QA team members.
o Shared Sandboxes: Utilized for testing critical features that require thorough validation.
Regression Testing: Ensures that existing functionalities remain unaffected by new development.
5. Acceptance Testing
The project moves to User Acceptance Testing (UAT), where developers, testers, and potential end-
users verify that the solution meets the business requirements.
Partial Sandboxes are created by the Release Manager for Product Managers and stakeholders to
conduct UAT.
Feedback from UAT is gathered for final refinements before the release.
6. Sign-Off
Once all testing phases are completed, a formal sign-off is obtained from stakeholders, confirming that
the product meets the defined business needs and quality standards.
This step is essential for ensuring alignment and approval for the release.
7. Product Release
The intermediate sandboxes, which include all the solution features, are used for final performance
and regression testing.
After passing all levels of rigorous testing and ensuring a bug-free product, the solution is prepared for
deployment to the production environment.
The product is released after ensuring successful deployment and post-release validations.
8. User Training
Before or alongside the product release, user training is conducted to ensure that end-users can effectively use
the new system. This phase involves the following steps:
Provide live Q&A sessions or an open forum to address user queries during or after training.
Collect user feedback to identify gaps or additional training needs.
5. Ongoing Support
Create a help desk or support channel for post-training queries and issue resolution.
Schedule periodic refresher sessions, especially after major updates or new feature rollouts.