Agile versus Waterfall Methodologies

Waterfall vs. Agile Methodologies

Today in this blog, we will discuss about the differences between waterfall and agile project methodologies. Working in a project just like any other business, has a certain targeted goals which must be achieved in a fixed time frame. To achieve the goal of a project, various strategies can be applied accordingly. But two of the most popular project methodologies are waterfall and agile. 

Taking a look at the history of waterfall model, it was first introduced by Winston Royace in 1970. It was developed as a software development method but he himself claimed that it was a faulty method. However, there are many successful companies who have widely used this model.

On the other hand, the agile model of software development came to this world in 1990s. This time the traditional structured, segmented, bureaucratic approach to software development was discarded by developers and was replaced by more flexible approaches.

Waterfall Model

As the name implies, waterfall model is a sequential process of software development. Similar to how water gradually falls from atop to the bottom in a waterfall, the production cycle proceeds sequentially. In this model, there are seven phases to software development: requirement specification, conception, analysis, design, coding, testing & debugging, installation, and maintenance. Using a sequentially structured approach, the development team progresses on to the next stage only after the previous stage is completed.

Waterfall Model Diagram



Agile Model

As we move forward, let us consider agile software development methods. Unlike the rigidity of waterfall development models, agile approaches emphasize flexibility and adaptability in development. Iterative development schedules are used instead of a rigid schedule which takes a great deal of time and is difficult to manage. By continually improving the output, agile models are more efficient. In case of software development project, design, coding, and testing are carried out in each iteration. The design is flexible and can be changed at the last minute due to iterative development. If customers are involved in the project, it is important for the customer to participate and approve each iteration as well as decide to move on to the next iteration. This process is repeated until the customer gets a product that meets his expectations exactly.

Agile Model Diagram





Advantages and Disadvantages

The capacity to respond to changing project requirements is one of Agile model's most significant advantages. This ensures that the development team's efforts are not wasted, as is frequently the case with alternative techniques. Because there is face-to-face connection and continual input from the customer, there is no guesswork between the development team and the customer. However, there are some limitations of Agile model as well. It is not am ideal model for small development projects and requires an expert to take important decisions in the meeting.

While waterfall model can be easy to manage, it is not ideal model for a large size project. It is very difficult to move back to make changes in the previous phases.

References

Beck, Kent, Beedle, Mike, van Bennekum, Arie, Cockburn, Alistair, Cunningham, Ward, Fowler, Martin, Grenning, James Highsmith, Jim, Hunt, Andrew, Jeffries, Ron, Kern, Jon, Marick, Brian, Martin, Robert C., Mellor, Steve, Schwaber, Ken, Sutherland, Jeff, & Thomas, Dave. Manifesto for Agile Software Development. 2001. http://agilemanifesto.org/

Boehm, Barry W. “A Spiral Model of Software Development and Enhancement.” Computer (May 1988): 61-72.

Cabri, Anthony & Griffiths, Mike. Earned Value and Agile Reporting. Quadrus Development Inc., 2006.

Cockburn, A. (2006). “Agile Software Development (second edition)”

Gugenberger, Pascal. The Waterfall Accident. http://pascal.gugenberger.net/thoughts/waterfall-accident.html

Highsmith, Jim. History: The Agile Manifesto. 2001. http://agilemanifesto.org/history.html

Weisert, C. (2003). Waterfall methodology: there's no such thing. 


Comments