by Moira Alexander

Agile vs. waterfall: Project methodologies compared

Feature
Oct 05, 20206 mins
IT Governance FrameworksProject ManagementSoftware Development

Agile and waterfall each offer unique benefits and drawbacks. Here are the pros and cons of each method, and how to know which is right for your organization's projects.

Agile Project Management
Credit: Thinkstock

Choosing the right project management methodology for the job is the first step in project success. But knowing which methodology best fits your organization and the project at hand can be challenging — especially with so many project management methodologies to choose from.

Two of the most commonly used methodologies are agile and waterfall. Which is the best for your organization will depend on factors such as the types of projects your organization seeks to complete, and your organization’s team structure, skills and talent. Following is an overview of each methodology, outlining each approach’s pros and cons, what types of organizations are best suited for each methodology, and the types of skills necessary to be successful.

What is agile?

First discussed in depth in the 1970s in a published paper by William Royce about the development of large software systems, agile is a project management methodology composed of short incremental development cycles called “sprints.” Each cycle focuses on continuous improvement in the development of a product or service. Guided by four fundamental values and 12 principles in the Agile Manifesto, this provides an iterative and people-centric approach to software development and involves the following processes: 

  • Planning: This first step involves customers and key stakeholders working together to conceptualize, brainstorm, define, prioritize, resource, and budget a project, which is then approved and initiated.
  • Design: User experience experts work with a Scrum master, client, product team, and other key stakeholders to determine what the product should look like and all of the other desired elements.
  • Development: In this build phase, the development team works through various iterations called “sprints” to create a product that meets the client’s requirements.
  • Testing: This phase ensures the product is in line with requirements. If defects are detected, the product goes back through a development phase to correct the issue before being tested again. This cycle continues until the product meets the desired specifications or goals.
  • Deployment: Once perfected, the final product or deliverable is released to the client.
  • Feedback: Teams then look back at the entire process to evaluate how to either improve the product or team performance.

Skills involved in agile development

Agile teams are highly customer-focused, adapt well to changing environments, and excel at product delivery even under pressure. Agile development requires individuals with a strong sense of teamwork and accountability, not only to the team but also to the customer. They thrive in a fast-paced environment and are focused on quality and improving deliverables and processes.

What is waterfall? 

Waterfall methodology is also used in product development but is linear with the development process following a specific sequence from start to finish when the final project is delivered. Project teams execute and fully complete each process or cycle below in the same and exact order. 

  1. Requirements gathering and analysis: Here, information is gathered from clients and other key stakeholders about the functional, system, or technical specifications to be used in a project. 
  2. Design: User experience experts work with clients, product team, and other key stakeholders to determine what the product should look like and all of the other desired elements.
  3. Testing: Performance, systems, and user acceptance testing is then done to ensure the product meets the identified requirements. If defects or bugs are discovered, then they are addressed before delivery.
  4. Final project delivery: Once the product meets the specifications established at the start of the project, the product is delivered to the client.
  5. Maintenance: After delivery, a customer can request additional scope changes to be added and approved. These will result in additional project costs and time.

Skills involved in waterfall

Traditional waterfall project teams work well in a structured environment where processes and procedures are well-entrenched. They don’t require much excitement and instead work better without it. They are methodical and requirements-focused. Team members can collaborate well with stakeholders from many different areas within the organization as well as customers and adhere well to policies and strict guidelines.

Agile vs. waterfall: Pros and cons

There are many benefits to using agile and to using waterfall, including the following:

  Agile Waterfall
Pros
  • Development is rapid yet flexible.
  • Due to the short iterative sprints and a focus on quality, teams are able to identify and fix defects much faster than waterfall.
  • Various small teams can be assigned different tasks that may not hold up different aspects or phases of development.
  • Iterations allow for rapid product changes to be made during development, as needed.
  • Although the cycles are more formal and sequential, the lengthy and ordered processes are easy for small and large teams to navigate.
  • Set development cycles can provide more stability for new teams starting out.
  • Project requirements are established at the start, making project execution less complex and with fewer moving targets.
  • The full project is budgeted and resourced from the start making expectations and risks easier to manage.
Cons
  • Agile requires a Scrum master who is experienced with sprints and who is not easily flustered due to the fast nature of iterations.
  • Customers may tend to get frustrated with many requests to review changes.
  • If teams are not well-organized or self-governing, agile may present issues for remote teams located in different parts of the world in varying time zones.
  • Development is slower and less flexible due to its sequential nature and is dependent on the completion of the previous phases.
  • Issues are usually only discovered later in the testing phase.
  • Requirements are determined and approved at the start of the project. Scope changes are less likely to be an option.
Best suited for
  • High-performing software development teams, especially in the software development niche.
  • Organizations focused on high-quality deliverables and continuous improvement, especially if quality aligns with their value proposition or competitive differentiator.
  • Large and complex companies such as IBM, Cisco, AT&T, and Microsoft streamline their processes and respond to changes faster using agile.
  • Project teams that regularly work closely with their customers and other external parties.
  • Teams that need quick feedback about deliverables rather than waiting until a project is fully complete.
  • Teams that need a more predictable and sequential project timeline and have a fixed budget.
  • Less experienced project teams.
  • Companies with a lower tolerance for change or risk.
  • Companies whose customers are limited by time and resources and cannot collaborate frequently.
  • Simple projects with simple requirements.
  • Projects that have the luxury of longer timelines.