Agile vs. Waterfall Development

Instructor: Dwayne Brathwaite
Projects are time-limited efforts to produce a product, service or result. This lesson will introduce you to two methods from competing philosophies: agile and waterfall to achieve those results.

Agile vs. Waterfall Development

Imagine you're renovating your backyard. You want a new in-ground pool, garden with white carnations, a gazebo and tall hedges to keep your exciting, new yard private. This will be your project. According to the Project Management Institute, a project is a temporary endeavor, in that it has a definite start and end date, to produce a unique product, service or result. In this case, your beautiful yard. This lesson will look at the key characteristics of waterfall and agile development and provide some contrast between them.

Waterfall Method

One approach to completing your backyard is to design the entire backyard, including all of the individual features, like the pool and the flower garden, and how they'd be arranged. Once you have the design, you can move on to building the backyard and then certifying that the entire build meets your expectations. This sequential approach of completing one step before moving on to the next is known as the waterfall methodology. The steps in waterfall are as follows:

  • Gather Requirements
  • Design
  • Build
  • Verify (Test)
  • Maintain

This is called the waterfall method because you complete one phase before moving on to the next. Graphically, it creates a staircase giving the effect that water can flow down until the project is completed.

Waterfall Method
Waterfall Method

Advantages of Waterfall

The waterfall method is meticulous in tracking projects in three primary areas: scope - the specifications of the product and the work necessary to satisfy those specifications, time - how long it will take to complete, and cost - your budget. With the waterfall method, you know what you're building, how long it will take, and how much it will cost. More importantly, the project's stakeholders agree to these things before the work begins. Waterfall also provides the ability to calculate variances - when things aren't going as planned - and how it impacts your schedule and budget. These are good things to know at the start of an expensive, long-term project.

Disadvantages of Waterfall

On the other hand, the waterfall methodology is somewhat rigid. Since all work follows a predefined plan, once the work has begun, it can be difficult and expensive to make changes. In some cases, quality issues and customer satisfaction issues aren't identified until the all the development is complete, when re-work is at its most expensive to accomplish.

Agile Method

A second approach is to start the project with a generally defined framework and design and build each feature of your new project one at a time. This gives you the freedom to make changes to the design and order of completion for features that haven't yet been built.

Iterative Design
Iterative Design

This method is incremental and brings flexibility to the project. It is known as the agile methodology.

Advantages of Agile

Agile was developed as a response to some of the rigidity in the waterfall methodology. Its incremental approach allows for both late design changes and uncertainty about the future. This is accomplished by adding new features (how the software looks or behaves) and functionality (what the software can do) in short sprints.

A sprint is a time-boxed period of typically two to six weeks where all features within the sprint must be completed for potential delivery to the customer. Any feature or new function scheduled beyond the current sprint can be changed. The requirements gathering, designing, building and testing phases are executed as part of every sprint.

This means that the customer/stakeholders can have new functionality ready for acceptance and delivery after each sprint. Customers typically remain engaged in cultivating their backlog (list of features and functionality that haven't been developed yet) for future sprints, which helps ensure that delivered functionality is in-line with customer expectations.

To unlock this lesson you must be a Member.
Create your account

Register to view this lesson

Are you a student or a teacher?

Unlock Your Education

See for yourself why 30 million people use

Become a member and start learning now.
Become a Member  Back
What teachers are saying about
Try it risk-free for 30 days

Earning College Credit

Did you know… We have over 200 college courses that prepare you to earn credit by exam that is accepted by over 1,500 colleges and universities. You can test out of the first two years of college and save thousands off your degree. Anyone can earn credit-by-exam regardless of age or education level.

To learn more, visit our Earning Credit Page

Transferring credit to the school of your choice

Not sure what college you want to attend yet? has thousands of articles about every imaginable degree, area of study and career path that can help you find the school that's right for you.

Create an account to start this course today
Try it risk-free for 30 days!
Create an account