Software Development Lifecycle

Prototyping Model

Prototyping model was developed to counter the limitations of waterfall model. The basic idea behind prototyping model is that instead of freezing the requirements before any design or coding can begin, a throwaway prototype is built to understand the requirements. This prototype is build based on currently known requirements. The throwaway prototype undergoes design, coding,(…)

Rapid Application Development

Rapid Application Development(RAD) is the parallel development of software functionality and then integrating those functions. In Rapid Application Development(RAD) functions/components are developed in parallel into time-boxed cycle and then all these functions are assembled into a working prototype.

Iterative Development Model

Iterative Development Model is also know as Incremental Development Model. In the iterative development model there are number of smaller self-contained life cycle phases for the same project. It does not contain only one large development cycle as in waterfall model. There are many variants of Iterative Development Model.


The issues seen in the traditional waterfall model gave birth to the V-Model, it was developed with an intention to address some of the problems found in waterfall model. As you can see that in waterfall model defects were found very late in the development life cycle because testing was not involved until the end(…)

Spiral Model

The spiral model was proposed by┬áBohem. In spiral model the radial dimension represents the cumulative cost incurred in finishing the steps so far and angular dimension represents the progress made in completing each cycle of the spiral. In the first quadrant of the spiral model each cycle begins with the identification of objectives for that(…)

Waterfall Development Model

Waterfall model is one of the earliest models to be designed. It is a sequential software development process. In waterfall model tasks are executed in a sequential fashion. The progress of software development is seen as a sequence of phases like Requirements->Design->Implementation->Testing->Deployment->Maintenance.

Agile Software Development Methodology

The capability of rapidly and efficiently adapting to changes is known as agility. The purpose behind developing agile development methodology was to have agility which was missing in traditional waterfall models, it was waterfall model that inspired agile methodology. Agile software development is based on iterative and incremental development. Agile methodology uses continuous stakeholder feedback(…)