top of page

Agile vs Waterfall Frameworks

Writer's picture: Forrest WilkersonForrest Wilkerson

On waterfall vs Agile methodologies




(source: Segue technologies)



There exists multiple different approaches when it comes to software development, and it can be difficult for those new to project management to determine which is right for them. Two of the most common approaches are the agile approach and the waterfall approach. The waterfall approach can best be described as the ‘traditional’ approach to software development.  Development is relatively linear, planned out well in advance, and is generally more inflexible. 


In the waterfall model, the software requirements are planned out well in advance, near the beginning of the project, during the initiation phase. Development only begins when the requirements are fully fleshed out and committed to. The project only progresses through to the next stage when the previous one is finally completed. These stages are, generally speaking, Requirements gathering, design, implementation, verification, and maintenance.



The process generally begins with the project manager gathering customer requirements at the very start of the project, learning the expectations of stakeholders, and conducting research. This is known as the requirements phase, and it typically occurs during initiation. The manager then moves on to the design phase only once this is completed, before assigning tasks to each team member and managing them closely before it is completed and can be tested. During this construction/implementation phase, those working on the project begin their work. It is only when the project is nearly completed that it is then tested and released to the public, with maintenance occurring post-launch to respond to the needs of the customers. 




(Source: Altexsoft)


There are many advantages to this approach.


  • Project planning is relatively straightforward. Project managers generally have a solid grasp on what the schedule will look like.

  • The problem of scope creep is also far more easily managed as all the features are planned out at the very beginning. It is also much easier to estimate costs and the levels of resources.


However, there are also a number of disadvantages.


  • It becomes much harder to change a product’s requirements in response to the needs of stakeholders.

  • Gathering customer feedback can also be an issue, as they may have difficulty understanding a product until it is far into development.

  • The planning and specification phase can be rather costly. As such, it tends to work best with projects with fixed timeframes and budgets, where the project’s needs are well defined and relatively simple. 


Agile development, however, is significantly different, relying instead on the idea of iterative improvements to a project. Rather than a series of linear phases over the course of an entire project, agile instead iterates over a series of smaller cycles, each going through initiation, planning, exploration, adaptation, and closing phases. 


There are a number of different agile approaches, but by far the most common is the scrum framework. The project is divided into a series of sprints typically lasting roughly one to four weeks, overseen by a scrum master whose job it is to ensure the team works together efficiently. This is in contrast to traditional waterfall models, in which the schedule is typically planned out near the planning stages. 




(source: Altexsoft)


Each phase begins with a planning meeting in which the project manager presents a backlog of items to be reviewed, which the team decides how best to tackle, adding them to what is known as the sprint backlog. Over the next 1-4 weeks the participants begin to work on the deliverables before being reviewed by the stakeholders in what is known as a sprint review. After obtaining input from the stakeholders, the team then reflects on their work. The advantages to this approach are numerous.

  • The project can be more easily altered in response to changing requirements by customers and can more easily adjust to changing scope.

  • A product can be released early if necessary and updated later, so deadlines can be far more flexible

  • If a team member should fall behind or encounter issues, it is less likely to impact the overall project timeline.


An important step in the agile development methodology is the adaptation phase, where the team reviews the previous cycle, reflects, gathers feedback, and adjusts plans based on the results. There is no such equivalent in traditional waterfall methodology, which tends to only begin gathering feedback from customers after the software has been through implementation. 


It’s worth noting that this is far from the only approach to agile development, however they all broadly share a cyclic approach to development meant to produce deliverable work to the customer and stakeholders much more rapidly than a traditional waterfall model. 


Exactly which methodology is superior depends on both the needs of the individual project as well as the needs of the organization as a whole. Typically, the waterfall approach tends to work better in cases where the project requirements are known from the beginning, estimates for costs and deadlines are understood, and it is unlikely that the project requirements will change over the course of development.


By contrast, the agile approach tends to work better in situations where customer involvement is high, the project’s scope is complex and may shift over time, or the time and budget constraints are unknown. Given that shifts in scope and requirements are a frequent occurrence over the course of a project, especially for inexperienced teams, this makes the agile approach increasingly attractive. However, the need for high customer involvement and frequent collaboration between team members presents some complex challenges that not every organization will find themselves easy to overcome. 


Another approach towards project management is the hybrid approach, when a project’s deadline and requirements are decided up front, but development is handled through a series of sprints. That said, it is typically best to decide on a methodology towards the beginning of a project as attempting to switch midway through can cause a number of issues. As a result, project managers should decide early on on which methodology to use over the course of the entire project, and avoid attempting to switch methodologies midway through the project unless no other options are available. As a project manager, it is important to determine which framework you will take early on. Hopefully, by better understanding the differences between these methodologies, you will better be able to make an informed decision as to which is most appropriate for your own project.



Sources: 


Davu, S. (2018, November 20). Waterfall vs. agile: Which methodology is right for your project?. Segue Technologies. Retrieved from https://www.seguetech.com/waterfall-vs-agile-methodology



Atlassian. (n.d.). Agile vs. Waterfall Project Management. Retrieved from 


Productplan, Agile vs. waterfall. Pros, Cons, and Key Differences. (2021, August 26). Retrieved from https://www.productplan.com/learn/agile-vs-waterfall/


Hoory, L. (2022, August 10). Agile vs. waterfall: Which project management methodology is best for you?. Forbes. https://www.forbes.com/advisor/business/agile-vs-waterfall-methodology/


AltexSoft. (2023, October 3). Agile Project Management: Best practices and methodologies. https://www.altexsoft.com/whitepapers/agile-project-management-best-practices-and-methodologies/


The Digital Project Manager, & Hoban, S. M. (2023b, December 6). Agile vs waterfall: Which methodology to choose?. The Digital Project Manager. https://thedigitalprojectmanager.com/projects/pm-methodology/agile-vs-waterfall/

 

Waterfall methodology. ProjectManager. (2023, July 11). https://www.projectmanager.com/guides/waterfall-methodology




25 views

Comments


group_projects.png.webp

About Proj. Management Website

Proj. Management Website is a blog dedicated to helping professionals improve their project management skills. Our articles cover various topics such as planning, execution, monitoring, and controlling. Read More to explore our latest articles.

© 2022 by Proj. Management Website. Powered and secured by Wix.

bottom of page