Skip to main content
Project Management Master Business Administration MBA
Master's in Project Management
PM.MBA is an official BVOP® partner and participant in the BVOP® Project Management Certification program Get Certified

Waterfall or Agile? What methodology to choose for your project?

Author: Liam James Published on: Wednesday Feb 12, 2020

The article describes the details of Waterfall, Agile, and Scrum, explains the differences and similarities, pros and cons, and helps in choosing a methodology for a new project.

Waterfall or Agile: What methodology to choose for your project?

Waterfall and Agile are examined as two methodologies for project management, but independently, Agile should be perceived as a product management and development approach. Nowadays, most of these methodologies are related to software development, but in the article, we will also mention the typical applications and uses of Waterfall and Agile. It is important to note that each methodology has its pros and cons.

Waterfall methodology

Waterfall methodology is a linear methodology and is characterized by the fact that each subsequent stage begins after the completion of the previous one. From there comes the name of the methodology. This word most clearly demonstrates the idea behind this methodology, in which case the development process is compared to running water that only goes in one direction.

In this methodology, the sequence of actions could be described as follows:

Waterfall example phases and steps

  • Customer Specifications (represents a detailed description of the product with all the expected functionality)
  • Design (Architecture, UI / UX)
  • Development (Programming, Unit Testing)
  • Product Testing (Internal QA Department)
  • Client Testing Provision (CAT / UAT)
  • Corrections
  • Finalizing and handing over the product

Pros of Waterfall methodology

There are clear criteria that the product must meet in its complete form (changes are not allowed; the entire scope of work is pre-set).

The progress of the project is easily measurable because the amount of work is clear from the beginning. Reference: "Waterfall and Incremental model in project management", https://wikipedia-lab.org/waterfall-and-incremental-model-in-project-management/

The work of the different teams is consistent, and their commitment to the project is only when they are needed.

No client involvement is required throughout the work.

Cons of Waterfall methodology

The result is only visible at the end of the process - the customer is not always able to judge what the product will look like in its final form based on its requirements. This is also the biggest problem with this method because the end product is not always satisfying for the customer, even though all the requirements are met. Often, this requires additional changes, which is not always possible to make subject to an already existing product with some functionality. This most commonly affects all aspects of the product (price, quality, duration). In the worst-case scenario, the product can never be used, and this will result in major wastage of customer resources. Reference: "Agile vs Waterfall: The Difference Between Methodologies", (2020 Businesspad.org) author: Samantha Rhine, https://www.businesspad.org/agile-vs-waterfall-difference-between-methodologies/

Agile methodology

Agile methodology is characterized by the fact that it is flexible and iterative with the primary purpose of rapid product development. The team or teams involved in product development play a central role and focus on prioritizing functionality. The sequence of actions is repeated at short intervals (Sprints), the purpose of which is to provide the product with ready functionality.

At the end of each development interval, the result is reviewed by the teams involved in the development and the client (Demo). This means that the Agile methodology requires ongoing client engagement in the development process, and especially at the time of approval of the finished functionality.

This sequence is repeated repeatedly until the product is completed.

Pros of Agile methodology

  • Clarity - the customer gets a clear idea of ​​the product as it is being developed. This allows for changes and judgment in the next stages and minimizes the risk of dissatisfaction.
  • Agile provides the ability to provide a working product, albeit with incomplete functionality, in a shorter timeframe. This is especially important for products where time to market is critical (such as a betting site).
  • Development is driven by priorities, first of all, developing the basic functionality so that the product is ready for use by consumers as soon as possible and then supplementing the secondary functionality. This, to a certain extent, ensures that even if there are unforeseen events (suspension of funding), the product could be put into use, although without full functionality. This also guarantees the client's investment to some extent.
  • Reduces the risk of complete failure of the project due to customer dissatisfaction.

Cons of Agile methodology

  • Client engagement - The client is not always able or willing to spend so much time on the project.
  • Team / Team Engagement - This model only works if all teams are engaged throughout development. Reference: "Agile Project Management", https://agileprogramming.org/agile-project-management/
  • Product Recycling - Since the scope of the project is not clear at the outset, and not all the functionality is provided in the design, and the architecture needs re-engineering (Refactoring). Failure to do so may reduce the quality of the product.

Waterfall or Agile approach? Conclusion

From the above information, I would say that the choice of a management system depends mainly on the type of project we have, the client's desire to be involved in the development process, his product requirements, and our ability to delegate teams to the client in question.

