Indeed, the project management world is divided in the west in the face of the so-called “Waterfall” and east in the face of the so-called “Agile” methodologies.
In the following lines, I will try to give you a brief description of how it works, what its pros and cons are, and in which cases it would be good to use both. Reference: “Agile and Waterfall in project management practices and processes“, https://www.polyscm.com/agile-and-waterfall-in-project-management-practices-and-processes/
First of all, I would like to say that businesses need both types of methodologies and no company should deny either of them at any cost.
Waterfall project management
The waterfall is the earlier methodology, which is a linearly oriented project management framework, allowing gradual transition from one phase to another after the previous one is completed. It is from there that its name originates – as it has a waterfall (step-like) operation. Original Source: “Similarities and differences between Agile and Waterfall project management”, https://w-europe.org/similarities-and-differences-between-agile-waterfall-projectmanagement/
The characteristic of this methodology is the availability of complete information about the project from start to finish – deadlines, scope, budget, involved parties, clear expected results at the end of each phase, etc. There is a concrete plan with a clear start and end of the project, which makes this way of working very structured and with a low degree of (unpleasant) surprises.
As its main advantages, we could point out:
- Complete clarity of the project from start to finish – budget, time frames, constraints, and scope;
- Establishing requirements by the team, which optimizes time;
- Defining clear deliverables from each phase makes the process structured. Reference: Agile vs Waterfall: The Difference Between Methodologies, https://www.libraryofmu.org/agile-vs-waterfall-the-difference-between-methodologies/
Waterfall also has its drawbacks:
The impossibility to work on several phases of the project in parallel could mean delaying the whole process in case of an undefined and unforeseen problem;
The lack of flexibility regarding changes during the project, especially in its completed phases. The identification of a deficiency, problem, or discrepancy with the vision of the customers (they are often not involved in the project and their feedback is received only at the end of each phase) occurs only when the project is completed, or at least its phase, which can subject its test success; Reference: “Waterfall, Agile, Scrum and Kanban methodologies”, https://stc-montreal.org/waterfall-agile-scrum-and-kanban-methodologies/
Agile methodologies
This is precisely why Eastern culture gives rise to the so-called Agile methodologies, which place quick response, flexibility, and the possibility of change at any moment at the core of project management. By its very nature, the Agile methodology is an iterative (repetitive) approach, in which, after the start of the project, several or even all phases of the project are worked in parallel with frequent feedback from customers and other key stakeholders, which allows for change if necessary. Reference: “Agile and Waterfall project management practices“, https://mstsnl.net/agile-and-waterfall-project-management-practices/
Among the main advantages, I could point out:
Very great flexibility in the work, allowing timely change if necessary – addition/change in project phases, re-prioritization of specific steps, even change in the overall direction of the project;
Short-term stages of work called “Sprints”, enabling higher productivity and efficiency with proactive work by the team;
Client-facing methodology, allowing (even requiring) frequent interaction with clients and enabling timely feedback. Reference: Comparison of Agile, Scrum and Waterfall project management, https://eduwiki.me/comparison-of-agile-scrum-and-waterall-project-management/
Critics of agile project management point to the following disadvantages:
- Potential for miscommunication between teams, especially when several are involved in the project, as the results are not a requirement to move on to the next phase;
- Difficult predictability of the exact duration of the project, due to its flexibility and the possibility of phases being changed, added and the direction of the project – changed;
- Difficult predictability of resources – with a high degree of flexibility and in response to a dynamic environment, the initial budget could easily be exceeded, which could compromise its success. Reference: Agile, Scrum and Waterfall project management, https://ossalumni.org/agile-scrum-and-waterfall-project-management/
To make it clearer to you, I will try to give the following examples of successful utilization of both types of methodologies:
A product IT company develops an application for a client whose business model is aimed at the young generation. So the so-called Millenials and gen Z are used to living in a very dynamic environment and adapt quickly, they expect the application in question to have all the latest functionalities. Reference: Waterfall or Agile? What methodology to choose for your project?, https://pm.mba/posts/waterfall-vs-agile/
An agile approach is applicable here, as it would allow for timely analysis and opportunity for change following feedback from key stakeholders, test groups, and ongoing market research, trends, innovations, etc. If a Waterfall approach is followed and the project lasts 10-12-14 months, it could turn out that at the official launch of the product it is no longer relevant and non-competitive against the background of the other solutions behind which agile companies stand. Original Source: Agile vs Waterfall management methodology, https://www.kosovatimes.net/agile-vs-waterfall-management-methodology/
A manufacturing company launches a new product, incorporating several innovations and an “ahead” of its time mix of innovative hardware and software. The entire production line is set up, the supply chains are agreed upon, the budget and deadline are clear, and the business model is fixed. The Waterfall approach here would be very suitable for the execution of the project since its linear execution would guarantee the absence of surprises, the distraction of possible feedback, and the risk of going out of budget and not meeting the deadline due to going back to a previous phase. This would mean a lot of lost money from reconfiguring production lines and processes, as well as missed opportunities from delaying the official release. Original Reference: https://www.businesspad.org/agile-vs-waterfall-difference-between-methodologies/
Agile or Watergall: summary
If you allow me to summarize, I would do it like this:
Where the timeline, scope, budget, and project could be clearly defined, and strict regulations and controlling bodies are in place – Waterfall is the better choice;
In projects, part of dynamic industries, where a greater degree of flexibility, change on the fly, lack of transparency about deadlines, duration, and budget, as well as the opportunity and willingness of the client to be actively involved and “in control” of the project are required with timely feedback – Agile approach would be the right choice. Reference: “Agile vs Waterfall Methodology – What are the differences“, https://www.islandjournal.net/agile-vs-waterfall-methodology-differences/
Agile and Waterfall are methodologies mainly used for software development.
Agile uses short development cycles – sprints – to focus on continuous improvement in product or service development. Also called agile methodology. Agile consists of a group of methods based on iterative and incremental development. It enables quick response to project changes. Reference: “Agile vs Waterfall project management“, https://pgov.org/agile-vs-waterfall-project-management/
This methodology is suitable for projects that are dynamic and there is a risk of unforeseen changes during the work process, also the client should have the opportunity to be part of this process.
Agile is not suitable for projects requiring clarity about the entire future process, and when communication between the two parties is not possible. The methodology reduces the possibility of future risks, ensuring the maintenance of development quality and customer control. However, the project can easily derail if the product owner is not clear on what outcome they want. 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/
The waterfall is a traditional project management methodology where the main focus is on completing the project development, following each step of the plan sequentially. One task must be fully completed before the next can be started in a related sequence of items that add to the overall project. This is one of the easiest models to manage. Due to its nature, each phase has specific outcomes and an evaluation process. Reference: “Waterfall and Agile methodologies such as Scrum“, https://wikipedia-lab.org/waterfall-and-agile-methodologies-scrum/
Waterfall ensures faster project execution as the development process and deliverables are well documented. In the waterfall model, the testing process starts immediately after the development is completed, therefore there is a high probability of bugs that we will find later in the development. This makes them expensive to repair. The waterfall is suitable for smaller projects with clear goals, as it is very difficult to make changes in closed phases. Check reference: “Waterfall vs Agile project management methodologies“, https://www.dobrojutro.net/waterfall-vs-agile-project-management-methodologies/
Both methodologies have their advantages and disadvantages as well as different applicability in projects.
In Waterfall, the product is delivered at the end of the SDLC (Software Development Life Cycle), while in Agile, the MVP (Minimum Viable Product) is delivered at the end of each sprint. The client is not involved in the development process in the waterfall model, while in the agile model the client provides feedback during development. In Agile, corrections and improvements can easily be made during development, unlike in Waterfall. Reference: “Waterfall and Agile project management methodologies and when to use them“, https://agileprogramming.org/waterfall-and-agile-project-management-methodologies/
I recommend you, Mr. Petrov, to choose the agile method if the project allows it because Agile guarantees more customer satisfaction and is much easier to implement during the work process. Source: “Scrum vs Kanban vs Waterfall: Differences and when to use each methodology”, https://managerspost.com/scrum-vs-kanban-vs-waterfall-differences/
Waterfall methodology is a project management approach that emphasizes a linear progression from start to finish of a project by gathering stakeholder and customer requirements early in the project and then creating a consistent project plan. The model is so named because each phase of the project cascades into the next, following and going down like a waterfall. It is a thorough, structured methodology that is used in construction, IT, and software development. The 5 stages of the Waterfall Methodology are:
1. Requirements and Planning
2. Design
3. Implementation
4. Inspection/Testing
5. Support
Advantages of the waterfall
Each phase of development proceeds in a strictly defined order
Easy to control due to the rigidity of the model
Each phase has specific deliverables and a review process
Phases are processed and completed one by one.
Disadvantages of Waterfall:
The main disadvantage of the waterfall methodology is that it can be time-consuming because it requires approval for each phase before moving on to the next. Another disadvantage is that projects can block at one stage where the team fails to complete them – e.g. Completing the verification of a design can be a challenge and the project stops there. An error that occurs can only be fixed within the relevant phase. This methodology is not recommended for complex projects where the requirements for changes are frequent.
Agile methodology is a way of managing a project by dividing it into several phases. This involves constant collaboration with stakeholders and continuous improvement at every stage. Once work begins, teams go through a process of planning, executing, and evaluating. Continuous collaboration is vital, both with team members and project stakeholders. This methodology is one of the most popular project management approaches due to its flexibility, adaptability to change and high level of customer input.
Agile is based on 4 key values and 12 key principles. While agile values provide project managers and developers with a very general overview of what it means to be “agile” and help guide the agile process, the 12 agile principles provide examples of how agility should be implemented.
4 key values:
1. Individuals and interactions on processes and tools
2. Working software on comprehensive documentation
3. Cooperation with the client when negotiating a contract
4. Responding to shift after the plan
12 key principles:
1. Priority #1 is customer satisfaction through early and continuous delivery of valuable software
2. Welcoming changing developments, even at a late stage. Agile processes use change for the customer’s competitive advantage.
3. Delivery of working software from several weeks to several months.
4. Businessmen and developers should work together daily during the project
5. Building projects around motivated individuals. Providing the environment and support they need and trust to get the job done.
6. The most effective method of communicating information to and within the development team is face-to-face.
7. Working software is a key measure of progress.
8. Flexible processes promote sustainable development. Sponsors, developers, and users must be able to maintain a constant pace for an indefinite premium.
9. Constant attention to technical excellence and good design improves flexibility.
10. Simplicity – the art of maximizing the amount of work to be done is essential
11. The best architectures, requirements, and designs emerge from self-organizing teams.
12. At regular intervals, the team considers how to become more effective, after adjusting and adjusting its behavior accordingly.
Agile benefits
Less resource is used because current tasks are always being worked on.
Can better adapt to change and react quickly.
Faster turnaround time.
Problems and defects can be detected and corrected more quickly
Get instant feedback.
Agile Disadvantages
The documentation tends to drift, making it difficult for new members to get on board quickly.
It is more difficult to measure progress than waterfall because progress occurs in several cycles.
It requires more time and energy because developers and customers are constantly interacting.
Projects can become eternal because they have no clear end
Clients working to a specific budget or schedule have no way of knowing how much the project will realistically cost.
There is much discussion in Internet groups about the Japanese Agile process methodology for completing projects or work items.
It is one of the most popular approaches to project management because of its flexibility, adaptability to change, and high level of customer input.
“Agile” methodology is a way of managing a project by dividing it into several phases. This includes constant communication with stakeholders and continuous improvement at every stage. Once work begins, teams go through a process of planning, executing, and evaluating. Communication and collaboration is vital, both with team members and project stakeholders.
The differences between the two methodologies are that Waterfall is a sequential design process where no changes can be introduced. Once project development begins, the plan and method of action is rarely discussed during the test phase. The testing process begins after development is complete, which can lead to bugs discovered at a later stage that are difficult to fix and will lead to unforeseen costs. This methodology is easy to manage and is good for working with small projects. Through it, the project is executed faster, but the client does not always get exactly what he wants – precisely because of the lack of communication.
In Agile methodology, the customer is the focus and is continuously involved in every stage of the work. The project is divided into sprints and follows an incremental approach. The test plan is revised after each sprint – therefore, if the client wishes something to be changed, it can be changed immediately and work on the project can continue without the risk of additional costs after its completion.
I recommend you to switch to an “Agile” work methodology.
It will benefit our organization, customers will be more satisfied, and team members will work more calmly, with a higher degree of coordination!
By keeping customers informed and making changes based on their feedback, we will deliver value to the customer and guarantee that the end product truly meets their requirements. This way we will protect the organization from possible costs.
The other benefit of this methodology is that, in theory, any project using it will never fail. There is always a small part that can be saved and used in the future, even if an approach does not go as planned. This way of working will give us security and more satisfied customers!