A framework that defines tasks performed at each step in the software development process.
SDLC is the structure followed by a development team within an organization.
SDLC consists of a detailed plan describing how to develop, maintain and replace specific software.
Types:
Waterfall Model:
A popular version of the software development life cycle model (SDLC). Often considered the classic approach to SDLC, the waterfall model describes a development method that is linear and sequential.
In software development, it tends to be among the less iterative and flexible approaches, as progress flows in largely one direction (downwards like a waterfall) through the phases of conception, initiation, analysis, design, construction, testing, deployment and maintenance.
V-Shaped Model:
The V-Shaped Model process is considered an extension of the Waterfall Model.
The left side of the V represents creation (development) of the system, product, or code.
The right side represents integration, validation, and monitoring.
Agile Model:
A methodology for modeling and documenting software systems based on best practices. It is also sometimes thought of as a collection of values and principles that can be applied to a software development project.
This methodology is more flexible than traditional modeling methods, making it a better fit in a fast changing environment.
The Agile Model is focused on:
customer satisfaction
cooperation
simplicity
working in small teams
setting and meeting incremental (instead of large) goals
face-to-face communication
the ability to organize and complete quality work with or without managerial oversight