Find out how you can develop an application using Salesforce in five steps.
When it comes to building software and applications, it is possible to use different methods and even combine them, depending on your goals. Today, the popularity of cloud-based platforms keeps growing steadily, drawing attention from more and more specialists. However, it is quite a difficult task to create a cloud-based application using a cloud-based environment.
The entire process is divided into the following phases:
- App development;
- Its testing;
- Deployment of the app.
Force.com is an environment perfectly suited for the building of Salesforce apps. Since it was developed using Eclipse, it is enough to choose a proper plugin for integration. Such components as Apex, Visualforce, and metadata allow quickly building high-quality Force.com apps. All the data is stored in a special system. No changes are made directly there. For this purpose, the files are sent to a repository where all the changes are implemented, and a new version goes back to the system. It is possible to use different pieces of software for source control, including SVN and Git.
Applications are developed by several specialists, each of which is responsible for certain tasks:
- Product Manager;
- Release Manager;
- Quality analyst (tester);
- Salesforce consultant.
The product manager determines requirements and the release manager plans a schedule. The developer writes codes and deliverables based on clear instructions. The tester checks the work done by the developer to find any errors. The work of the Salesforce consultant is to give helpful recommendations on how to organize business processes.
The following 5 phases illustrate the way in which the process of Salesforce app development works.
Phase #1: Setting Repository
The release manager is involved in this phase. Each project should have a separate repository. There will be the main branch for storing metadata. The branches are created based on their features, and each of the specialists should have its own branch. At this stage, package.xml file (manifest) is created by transferring metadata to the main branch with the help of the Migration Tool.
Phase #2: Development
Salesforce has sandboxes that are stored separately from the main system. They are created for each of the specialists depending on his or her tasks. The main goal of such sandboxes is to do the work and make all necessary changes without affecting the main production. To connect the sandboxes with the main system, Force.com IDE is used. Once the sandboxes are created and the connection with the IDE is established, the specialist writes code, which is then tested. If no problems have been found, the code is transferred to the repository.
Then it is sent back to the sandbox to continue the work. The development runs on in the same manner. It is essential to check the code carefully before sending it to the repository, especially if several different people are involved in the development process.
Phase #3: Testing
At this stage, the tester steps in to analyze the work. Such specialists also work in their own sandboxes, and before starting the testing, all the necessary data is transferred from the repository first. In some cases, testing of a certain feature is required; therefore, Partial Copy Sandboxes are created. They allow focusing on the testing of particular data.
It is possible to share the work of the tester with other specialists if it is important to ensure the best quality, for instance, when it comes to crucial features. If there is an error found, the feature goes back to the developer to eliminate all the problems. The same process is repeated until the desired quality is achieved.
Phase #4: Acceptance Testing
It is the last stage of testing. Several different specialists are involved in it to ensure a comprehensive check and accurate results. Particularly, they are testers, developers, product managers, and others.
Everything begins with the creation of partial sandboxes. This task is delegated to the release manager. At the same time, project managers start working with their own testing environments to conduct ad hoc testing. Once the testing is over, the product is ready for presentation. Often, sandboxes are used as educational materials. If something has to be changed, the developers make the necessary adjustments.
Phase #5: Release
It is the final phase that requires performance testing. For this purpose, sandboxes that have all the app features are used. Rigorous and regression testing is carried out by several specialists. Once all stages of the testing are completed and no problems have been spotted, the application is sent to the deployment stage. It is still possible that some bugs occur, but they are quickly eliminated during patch releases.
Sergii Grushai, Salesforce Certified Consultant, CEO at Peeklogic