Categories
Management

Agile vs Waterfall Project Management Methodology

The terms Waterfall and Agile are two areas/methodologies for project management. The waterfall is considered the “classic” and more conservative school, while Agile is a relatively innovative, flexible form of project organization.

What are Agile and Waterfall Project Management methodologies?

The two methodologies have a conceptually different approach, as well as advantages and disadvantages, but it is also possible to combine them (hybrid project management). Reference: “Agile vs Waterfall Project management and software development with Scrum“, https://www.yahowto.com/agile-vs-waterfall-project-management-and-software-development-with-scrum/

Waterfall project management

The design phases of Waterfall are fixed and consistently occurring:

  • Requirements
  • Design
  • Development
  • Testing
  • Deployment

Project planning for the whole project (Gantt Chart) is prepared at the beginning, which generally costs a lot of work and time, as waterfall projects in most cases are lengthy. Reference: “Agile vs Waterfall Project Management”, https://pgov.org/agile-vs-waterfall-project-management/

Agile Product Development

Agile incrementally delivers value. The emphasis is on creating a working (valuable) product for the customer. At Agile, it is not the technology and documentation that is valuable, but the potential of the team (average of 9 people). The project manager as a role in the team is replaced by “servant leader”. The project and more precisely its components are broken down / decomposed and prioritized in the product backlog. Reference: “Agile vs Waterfall Methodology – What are the differences“, https://www.islandjournal.net/agile-vs-waterfall-methodology-differences/

The hierarchy is as follows:

Themes> Epics> Features> User Stories

Each “user story” is evaluated by the team as a priority and resource (story points) needed for implementation, and then decomposed into specific tasks. Reference: https://projectmanagers.business.blog/

Agile goes through the same design phases as Waterfall, but in short, repetitive cycles lasting max 2 weeks:

Requirements
Design
Development
Test
Deploy

An important ritual at Agile is the daily 15-minute team meetings (daily scrum, answering questions about what I did yesterday, what I will do today, have I encountered any difficulties).

The evaluation/analysis of the tasks and the detailed planning are done before each iteration, ie. planning is done for the next 2 (max 4) weeks. At the end of each iteration, another very valuable ritual is performed. Reference: https://www.businesspad.org/agile-vs-waterfall-difference-between-methodologies/

Agile – retrospective, ie team meeting to analyze the work in order (without hesitation and worries) to say the mistakes so that the process is constantly / dynamically improving. Reference: Agile vs Waterfall management methodology, https://www.kosovatimes.net/agile-vs-waterfall-management-methodology/

Software development projects where change is expected

Agile is better for software development projects where change is expected and happening even at an advanced stage of development, which explains the need for a flexible approach.

The waterfall is more suitable for “regulatory” projects, with a clear framework indicated by legal restrictions (which contradicts the fact that with agile the scope could change, without of course affecting the budget and the deadline). Reference: Waterfall and Incremental model in project management, https://wikipedia-lab.org/waterfall-and-incremental-model-in-project-management/

Depending on the specifics of the project, the two methodologies could be combined and a hybrid approach could be applied. A good example of this is:

In the development (development phase) of the product agile is applied, and the traditional (waterfall) approach is used for the workflow for the delivery of public contracts. Reference: Agile vs Waterfall Project Management, https://agileprojectmanagement.home.blog

Agile vs Waterfall methodology

Agile and cascade (waterfall) methodologies are two popular methods for organizing projects. The cascade methodology adheres to the originally developed project plan, while the flexible methodology follows the adaptive approach. Reference: Agile, Scrum and Waterfall project management, https://ossalumni.org/agile-scrum-and-waterfall-project-management/

Cascade is a consistent and more traditional approach to managing projects involving a linear process. Flexible, on the other hand, is an iterative approach that encompasses a cyclical and collaborative process.

The Waterfall approach is best suited for projects with specific deadlines and clearly defined results. If the main constraints and challenges in the project are clear and predictable and can be documented, the cascade approach is better for our project.

The Agile approach is designed for projects where the main constraints are not clear and predictable at the initial stage of the project.

If our project involves developing a completely new product, it can be difficult to determine in advance the scope and schedule of the project.

Agile methodology is iterative and adaptive, allowing us to plan the project in stages or “sprints” so that it develops in parallel with the progress of the work.

According to the Agile methodology, our project will run through a series of lifecycle cycles: the development phase, review, feedback, and then approval of the job position – either yes or no. If we have approval, we implement and move on.

