Activity Forums Salesforce® Discussions What is the lifecycle of an application in Salesforce?

  • madhulika shah

    Member
    July 19, 2018 at 9:25 am

    Hi Shradha,

    Lifecycle of an application is the process of managing an app’s development, from design to final release. It establishes a framework for managing changes. There are four steps in lifecycle of an application:

    1. Plan - An app starts with planning. This step includes requirements gathering and analysis.
    2. Build -  The development is done on the Salesforce platform using declarative tools. These tools are available in the user interface and are programmatic tools such as Apex, Visualforce, and Lightning Components.
    3. Test - The app is tested to verify that the changes behave as expected and don’t cause undesired side-effects.
    4. Deploy - When testing is successfully completed and the quality benchmarks have been met, the app can be deployed to production.
  • Parul

    Member
    September 12, 2018 at 5:04 am

    Application Lifecycle is the process of managing an app’s development, from design to final release, and establishing a framework for managing changes. The typical application lifecycle starts with the design of a new app or feature. The app is planned based on requirements analysis and specifications. Next, the app is implemented per the specifications and then tested. The new app is staged for final testing before it gets deployed to production. This cycle repeats for every new app or feature. It’s also used for app maintenance, such as when features are enhanced or bugs are fixed.

     

    Thanks

  • shariq

    Member
    September 15, 2018 at 1:47 pm

    Hi,

    The following steps will very clearly demonstrate the entire Salesforce Development Lifecycle:

    1. Setting Up Source Control Repository: It is always beneficial in the long run from a development point of view to have a separate Git repository for every project, with a default branch acting as the Master branch. It is will be more suited to the purpose of storing the production metadata in the master branch.

    As discussed above there are a number of actors involved during the entire lifecycle of the development. Release Manager helps to create entirely different branches for different features which are supposedly handled by different developers. He/She also helps in creating package.xml manifest while also using the same to populate the Master Branch with Metadata and very rightfully uses Force.com Migration to migrate all the data.

    2. Development Phase: There is this concept of sandboxes in Salesforce. Sandboxes are totally isolated from your Salesforce production, so it implies that the operations that you perform in your sandboxes don’t affect your main Salesforce production enterprise, and vice versa. The developers start coding in their own sandboxes.

    They use Force.com IDE to make connection with their sandboxes and thereby retrieve the matadata from sandbox to the IDE. They do the necessary coding and after performing initial level of unit testing they commit the code to the Git repository.

    For subsequent development this fresh code that has been committed is migrated to their sandboxes and they continue with further development. After completion commit the latest development to the repository.

    But there can be a possibility that two or more people are working on the same code, hence they definitely have to check for any possible conflicts before committing their code.

    3. Testing: As the normal software development lifecycle flows, so is this here in this case. After the development is over it is time for testing. Similar to the developers the testers or QAs also create their own sandboxes and migrate the code to be tested from the repository to their sandboxes.

    Sometimes the QA might be assigned with the task of testing only a particular feature. In such a case they use Partial Copy Sandboxes. They deploy only selected features and allows specialized testing of the app features.

    QA members can also share their sandboxes if situation demands for a more thorough testing of vital and crucial features but it largely depends on the organization’s workflow pattern.However any changes suggested at this level would take it back to the prior phase of development.

    4. Acceptance Testing: After this level of testing is completed it goes for further user acceptance testing. Apart from the QAs and tester the developers, product manager and other parties concerned will perform the final level of testing.

    The release manager at first creates partial sandboxes for testing and the same are used by the product managers to carry out the ad hoc testing. And then he/she prepares the final presentation for the end users or clients. These sandboxes can also be used by the trainers of the company to prepare manuals for the trainees. Again in this phase if any further changes are suggested it goes back to the development phase to inculcate the necessary changes.

    5. Product Release: The last phase is all about performance testing. This testing is performed on intermediate sandboxes which unlike partial sandboxes has all the features of the app.The testing team performs rigorous testing and regression testing. After it passes all levels of testing then it is successfully deployed in the production environment.

    However it is always expected that some or the other important changes will definitely crop up after the final deployment. These end moment changes are handled in the patch releases. Patch cycle has a lifecycle of it’s own but it is quite faster process than the normal development cycle.

    Hope this helps.

Log In to reply.

Popular Salesforce Blogs

Popular Salesforce Videos