SDLC, Software Development Life Cycle is a process followed for a software project, within a software organization. It consists of a detailed plan describing how to develop, maintain, replace and alter or enhance specific software. The life cycle defines a methodology for improving the quality of software and the overall development process.

The development models are the various processes or methodologies that are being selected for the development of the project depending on the project’s aims and goals. There are many development life cycle models that have been developed in order to achieve different required objectives. The models specify the various stages of the process and the order in which they are carried out.

There are various Software development models or methodologies. They are as follows:

1. Waterfall model
2. Agile model
3. Iterative model
4. V model
5. Incremental model
6. RAD model
7. Spiral model

Choosing right model for developing of the software product or application is very important.`

Waterfall Model:

Every software developed is different and requires a suitable SDLC approach to be followed based on the internal and external factors. The Waterfall model can essentially be described as a linear model of software design. Like its name suggests, waterfall employs a sequential design process. Development flows sequentially from start point to end point, with several different stages: Requirement Analysis, Design, Implementation, Testing, Deployment and Maintenance.

Agile Model:

Agile method proposes an incremental and iterative approach to software design. It was essentially developed in response to the limitations of Waterfall, as a way to give designers more freedom. There is no pre-determined course of action or plan with the Agile method. Customer interaction is the backbone of Agile methodology, and open communication with minimum documentation are the typical features of Agile development environment. The agile teams work in close collaboration with each other and are most often located in the same geographical location.