If the client does not want to participate in the development actively, there is a fixed functionality and budget I would recommend the use of the Waterfall model, as in Agile, the client plays a key role, and this could delay the project in his inability to participate. Reference: "Comparison of Agile, Scrum and Waterfall project management", https://eduwiki.me/comparison-of-agile-scrum-and-waterall-project-management/ In this situation, I would recommend a thorough review of the documentation with its requirements to make sure that both the development team and the client have a clear idea of ​​what is required of the final product. This, of its passion, takes more planning time than in Agile methodology. On our part, this option would be more convenient in cases where we are not able to delegate entire teams of people to work on this project because at different stages, different units are involved, and at the time when these teams are not needed, they might work with another customer.

If the client has the opportunity and desire to participate in the development process actively, I would recommend using the Agile methodology as it allows for a quick start of the project with the basic product functionality and does not require as long a planning period as in the Waterfall methodology. An additional benefit is that the customer will have a clear idea of ​​the product at an early stage, and this will prevent errors related to inaccurate planning and early correction of design and concept errors. Agile gives confidence and information to the customer about the quality of the product and its development. From our point of view, in this model, we need to provide teams that will work with the customer until the product is completed because of the iterative nature of the methodology, which involves all teams at approximately the same time for short periods.

I would personally prefer the Agile methodology in more cases because of the dynamics of development and the reduction of the risk of customer dissatisfaction with the end product. For this reason, the methodology mentioned above in the table is gaining popularity and is an increasingly preferred development model these days.

Waterfall, Agile, and Scrum in practice

In practice, many products can be developed without restrictions on the type of project or product.