If we do not have approval, we record and make the necessary changes, track and set priorities in the project to reflect the newly acquired knowledge, and then move on to the next task or sprint.

Waterfall methodology is a simpler process in which the tasks are performed according to the phases of the project: defining the requirements, designing the implementation, implementing the working position, checking performance, quality assurance, and then maintaining the developed product and its functionality.

Waterfall methodology is best suited for:

Small projects
Clear requirements that are unlikely to change
Specific deadlines
Projects with many interdependent tasks

Waterfall methodology has its advantages: it is easy to understand and manage, and usually has fewer production problems and better budget management. But the cascading methodology is not the most appropriate when we have a complex iterative process of developing new generation innovative products. It is not adaptive and therefore not a suitable choice for complex and long-term projects. That is why a flexible methodology has been developed.

Agile Approach

The Agile approach relies on development through evolution and adaptability. Functional teams from different departments cooperate constantly and their interaction is cyclical and repetitive as a process. This methodology derives from the so-called Agile Manifesto – a set of values ​​and principles that prioritize flexibility, customer needs, and collaboration. As the name suggests, the flexible methodology allows teams to adjust the project course once it has started to address customer needs or address issues that arise during project cycles.
The Agile approach gives us a common basis to rely on when developing software, for example, but it is far from as rigorous as the cascading approach.

The agile methodology works best for:
  • Projects without known deadlines or the full scope of requirements
  • Teams with direct access to clients
  • Software/product that can be developed through cyclic iterations
  • Teams without bureaucracy
  • Projects without a fixed budget
  • Projects without competition

Customers who want and can update their product regularly
The flexible methodology is the better choice for smaller budgets, faster feedback, and experimentation. It works best in small to medium-sized teams that can make quick decisions, be flexible and work independently of basic corporate control. This is probably why this is the methodology chosen by most startups and application developers.

But if the requirements and needs of our project do not correspond to either of the two methodologies, there is a third option – a hybrid between flexible and cascading methodologies. This method was first described in the presentation by Eric Bergman and Andy Hamilton of Schneider Electric at the Agile2013 conference.

References

Reference: Comparison of Agile, Scrum and Waterfall project managementhttps://eduwiki.me/comparison-of-agile-scrum-and-waterall-project-management/

Reference: Waterfall or Agile? What methodology to choose for your project?, https://pm.mba/posts/waterfall-vs-agile/

The methodology of this model is also known as the sequential linear life cycle model. The waterfall model follows in sequential order, so the project development team only moves on to the next phase… https://phron.org/waterfall-and-agile-project-management/

AGILE PROJECT MANAGEMENT

Agile Project Management includes different subjects and many Agile and Scrum practices as well, but we will discuss here several major topics… https://agileprogramming.org/agile-project-management/

HOW TO BECOME A SCRUM MASTER?

To become a Scrum Master some may tell you that you need nothing more than Scrum Master certification and a few days of preparation on certain topics related to the Scrum framework and… https://brightonbot.com/how-to-become-a-scrum-master/

CAN YOU GET A PROJECT MANAGEMENT CERTIFICATION WITHOUT A DEGREE?

Obtaining a project management certification without a degree is a frequently asked question by young professionals… https://www.polyscm.com/project-management-certification-degree/

The hybrid between Agile and Waterfall

The hybrid between Agile and Waterfall methodologies includes the best of both methods. The most successful hybrid versions come from production companies that develop both software and hardware. Simply put, the reason for the success of the hybrid method is the understanding that hardware development is more successful when applying the cascade methodology, while software development is more efficient when applying the flexible methodology.

The reason why both methodologies can work harmoniously is that the flexible method is a way of thinking and approaching rather than a methodology, so it is possible to use a flexible philosophy with a more rigid cascading methodology.

Why should we consider using the hybrid method?

We want to encourage cooperation between our teams.
The complexity of the project would hinder its progress and completion within the agreed timeframe if we move entirely to a flexible management method.

Agile philosophy has many changing parts and it can take time for teams to adopt it successfully. Therefore, the cascading method of management should be used at the beginning and flexible techniques should be gradually introduced, while everyone can move to a completely flexible methodology.

Our project has a specific budget and delivery date but can benefit from the fast design, analysis, and planning with a flexible approach.
Compromise is crucial.

Like any other hybrid model, this one compromises some of the principles of non-hybrid methods. The development of hardware by cascading methodology is combined with flexibility in terms of software requirements. Similarly, flexible teams need to commit to on-time delivery dates, cost estimates, and risk assessment.