+ Start a Discussion
prasad p 18prasad p 18 

what is the salesforce life cycle

NagendraNagendra (Salesforce Developers) 
Hi Prasad,

Life cycle of a software development project is not very linear and is not very simple. Add to this new software development approaches like agile development methodology or waterfall development methodology and the things start to become complex. Now add in the fact that the software you are developing is being developed on cloud, tested on cloud, and finally deployed on cloud, the things start transforming from complex to confusing and at times incomprehensible.

For more information please refer to below link. Hope this helps.

Kindly mark this as solved if the reply was helpful.

Thanks,
Nagendra

 
Ajay K DubediAjay K Dubedi
Hi prasad

A typical Salesforce Development Lifecycle involves multiple actors. Many of them are specialist of one role and some
have expertise in another. For example many project managers also work as release managers and many Developers also have
expertise as trainers. But for the sake of this post I am going to define all actors.

Here are the typical actors involved in the lifecycle:

1. Release manager - Coordinates release schedules with development team and client. Also in charge of source control systems.
2. Product manager - Finalizes and coordinates the business requirements of the customization, features, and functionalities
                     that are expected out of the final solution, and ensure that the final product is upto norms. Also in charge
                      of final testing processes and development team coordination.
3. Software developer
4. Quality engineer
5. Administrator
6. Trainer

I hope you find the above solution helpful. If it does, please mark as Best Answer to help others too.
Thanks,
Ajay Dubedi
Deepali KulshresthaDeepali Kulshrestha
Hi Prasad,

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.


I hope you find the above solution helpful. If it does, please mark as Best Answer to help others too.

Thanks and Regards,
Deepali Kulshrestha
 
Leanbridge TechnologiesLeanbridge Technologies
Software Development Life Cycle (http://leanbridgetech.com/devops-as-a-service/) is a process used by software industry to design, develop and test high quality softwares. The SDLC aims to produce a high quality software that meets or exceeds customer expectations, reaches completion within times and cost estimates
Ammulu srinivasulaAmmulu srinivasula
@Deepali Kulshrestha: Best Answer!!!!
tc lathaqatc lathaqa
Agile methodology Scrum is followed in most of the companies. So how this life cycle implementation works like Sprint wise ? Like in every sprint cycle, we convert the user stories to technical and functional requirements, Design, Code, Test(unit and Integration testing), Acceptance Test, and Deploy. 
Lonnie MillerLonnie Miller
We use our creative thinking to thoroughly evaluate your procedures and structure, allowing your company's boldest ideas to come to life. The staff at the custom software development company (https://www.skypotential.co.uk/) works with you step by step to create unique solutions that match your demands and exceed your expectations. And our worldwide expertise offers a consistent user experience for any big client base, wherever in the world.
Anand kurubaAnand kuruba
HI,
Life cycle of a software development project is not very linear and is not very simple. Add to this new software development approaches like agile development methodology or waterfall development methodology and the things start to become complex. Now add in the fact that the software you are developing is being developed on cloud, tested on cloud, and finally deployed on cloud, the things start transforming from complex to confusing and at times incomprehensible. What I just said was a glimpse of the Salesforce development lifecycle, roughly.
In my previous post we talked about how a typical Salesforce project development lifecycle looks? What are the steps involved and the difference between Salesforce App Development and Salesforce Development? However I hinted that I would be explaining the lifecycle in a little bit more detail talking about the different actors involved in the process. We ‘ll do it now.User-added image
Thanks!!