A software development life cycle (SDLC) is the conceptual framework describes all activities of a software development project from the planning stage to the maintenance stage. It is a process for a software project, which a software organization mostly uses. In general, 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. In contrast to the process, SDLC offers a number of steps for the efficient design and development of a software product. The SDLC structure includes the following steps:
- Communication
- Requirement Gathering
- Feasibility Study
- System Analysis
- Software Design
- Coding
- Testing
- Integration
- Implementation
- Operations & Maintenance
- Disposition
There are various models of software development lifecycle. Mainly software development lifecycle models are classified into two categories i.e. Predictive Model and Adaptive Model.
Predictive Model
This SDLC model is defined as an approach which can be developed as per the plan, as well as the new project or information system. Predictive model is especially helpful because they offer a lot of structure to a project. Following are the few models of SDLC that fall under predictive SDLC Model:
Waterfall Model
This was the first process model that came in use. The understanding and use of it is very easy. The completion of each phase in a waterfall model is necessary before the next phase can commence and the phase cannot overlap.
Prototyping Model
The prototyping model is software development lifecycle model in which a prototype is constructed, tested and then redesigned as needed, until the full system or product can lastly be created with an acceptable prototype. This model is best suited for situations where not all project specifications are fully known in advance.
RAD Model
The RAD model is the Rapid Application Development model. It’s like a progressive model. The RAD model parallels parts or pieces, as if there is creation of mini projects. The innovations are time-boxed, supplied to a working prototype and then mounted.
Adaptive Model
Adaptive model is a direct output of the earlier agile development framework, Rapid Application Development. In light for planning and continuous training, it is the model that allow teams to adjust rapidly and efficiently to changing needs or market conditions by developing their product. Thus, the adaptive model strategy promotes team to evolve in three phases: speculate, collaborate and learn. Following are the few models of SDLC that fall under adaptive SDLC Model:
Spiral Model
The spiral model for the risk management is one of the most significant software development lifecycle models. As the name says, it looks like a spiral with many loops in its diagrammatic portrayal. Therefore, the spiral model is a combination of waterfall model and iterative model.
Agile Model
It is a mixture of iterative and incremental system designing focusing on system adaptability and customer satisfaction through fast delivery of operating software product. It breaks the product into tiny progressive structures. In iterations, these structures is present. Generally, every iteration lasts between one to three weeks.
DSDM Model
Dynamic Systems Development Method is a flexible structure that deals with the whole life cycle of the venture and its company effect. Like the wider flexible philosophy, then DSDM provides an iterative strategy to the creation of software. This structure specifically says that “any initiative must be aligned to clearly defined strategic goals and focus upon early delivery of real benefits to the business”. The framework is based on four concepts: feasibility and business study, functional model and prototype iteration, design and build iteration, and implementation.