There is a clear difference in the philosophy underlying Agile and that of traditional Waterfall project management.
The Waterfall project management model envisions a project as a series of sequential steps, beginning with the statement of customer requirements. The project is planned upfront and then monitored and controlled throughout the process. Once a step is completed, it is not revisited. The project can be pictured as a one-way process, much like water coursing over a waterfall—once the water passes over the waterfall, it does not return.
The Waterfall Project Management Process
Agile, in contrast, begins with the idea that customers can’t identify all requirements at the start of the project. Instead, a series of initial requirements or user stories are surfaced and features are prioritized. The customer continues to participate with the Agile team through a series of iterative cycles of planning and development with a goal of quick releases.
An Agile Project Management Cycle
Flipping the Triangle
Agile can be seen as having “flipped the triangle”—in a typical Waterfall project, the team begins with fixed requirements and adjusts the variables of resources and schedule; but in a “flipped” Agile environment, the team starts with a fixed schedule and resources, and the variables are the features that the customer wants or needs.
Waterfall and Agile project management differ in the methods they employ as well.
|– Establishes requirements at the start of the project|
– Estimates the cost and schedule of the project
– Uses highly disciplined planning to control the project
|– Establishes cost and schedule at the start of the project|
– Begins with user goals and tasks (“user stories”), then focuses on surfacing features through the process (rather than “pre-planning” them)
– Responds to changing requirements as the project evolves
|– Prepares a series of formal written documents||– Relies on visual documentation|
|– Depends on heavy customer involvement in the planning phase, but has only limited customer involvement after the planning phase||– Relies on customer participation throughout the project|
|– Uses a formal integrated control process to rework requirements|
– Adds the cost of changes to the overall budget
|– Incorporates changes through iterative and incremental development|
– Uses prioritized product backlogs for managing change
– Builds the cost of changes into the iterative process
Project life cycle
|– Employs distinct cycle phases|
– Completes tasks in a sequenced order
– Does not revisit a phase once it has been completed
|– Uses a series of rapid iterations with design/build/test segments aimed at incremental releases|
– May revisit work or work phases as needed
|– Employs a project manager to direct, manage, monitor, and control work|
– Makes use of a hierarchical structure of roles and responsibilities
|– Uses an Agile team leader to coach, facilitate, and protect the team|
– Utilizes a cross-functional, often co-located, team
– Avoids creating a hierarchy of roles
|– Embraces a formal risk management process (risk identification, qualitative and quantitative analysis, risk response planning)|
– Monitors and controls work in precise steps
|– Addresses risk through daily team status meetings and a retrospective meeting|
– Employs constant feedback cycles to identify, monitor, and respond to risk
|– Tests for appropriate results at the end of the process||– Executes frequent testing throughout the project|
– Utilizes test-driven development as part of the creation of results
Recommended for you What is AGILE?
To test your understanding of the content presented in this assignment, please choose the correct answer
1. An Agile project leader would use which of the following approaches for project requirement changes?Choose only one answer below.
a. An integrated control process for the rework
b. A prioritized product backlog for the rework
Correct. Using a prioritized backlog would be an Agile approach for dealing with requirement changes.
c. A risk register for the rework
d. None of the above
2. In an Agile project, which of the following becomes the variable?Choose only one answer below.
c. Features or requirements
Correct. In an Agile project, the variables are the features that the customer wants or needs.
d. All of the above