SDLC
SDLC
One of the basic notions of the software development process is SDLC models which stands for Software
Development Life Cycle models. 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. The most used, popular and important SDLC models are given below:
Waterfall model
V model
Incremental model
RAD model
Agile model
Iterative model
Spiral model
Prototype model
Waterfall Model
The waterfall model is a breakdown of project activities into linear sequential phases, where each phase depends
on the deliverables of the previous one and corresponds to a specialisation of tasks. The approach is typical for
V Model
The V-model represents a development process that may be considered an extension of the waterfall model and
is an example of the more general V-model. Instead of moving down in a linear way, the process steps are bent
upwards after the coding phase, to form the typical V shape. The V-Model demonstrates the relationships
between each phase of the development life cycle and its associated phase of testing. The horizontal and vertical
axes represent time or project completeness (left-to-right) and level of abstraction (coarsest-grain abstraction
uppermost), respectively.
Incremental model
The incremental build model is a method of software development where the model is designed, implemented
and tested incrementally (a little more is added each time) until the product is finished. It involves both
development and maintenance. The product is defined as finished when it satisfies all of its requirements. Each
iteration passes through the requirements, design, coding and testing phases. And each subsequent release of the
system adds function to the previous release until all designed functionally has been implemented. This model
combines the elements of the waterfall model with the iterative philosophy of prototyping.
Iterative Model
An iterative life cycle model does not attempt to start with a full specification of requirements by first focusing on
an initial, simplified set user features, which then progressively gains more complexity and a broader set of
features until the targeted system is complete. When adopting the iterative approach, the philosophy of
In other words, the iterative approach begins by specifying and implementing just part of the software, which can
then be reviewed and prioritized in order to identify further requirements. This iterative process is then repeated
by delivering a new version of the software for each iteration. In a light-weight iterative project the code may
represent the major source of documentation of the system; however, in a critical iterative project a formal
RAD model
Rapid application development was a response to plan-driven waterfall processes, developed in the 1970s and
1980s, such as the Structured Systems Analysis and Design Method (SSADM). Rapid application development
(RAD) is often referred as the adaptive software development. RAD is an incremental prototyping approach to
software development that end users can produce better feedback when examining a live system, as opposed to
working strictly with documentation. It puts less emphasis on planning and more emphasis on an adaptive
process.
RAD may resulted in a lower level of rejection when the application is placed into production, but this success
most often comes at the expense of a dramatic overruns in project costs and schedule. RAD approach is especially
well suited for developing software that is driven by user interface requirements. Thus, some GUI builders are
Spiral model
The spiral model, first described by Barry Boehm in 1986, is a risk-driven software development process model
which was introduced for dealing with the shortcomings in the traditional waterfall model. A spiral model looks
like a spiral with many loops. The exact number of loops of the spiral is unknown and can vary from project to
project. This model supports risk handling, and the project is delivered in loops. Each loop of the spiral is called a
The initial phase of the spiral model in the early stages of Waterfall Life Cycle that is needed to develop a software
product. The exact number of phases needed to develop the product can be varied by the project manager
depending upon the project risks. As the project manager dynamically determines the number of phases, so the
project manager has an important role to develop a product using a spiral model.
Agile model
Agile is an umbrella term for a set of methods and practices based on the values and principles expressed in the
Agile Manifesto that is a way of thinking that enables teams and businesses to innovate, quickly respond to
changing demand, while mitigating risk. Organizations can be agile using many of the available frameworks
available such as Scrum, Kanban, Lean, Extreme Programming (XP) and etc.
The Agile movement proposes alternatives to traditional project management. Agile approaches are typically used
in software development to help businesses respond to unpredictability which refer to a group of software
development methodologies based on iterative development, where requirements and solutions evolve through
The primary goal of being Agile is empowered the development team the ability to create and respond to change
in order to succeed in an uncertain and turbulent environment. Agile software development approach is typically
operated in rapid and small cycles. This results in more frequent incremental releases with each release building
on previous functionality. Thorough testing is done to ensure that software quality is maintained.