When we think of project management, we tend to think of two general types of methodologies – Traditional (Waterfall) and Agile approach.
The Waterfall approach tends to be sequential in process where the project plan is mostly prepared in advance. The Agile approach is designed for knowledge work. It has evolved to create a simple design that becomes clearer as the project progresses which expects change and embraces it.
Planning in an Agile project is totally different from the Waterfall project, as they adapt to the needs and expectations of the stakeholders and product development in a flexible manner.
Planning a Drive
Let’s look at an example of driving from New York to Washington, which can use both traditional and Agile approach (assuming we have no GPS!).
Traditional Project Management Approach
In the traditional approach, we would write down each direction along with the approximate time and distance that it takes to get from New York to Washington D.C. If the driver doesn’t follow the directions correctly, they must go back to the last known correct direction and continue driving directions from that location.
Agile Approach
In the Agile approach, the driver would use cues such as knowing they would have to go south west, along with heading through landmarks such as Philadelphia and Baltimore along the way to reach the final destination. This approach tends to be more flexible in its methods and constantly needs checking in to ensure that the directions are on the right track.
The main assumption in the Agile approach is that change is encouraged and can cause corrections as often as necessary as the project may take new courses throughout the project life cycle.
When traditional project managers hear about Agile project management, they assume that planning is thrown out the window. They might think that Agile project management is purely reactionary with little or no pre-planning and that nothing is planned until the need arises, which is incorrect.
There is plenty of planning in Agile projects and its not just to the same extent and style as it is in traditional projects. In traditional project planning, as much planning as possible is done earlier in the project life cycle so that all the activities of the project can be considered coordinated to meet strict time scope quality and constraints
Traditional project management is important in the earlier stages of the project and the project phases and tapering off in intensity mixed with bursts of planning efforts as any project may demand project planning.
The early onset within the Agile approach tends to be establishing the product vision along with setting high level roadmaps and release plans. Release plans and the following iterations plans are planned incrementally. These plans are not just immediate actions, but also of the upcoming iteration.
This re-evaluation and planning happens by re-prioritization of the product backlog, collecting and applying feedback from the stakeholders, demonstrations, reviews and user testing. Processes and techniques can be altered and plans are made and administered by the outputs of the iteration.
Agile project management requires constant awareness of real-world information affecting the project in reference to the overall project objectives along with involvement from all stakeholders to make decisions and maintaining self organization. Stakeholders generate ideas based on their experience and assumptions, when there is more to base our decisions and we can discover true and more accurate requirements and stakeholder expectations. Every project that is Agile needs that sweet spot plan generated to mitigate against risks without spending too much planning and that too much time and resources are spent doing so especially when we expect there will be changes when the project progresses.
Hopefully this gives you some insight on how to tackle that next interesting project!