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 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. SDLC offers a number of steps for the efficient design and development of a software product. The following steps are included in the SDLC structure:
- Requirement Gathering
- Feasibility Study
- System Analysis
- Software Design
- Operations & Maintenance
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.
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
The first process model to be implemented was the waterfall model. The understanding and use of it is very easy. Each phase needs to be complemented in a waterfall model 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 they were mini projects, are created. The innovations are time-boxed, supplied to a working prototype and then mounted.
Adaptive model is a direct output of the earlier agile development framework, Rapid Application Development. It is intended to allow teams, in light planning and continuous training, to adjust rapidly and efficiently to changing needs or market conditions by developing their product. 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. It looks like a spiral with many loops in its diagrammatic portrayal. 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. These structures can be found in iterations. Typically, 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 and 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.