Skip to main content
  1. Project Management Blog/

Waterfall Methodology vs Agile

·1835 words·9 mins· loading · ·
Pmblog Agile Project Management Project Management

On This Page

Table of Contents
Share with :

Agile and Waterfall
#

The debate of Waterfall Methodology vs Agile is one of the longest running debate in the project management world. In 20th millennia people supporting waterfall were winning and in 21st millennia people supporting agile are winning.

What is the Waterfall Method?
#

The waterfall model is a sequential uni-directional step approach, in which progress of each phase of the project life cycle is seen as flowing steadily downwards like a waterfall, from top to down, through the phases of conception, initiation, analysis, design, construction, testing, production deployment, and maintenance. As this waterfall methodology is sequential, once a step has been completed, a development team can not go back to a previous step or earlier steps, because the cost of making correction/improvement in the output of the previous stage is very high. There’s no room for change or error, so a project outcome and an extensive plan must be set in the beginning and then followed carefully.

Positive Sides of Waterfall Model
#

  1. Well Structured Processes: To manage projects using the waterfall model we need to have structured processes with clearly defined input and output of each process. There is no overlap of phases and processes, as they are in sequence. At the end of each project phase, a review takes place to check whether the project is on right track or not. But, many a time it is too late to know that we are not on right track.
  2. Easy to understand: Being sequential processes with clearly defined output and responsibilities it is easier for the project team and different departments/stakeholders to understand the processes and expectations from them.
  3. Documentation: Because this model is based on a well-defined structured process where every process needs to have a clearly defined input, therefore, this method highly relies on extensive documentation of requirements, design, project plan, test cases, etc. These documents can be used to support or improve the product in the future.
  4. Defined Requirements: In waterfall projects starts with well-documented requirements or the first phase defines the requirement in detail and baseline the same.
  5. Customer Expectation: With this methodology, the client knows what to expect. They have an idea what is the size, cost, timeline of the project.

Negative sides of Waterfall Model
#

  1. No matter how much effort you put in defining the processes if a human has to follow those they bring their own dimension of interpretation at the time of implementation. It makes sense to have processes automated where human involvement is the least. In a business where human creativity and judgment are critical full automation is not possible.
  2. In regular businesses, feedback and early feedback are the keys to success. Due to this reason processes are iterative in nature at the implementation level. Hence waterfall doesn’t make sense.
  3. Once the project is in a testing stage, it is very difficult (if not impossible) to go back and change something that was not well thought out in the previous stages of product development.
  4. This model is not suitable if requirements, technology, infrastructure, environment, productivity, or any of these factors are unknown or unstable.
  5. If a project has a higher number of uncertainties then this method becomes useless.

What is Agile?
#

As the name goes Agile means flexibility, elasticity, bounciness, etc. An approach for managing a project which is responsive to the project environmental factors. That is why agile planning is also called Adaptive planning. Processes in this approach are not sequential and fixed but iterative and empirical. Agile is not only an incremental development approach but much more than that. This approach ensures incremental delivery, value-driven delivery, priority-driven delivery, feed-incorporation, stop early with minimal waste, easy expansion of the project scope. This approach works well when the problem you are solving itself may change during the development. Agile project management is based on the value and principles. These values are principles are defined in the agile manifesto. There are many methods that help to implement this approach for project management. Some of these approaches are engineering focussed, some are management focussed, some are business requirement focussed, and some others are focussed on risk management.

Positive Sides of Agile
#

  1. Continuous Improvement: Agile method encourages feedback from team members and clients throughout the project. This feedback helps the team to learn from previous delivery and improve the product and processes.
  2. Improved trust within the team: Agile is also notable for emphasizing the importance of motivated individuals who need to be trusted to get the job done.
  3. Strong communication within the team: Agile highlights the importance of frequent communication and face-to-face interactions. Teams work together and people are able to take responsibility and own parts of the projects.
  4. Change is welcome: Agile encourages introducing and accepting the change even at the last stage if the product is going to be ineffective or of the least value without those changes.
  5. Continuous Customer Involvement: This addresses early feedback, product ownership by customers, correction at lessor cost, sense of team, and playing together to win.
  6. Improved Quality: The testing at the end of each iteration ensures that the bugs are caught and taken care of in the development cycle. They won’t be found at the time of product release.
  7. Fast delivery: In this methodology, the product is delivered much more quickly and successive iterations can be delivered frequently, at a consistent pace.

Negative Sides of Agile
#

