Back To CourseAgile & Scrum Training
9 chapters | 131 lessons
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.
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:
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.
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.
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.
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.
This method is incremental and brings flexibility to the project. It is known as the agile methodology.
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.
Agile requires the customer to maintain a high-level of involvement in the project life cycle. Projects with customers who are unable to devote the appropriate amount of time can be less successful. Agile is also most successful with co-located teams - those working in the same office- which can result in less flexibility for an organization. (Teams using a waterfall methodology are less impacted by whether the team is co-located or virtual - where some or all team members work remotely.)
The iterative process may require costly refactoring - changing the structure of the program's code without changing its behavior - for quality and maintenance reasons. This is similar to adding new ideas to an essay and restructuring the paragraphs to ensure the information is presented clearly. Without restructuring and proper planning, the pieces may be assembled inefficiently.
Another key difference is in how projects of each type are controlled. In the waterfall methodology, project managers look for variances between the completed work at any given point as a function of dollars and time and what the plan dictates should be completed.
Agile projects are controlled based on the amount of work that can completed in each sprint. Instead of dollars and time, agile project managers use an abstract construct called units. The number of units of new functionality that can be completed in a sprint is called the velocity. Agile project managers look for consistency in their team's velocity to help determine the schedule required to complete the work of the project.
Both agile and waterfall methodologies have their place in modern project management. The tightly defined and controlled characteristics of the traditional waterfall projects are generally well suited for long-term projects or those with fixed budgets and requirements. Imagine building a new office tower. It would be very important to know exactly what the project will cost before work begins. And, you'd want to know that your design is fully validated before the first brick is laid.
Agile project management has become more ubiquitous in software development environments where the clients or stakeholders elect to remain involved in cultivating new features and are less sensitive to the cost of changes.
To unlock this lesson you must be a Study.com Member.
Create your account
Already a member? Log InBack
Did you know… We have over 160 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
Not sure what college you want to attend yet? Study.com 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.
Back To CourseAgile & Scrum Training
9 chapters | 131 lessons
Next LessonWaterfall vs. Agile Methodology in Business Analysis