Agile (and most of all Scrum framework, Reference: https://bvop.org/learnagile/scrum/) implies that it has more "transparency". Transparency is a pretty popular term.

At Waterfall, we can achieve transparency again if we wish.

Again, with both methods, we can also reduce transparency. Kanban, for example, does not proclaim customer involvement in development. The team can safely work "closed" for a long time, and no one knows what is going on. Sprints and demonstrations are not required. This is optional, and many companies and teams are practicing hybrid ways of working to achieve more results.

In practice, in every model, we can achieve transparency and break it. Doctrines and practices have no strict conditions except Scrum, where transparency is clearly expressed and strongly focused.

With Scrum, frequent client inspections and research are done to reduce the risk of problems and to demonstrate that work for the period (sprint) is complete. The Scrum team can safely know about a defect, but not express it to other parties and go unnoticed for a long time. Only the culture and attitude of the team members can guarantee this.

At Waterfall, we can have ready-made phases of work, often called releases (set intervals for launching part of a project). Reference: https://www.kosovatimes.net/agile-vs-waterfall-management-methodology/

At Scrum, we have sprints (fixed time intervals to demonstrate the finished work).

There are no conditions in any practice for the duration of the phases.

In Scrum, the only condition for a sprint is to be no more than one calendar month. The minimum sprint time is not officially mentioned. All that is needed during this period is to achieve some increment (increase).

In Waterfall, if we have tasks that are broken down into small parts and the product and technology allow it, we can have a release period of two weeks, for example. If we use Scrum, and our sprints are also two weeks away, we have the same results.

  • The result of Sprint 1 can be the same as the result of Release 1
  • The result of Sprint 2 can be the same as the result of Release 2
  • etc.

In classic project management, we have a practice called change management and change request. This means that the client may request a change to any part of the project.

Each change request is planned and calculated in terms of cost and time and is evaluated as to whether it will be implemented. The popular pervasive spread of the idea of ​​the scope and the inability to change is over-emphasized and spread from site to site and from book to book without any competence or intent. The root of this idea is that if you pour 200 tonnes of concrete into your project, then it would be challenging to make "design changes" if the concrete slab were to be 20 cm narrower. 

However, many types of projects easily allow for easy changes.

At Scrum, we have the Product Owner role (in other Product Manager workflows), which decides which change from the last iteration, when it will be made, prioritizing the work, and again, whether it will be made by evaluating its value. Reference: Managing business organizations and adding business value. An Agile Manager’s Guide to the Theory of BVOP.org by Marta Cooper Posted on November 27, 2019, PolicyMatters.net ISSN: 1941-8280

In this case, again, if we wish, we can achieve a lot of uniformity.

Important

All similarities and similarities can be valid if the nature of the product allows it.

If we develop a product with multiple components that can be built on top of one another and can exist on their own, and the result is a partially finished product, we see the high similarity.

However, Agile practices will not help us if our project is a space station that, to understand how it works, must be out of orbit. Iterations and adaptations are also challenging to implement.

The conclusion we can make after this very detailed analysis is that in reality, the two approaches have much more similarities than popular literature points out. The differences are small but significant. The nature of the product, the knowledge of the requirements, and the ability to iterate with real feedback are the most objective factors that influence our choice of method. Everything else is subjective factors.

Comments to "Waterfall or Agile? What methodology to choose for your project?"

  1. Brian Cooper
    I would also like to post my views on the subject. Thank you.

    Waterfall

    The Waterfall is a project management approach where the project is implemented in separate stages until it is successfully completed. A big plan is made in advance with all possible details, and then linearly, it goes from the first to the last stage. After passing from one step to another, it is not possible to return to the previous stage, so the move to the next stage is made after the stage we are in is fully completed.
    Features:
    Sequential process - Everything is executed sequentially. Pre-planned process. We know exactly what we want to get as a final product and how it will look Quality is more important than the speed of project completion. A process is dependent on the requirements laid down at an earlier stage. The scope, time, and cost are estimated for the whole project from the beginning. So the company knows what to expect, how long it will take to complete the project. Usually, it takes more than a year to complete such projects. It is quite challenging to make changes. Even in most cases, it is impossible because, in the beginning, it was decided what the project would be and what steps would be taken. Everything is documented.

    Agile

    Agile is a flexible project management approach. This approach allows large projects to be broken down into more manageable tasks to be handled more quickly by the people working on the project. Thanks to Agile, the team can adapt faster and deliver faster performance. It was originally designed to address the drawbacks of Waterfall in software development. It is not clear precisely what the final product will look like, and we know just what it will be used for. More important is the speed of project creation than quality. A much simpler project that becomes clearer during development. Changes are very easy to make because they are expected at any time. It is created in parts that can be shown to clients so they can see where the project has come from and how it goes. Most commonly used in software development.
  2. Leon Weber

    From a purely practical point of view, I manage to find a few basic differences between the two techniques. The first thing that catches your eye is the organization. In Waterfall, all actions are divided into successive steps. Each comes after the previous one. The new one can start when the previous one is completed. While with Agile the processes can work in parallel. With Waterfall - we must have agreed in advance with the customer the details of the final product because everything must be included in the plan. On the other hand, the Agile technique provides constant contact with the customer.

    Waterfall method would be useful for building small projects

    The Waterfall method would be useful for building small projects. When the steps are small, the final vision of the product is also clear and everything can be planned precisely. For example, we can take the production of a metal part according to a drawing. The client gives us the final assignment, a drawing of a detail. The road is being built in clear steps and production and marketing are moving on. For its part, when the project is larger, the client still does not know exactly what result he expects in the end, it would be more appropriate to use the Agile methodology. This requires it, because most likely during the design of the final product additional requirements will arise, additional needs of the client will be discovered and if we are in constant contact with him we will be able to correct them immediately. As an example, I would give any end-user software. The client wants an application that does something basic but does not know what design it will have, what will be the main and additional options.

    Another difference between the two methodologies is the documentation and reporting of project work.

    Another difference I see between the two methodologies is how clearly and accurately we will be able to document and report on the project work. In the case of Waterfall, we have clear steps on which we can set clear deadlines and requirements. We can monitor the quality of each completed stage as well as review what has been done in it. All of these things would be a lot more complicated if we used the Agile methodology, in which things are constantly merging and changing. It would take much more time and energy to analyze the work of a particular team or the performance of a particular task. It would be much more difficult to find fundamental problems in the internal company processes (regardless of the unit/department), which if caught in time can be corrected.

    In conclusion, I can say that strict adherence to either methodology would lead to difficulties and problems at one stage of the project. It would be logical to use techniques from both methodologies (and not only), and to calibrate for each specific project and client. Each project must be planned according to the nature of the final product while maintaining maximum flexibility when needed. Of course, the use of good practices from both methodologies does not limit us to use our personal experience, as well as to consult other less popular methodologies.

  3. Maximilien Bernard
    The waterfall is a methodology with a linear approach to product development and each phase must be completed to start the next, which for a project may be the best model because, after the completion of each phase, you can make an analysis and say if there are still things to complete in the phase or it is over and you can move on to the next stage. The progress of the process is much easier to measure because you can see the development of a phase where it has reached. The disadvantage of this model is the slower completion of the product. In the Agile model, there is a merging of phases, which in some cases would lead to faster product development, but it must be very clearly defined for each unit, what it must do in its field for the group of departments to be move on one wave as they are like connected vessels and the delay of one of the phases leads to a delay in the other phases. In the Agile model, instead of creating schedules, so-called "sprints" are made, which are part of the time in each phase. Each sprint has a short duration and certain goals to achieve, thus determining the result in the progress of the phases. The disadvantage of this model is that if there is no good connection between the departments, it may turn out that the betting duration for the whole project is very wrong. In general, Agile is becoming more popular because of startups, which nowadays do not have much time and resources to devote to a linear project and are turning to the Agile model.
  4. Jake Connor
    The waterfall project management approach is used in projects for which we have great clarity about the client's requirements. This methodology requires good planning, as well as following the already established plan. Changes to the project are not desirable, but when they are inevitable they are made. With Waterfall, we do not know until the end of the project whether it will be successful in the end. Agile, on the other hand, is a methodology that relies on frequent changes. Agile is used for projects where we do not have clarity about the requirements. The work is done in separate iterations, which usually takes 2 weeks. With it, we receive feedback from the client after each iteration. If a change is needed, it can be done immediately. I can give the following example, if our project is for the construction of a bridge, we would choose the Waterfall model, if we are developing a software product Agile would be more appropriate.
  5. Ezio Trevisan
    The development models of the Agile / Flexible, Adaptive / and Waterfall / Consistent/projects are among the most popular methodologies today. The difference between them is not so much theoretical as practical. Agile is a system of ideas and principles of "flexible" project management, based on which popular methods of Scrum, Kanban, and others have been developed. The key principle is the development through short cycles, at the end of each of which the user receives a working code or product. The nature of this methodology boils down to the following principles: People and interactions are more important than processes and tools; A working product is more important than comprehensive documentation; Cooperation with the client is more important than negotiating the terms of the contract; Being prepared for change is more important than following the original plan. The advantages of Agile: short and clear iterations - development cycles last from 2 weeks to 2 months, at the end of which the customer receives a working version of the product a high degree of participation of contractors, organizers, and clients of the project the work product is at the forefront as a key indicator of progress - this can be considered both a plus and a minus, as in this case the project team is set high requirements for self-organization minimizing the risks due to a Agile system for making changes; the popularity of the method among developers of business management programs. Disadvantages of Agile: stimulating constant changes in projects: the flexibility of product development can lead to the fact that it never reaches the final version; increased requirements for the qualification and experience of the team: in addition to the direct creation of a product, the team must analyze the possible ways to improve the efficiency of their work, constantly exchange information about the project, be motivated and self-organized. Project resources do not always allow the attraction of such specialists; philosophical nature of the methodology: Agile is not a clear instruction for action, but a whole philosophical concept. The team cannot mechanically apply agile mechanics, the key principles of the system must be accepted; the complexity of calculating the total workload: stimulating changes and improvements in the final product leads to a floating value of project costs. The waterfall is a project management technique that involves a consistent transition from one stage to another, without skipping and returning to previous stages. Advantages of Waterfall: a clear and simple structure of the development process - this reduces the threshold for entry of teams; Convenient reporting - you can easily track resources, risks, time spent, and finances, thanks to the rigorous stages of the development process and detailed project documentation; stability of the tasks - the tasks before the product are clear to the team from the very beginning of development and remain unchanged throughout the process; Estimation of the costs and conditions for delivery of the project - the time for launching the final product, as well as its final price, can be calculated before the start of development. Disadvantages of Waterfall: a process devoid of flexibility - so if a project requires more time and financial resources than is possible, then the testing phase will go under the knife. According to a study by Rothman's consulting team, the cost of post-release debugging is on average 20 times higher than with full multi-stage testing during development; "Sustainability" of changes - a rigid framework of the development stages and the condition for providing only the final product determine the impossibility of making changes during development; inertia - in the first stages the forecast for time and financial costs can change upwards, but it is impossible to change the project to cost optimization, to change the functionality or concept before the release of the final product; increased risk - the classic testing system includes testing of each of the components of the project separately, including in interaction with others. When Waterfall is used, the finished product is tested. In conclusion, these are two completely different methods for developing and managing projects. Each of them has dozens of modifications designed for different formats. The Agile model is suitable for IT companies, start-ups, and innovative projects. The waterfall model is most suitable for projects where the key is the time constraint, not the funding.
  6. Benjamin Tremblay

    The word Agile has become very popular these days, but it should be borne in mind that not all terms derived from Japan refer to project management in general. These are rather a a production processes and product management. To be more precise, we can say that the distinguishing features of this type of project management system are flexibility and adaptability.

    It has an iterative character and does not follow a specific pattern. It is characterized by the division of tasks into short phases of work and frequent reassessment and adaptation of plans.

    Agile is not a rigorous approach and any changes that can lead to improvement can be implemented even at the last minute of project development. An example of the use of this project management model can be software development.

    Waterfall or the waterfall model is considered one of the main life cycle models for project development and it originates from the United States.

    As the name suggests, the model of the waterfall is carried out sequentially from one stage to another. It is linear and consistent, which means that to move on to the next phase, the current one must be completed in its entirety.

    The teams spend a lot of time at each stage so that there are no mistakes and it is easy to move on to the next stage, which could be the testing of the developed product.

    Cases, where this management model is acceptable, are when no changes would have to be made when the project is smaller and simpler when there is no complexity in the technology when there are more resources available.

Related posts:
Author

Web site
Your Comment
 
×

Become a CERTIFIED Project Manager

Online Exam: $280 $130 Get a FREE Mock Exam