2
Summary: Software development models help software developers to build the software with required features and within specified budget and time. Different models incorporate the stages of planning, designing, coding, implementation, testing, deployment and maintenance in different ways. The article elaborates how waterfall and agile model differ from each other. Keywords: agile development methodology, agile methodology, agile model, distributed agile, agile software development, agile web development Agile vs. Waterfall Model Software development models: A software development process is made up of several logical steps that allow software developers to build the software efficiently within the specified budget and time frame. Lot of research and planning is required before one starts to develop the software. These models allow developers to plan the software development process by following the steps given in the model selected. Most of the software models comprise of the following stages: Planning and requirement analysis Designing and coding Implementation Integration and testing Deployment and maintenance Different models incorporate the above stages in different ways. Depending on the project goals, budget and the time constraint different models need to be selected to develop the software. Following are the commonly used software models: Waterfall model Spiral model V-shaped model Iterative model Agile model Agile and waterfall model are at opposite ends of the spectrum whereas the remaining models are based on variations in these two models. Let us see how these 2 models differ from each other. Waterfall Model: It is a linear model of software development. The various stages in the model are followed one after the other. After completion of one stage, next stage is started and one cannot go back to the previous stage. It is more like the steps involved in building a house. Once the blueprints and the early

Agile vs Waterfall Model

Embed Size (px)

DESCRIPTION

Pros and cons of Agile and waterfall model and when to use which model

Citation preview

Page 1: Agile vs Waterfall Model

Summary: Software development models help software developers to build the software with required features and within specified budget and time. Different models incorporate the stages of planning, designing, coding, implementation, testing, deployment and maintenance in different ways. The article elaborates how waterfall and agile model differ from each other.

Keywords: agile development methodology, agile methodology, agile model, distributed agile, agile software development, agile web development

Agile vs. Waterfall Model

Software development models: A software development process is made up of several logical steps that allow software developers to build the software efficiently within the specified budget and time frame. Lot of research and planning is required before one starts to develop the software. These models allow developers to plan the software development process by following the steps given in the model selected. Most of the software models comprise of the following stages:

Planning and requirement analysis Designing and coding Implementation Integration and testing Deployment and maintenance

Different models incorporate the above stages in different ways. Depending on the project goals, budget and the time constraint different models need to be selected to develop the software. Following are the commonly used software models:

Waterfall model Spiral model V-shaped model Iterative model Agile model

Agile and waterfall model are at opposite ends of the spectrum whereas the remaining models are based on variations in these two models. Let us see how these 2 models differ from each other. Waterfall Model: It is a linear model of software development. The various stages in the model are followed one after the other. After completion of one stage, next stage is started and one cannot go back to the previous stage. It is more like the steps involved in building a house. Once the blueprints and the early foundation of the house are built, it becomes difficult to change the plan midway based on the problems encountered later on. It is a costly and time consuming process to go back to the previous step. In many cases the problem is encountered at the fag end of the software development process making it very difficult to deal with the problems encountered. Hence waterfall model is suitable for software’s that are small and the developer has clear idea about how to go about developing the software.Agile Model: In contrast this model follows an iterative approach. At the end of each iteration a working model of the software is available. The stakeholders based on their requirements accept or reject the part of the software developed in that iteration. This model takes into

Page 2: Agile vs Waterfall Model

account the changing needs and requirement that the project will face over the years. Going by the house building analogy, 1st the base is built and checked for approval from the stakeholders, followed by the 1st floor and so on. Generally used for longer projects where different versions of the software are released over the years.