If we start talking about plan-driven and Agile, they vary from each other.
In the Plan Driven Processes, all the activities or processes are planned in advance or before time. And further, the progress is measured against the plan. However, in the scenario of Agile, it is incremental planning. And here in this, the plan is typically for the short term so that it can alter according to clients’ requirements or new learnings. The progress is measured against the value delivered to the client.
Moreover, In Agile, the planning or activities are iterative. So it provides an opportunity to incorporate feedback often through collaborative reflection. This ensures the design or any needs to be developed together rather than individually.
Let’s first focus on what Plan-Driven is?
The Plan-Driven is an agenda-driven software engineering method that relies upon various distinct development stages like Requirements, Design, Build, Test, and Deploy. Each stage is taken care of by different groups – The business group helps in eliciting requirements, the solution team provides design, and the execution teams do the implementation. The output of every stage is planned at the start of the project.
Here, all the features that the client may want are anticipated and planned upfront. Also, the plan to build those features is done upfront. Then based on the scope of the work, the time and cost are also planned upfront. In a nutshell, the Scope, Cost and Time are fixed and executed based on the plan.
Example of Plan-driven process
The Plan-Driven process goes like this: firstly, the designer will be designing the building entirely according to the client’s needs before any construction work gets started. Then construction will be done as in the design. Finally, the progress is measured against how each building stage is coming along.
Agile development
Agile development is based on collaborative planning between the business, solution and implementation teams. The planning is just in time to focus on the work at hand and not look too much into the future. Often all the skills are brought into one team to enhance collaboration and promote quick decision making.
The team takes an iterative approach to accomplish working software. Work is done in regularly iterated cycles, and the outcome of every cycle is presented for feedback. The team accommodates potential feedback in the subsequent planning and changes direction if needed.
Is agile plan-driven?
All activities are planned ahead of time in plan-driven processes, and progress is measured from this plan. However, in agile, planning is incremental, which is easier to modify the work to mirror client requirements. So Agile is not plan-driven.
What is value-driven?
The ultimate aim of any project or product has to be to solve problems or add value for the end-user. So, in the value-driven, the work is planned to solve the customer’s problems or add value. This is one of the reasons to do just in time planning to address the most important things within a short duration of time. Then progress is measured against the value delivered to the customer. So, in a nutshell, the time is fixed, and the cost is also fixed. But there is always a negotiation on the scope to address value.
Agile is in line with the above context. So Agile is value-driven.
What are Waterfall and Agile?
In general, they both are different. Agile is all about flexibility; Agile enables continuous iteration of the work. On the other hand, the waterfall is a structured software development method. Moreover, the waterfall is a sequential process and has no opportunity to iterate. The waterfall aligns with the plan-driven development, whereas Agile is value-driven.
Is Scrum plan-driven or value-driven?
Scrum is a simple framework focusing on generating value through adaptive solutions. It has proven its mettle beyond software development. Scrum is Incremental as it focuses on generating a valuable and usable value within a shot and a specified time limit of one month or less. Also, it is Iterative – planning and execution are done within the time limit. The short and specified time limit is termed Sprint in Scrum.
So, Scrum is Value-driven and not plan-driven.
Concluding thoughts
In essence, Agile is an approach that is driven by value. Based on the time and cost availability, features are estimated. But, the plan-driven model is different or, in other words, completely the opposite. Upfront features are fixed, and time and cost are estimated to achieve all the features.
Waterfall methodology is plan-driven, whereas the Agile approach and Scrum Framework are value-driven. Plan-Driven development can be efficient when every aspect of the product’s end-product is clearly known. Unfortunately, we don’t live in an ideal world. But we live with a lot of complexities and uncertainties.