I do not see any negative aspects of Agile but negative aspects of how agile is understood (misunderstood) by different stakeholders.

  1. Documentation is neglected: The Agile Manifesto prefers working software over comprehensive documentation, so some team members may feel like it’s less important to focus on documentation. While comprehensive documentation on its own does not lead to project success, Agile teams should find the right balance between documentation and discussion. If you are not documenting then discuss enough, think through with other team members, product owner, and end-user. Documentation makes sense when people can forget, they are not available to discuss when they are needed, to track the evolution of an idea, to share something offline. Documentation doesn’t only word document. Audio/video recordings, photographs of the discussion board, references to other existing sources are also examples of documentation.
  2. Highly Skilled Team: Since the agile teams are small, so they need to be highly skilled in various areas. They must be comfortable with the newly adopted Agile methodology (people with older work practices struggle to shift). Generally, highly skilled/experienced people like higher designation, and they do not want to be part of a delivery team but of the management team. This I have noted more in Asian countries. In these situations it becomes difficult to get a good quality matured, self-motivated, full stake developers for the project.
  3. Generalized Skill Team: Every team member should be able to do everything needed in the project to make it successful. It is difficult to find these kinds of people.
  4. A Product Owner (PO) is The Key: The project can easily get taken off track if the product owner is not clear what final outcome that he or she wants. The pivot of the project is PO. Finding a good PO who understands business, has the authority to make the business discussion, and available all the time for the team is not an easy task.
  5. Time commitment from developers: Agile is most successful when the development team is completely dedicated to the project. Active involvement and collaboration are required throughout the Agile process, which is more time consuming than a traditional approach. It also means that the developers need to commit to the entire duration of the project. Many a time it is challenging for the organization to balance the commitment of team members between various other on-going projects. People leaving an organization or a project due to any reason is another issue. But luckily agile project durations are short so this is manageable to a great extend.
  6. High-Level Planning can be Less Concrete: Because of the entire team’s focus on the delivery of immediate goal sometimes focus on the release date may not be there or extra iteration of work needs to be added to make a market release of the product. But this can be managed if senior management and release management are doing their planning based on regular input from the agile team.

Similarities between Waterfall and Agile
#

There are not many similarities between Waterfall and Agile. They both have the same goal to deliver quality products efficiently on time but their approach is completely different and sometimes opposite.

Difference between Waterfall and Agile?
#

WaterfallAgile
Sequential and Structured processYesNo
FlexibilityNoYes
Defined Requirements before starting the projectYesNo
Documentation of requirements are mustYesNo
Deliver quality productYesYes
Best for those who want continuous improvementsNoYes
Suited for situations where change is commonNoYes
Big bang approachYesNo
Highly collaborativeNoYes
Involves customersNoYes

When to use Waterfall?
#

Waterfall methodology is recommended when:

  1. You have the complete picture of the final product.
  2. Requirements should be well known before developing the product.
  3. The project should be simple and the team has done it many time previously.
  4. When clients won’t have to change the scope and requirements of the project after freezing those.
  5. The project should be done in an orderly and predictable manner.

When to use Agile?
#

Agile methodology is recommended when:

  1. The project is on new technology and there isn’t any clarity that how the final product will look.
  2. The clients and stakeholders have the ability to change the scope of the project.
  3. The team is highly skilled and adaptable to any kind of change and can think independently.
  4. Rapid deployment is the goal
  5. You want to do R&D
  6. Early closure of the project is a possibility

Why Agile is Better than Waterfall
#

A better question can be, what is suitable for my project? Or can I apply the agile project management approach to all projects?

It is not about the approach itself. The answer lies in what I have and what I can offer to afford as a customer. As a customer, I want “quality product” “earliest possible” with “least cost” and “least involvement”.

In a project where requirements are not fully known or they are going to change, technology is not finalized, business environment and market condition can change, product is unknown it is not our choice that anything other than Agile is better so implement it. It is extremely difficult to do fixed cost, fixed time, fixed feature, fixed technology project in agile. This works only in waterfall but for that purpose those should be fixed.

Hybrid Model
#

At high level of the program or project have waterfall. At implementation of the project have agile practices. You should have high level plan and goal to know and track the direction. But deliver those using agile methods.

References and Useful links#

Dr. Hari Thapliyaal's avatar

Dr. Hari Thapliyaal

Dr. Hari Thapliyal is a seasoned professional and prolific blogger with a multifaceted background that spans the realms of Data Science, Project Management, and Advait-Vedanta Philosophy. Holding a Doctorate in AI/NLP from SSBM (Geneva, Switzerland), Hari has earned Master's degrees in Computers, Business Management, Data Science, and Economics, reflecting his dedication to continuous learning and a diverse skill set. With over three decades of experience in management and leadership, Hari has proven expertise in training, consulting, and coaching within the technology sector. His extensive 16+ years in all phases of software product development are complemented by a decade-long focus on course design, training, coaching, and consulting in Project Management. In the dynamic field of Data Science, Hari stands out with more than three years of hands-on experience in software development, training course development, training, and mentoring professionals. His areas of specialization include Data Science, AI, Computer Vision, NLP, complex machine learning algorithms, statistical modeling, pattern identification, and extraction of valuable insights. Hari's professional journey showcases his diverse experience in planning and executing multiple types of projects. He excels in driving stakeholders to identify and resolve business problems, consistently delivering excellent results. Beyond the professional sphere, Hari finds solace in long meditation, often seeking secluded places or immersing himself in the embrace of nature.

Comments:

Share with :

Related

Leadership Framework of Big MNCs
·279 words·2 mins· loading
Pmblog
Leadership Framework of Big MNCs # Microsoft # Microsoft’s leadership framework, introduced …
GenAI Usecases for Project Managers
·4151 words·20 mins· loading
Pmblog
GenAI Usecases for Project Managers # Introduction # GenAI is a major breakthrough in human …
Popular Business Process Frameworks
·2031 words·10 mins· loading
Pmblog
Popular Business Process Frameworks # What is business process framework? # Business process …
ZED Best Practices v2
·1337 words·7 mins· loading
Pmblog ZED Certification ZED Version 2 Zero Defect Zero Effect MSME QCI
ZED Best Practices Based on Version 2 # Introduction & Background # Objective # Adopt Best …
Agility vs Scale in Business
·1087 words·6 mins· loading
Pmblog Project Management
Agility vs Scale in Business # Recently I was watching a video about entrepreneurship. This was …