Plan Driven project management using an old school methodology, which is The Waterfall process. The waterfall approach uses gated stages of requirements gathering, planning, designing, development, testing and then eventually deploying.
Plan Driven method are great for industries like construction, where requirements remain fixed throughout the project. That is to say, once they have been gathered and agreed they may not be changed. Therefore, business would remain static throughout the project. Because of this obstacle, there is no tangible benefit or value to the business during the months of design and detailed requirement documents. It is only when the project is finally finished that the business can expect to see any linking of business value.
Plan Driven development only works in situation where product managers and business stakeholders know exactly what they want, will not change their minds, are clear on priorities and are sure that the business process does not change.
– Scott Millett
The need for a more reliable and iterative approach, where risk is minimized and that can give business maximum return on their investment, is where agile comes in.
Frequent feedback and interaction between the development team and the stakeholders, domain experts and sponsors, means that agile projects deliver value very rapidly. Task prioritization ensures urgent needs are satisfied first. Iterative development cycles minimize risk, and regular deliver of working software leads to smooth roll-outs, user satisfaction, and reduced training and maintenance costs.
The agile methodology is a much a philosophical shift as it is a process shift.
– Scott Millett
Agile has a firm emphasis on customer satisfaction and quick return on investment via an iterative approach.
Instead of upfront design and planning stages that takes months, agile breaking down the deliverable of the project into smaller pieces that can be completed in an iteration.
These iteration usually occupy a time box of a fixed two to four weeks duration. These iterations include all steps of the plan-driven process and enable the business to give frequent feedback on working software in a very short time. The difference between an iteration and doing a project using the plan-driven method is that each iteration is working on small chunks of the project. These chunks are what the stakeholders have designated as the highest priority requirements.
The ability to give working product back to the business within a short time enables the business to start working with that product and gaining value from it, even if that value is to learn that this is not what they really wanted after all.
Agile is very much like business, where it is always focusing on improvement of the process by learning and refining its process.