You have a big project coming up that seems like it may take months or even years to complete. You know generally what you want, but you aren’t quite sure yet how to get there. The path seems long, complex, and things may change along the way as you learn more. How do you plan something like that?
The answer may be Progressive Elaboration.
Progressive Elaboration Defined
Progressive elaboration is similar to rolling wave planning, although not exactly the same thing. Rolling wave planning is actually one way to progressively elaborate. As time passes, the details of your project emerge or become elaborated on. You then refine and add more details to your plan. In other words, progressive elaboration expects that you learn more about what you are creating and the details are made clearer as you progress through the project.
The general idea behind progressive elaboration is that you just can’t or shouldn’t attempt to know every detail about the product you are producing within your project or product evolution far out in advance. Planning to the end of your complex project down to the details will inevitably result in the plan changing and all of your pre-planning time being wasted.
To avoid that waste, you do just enough upfront planning using what you do know. If you do not know enough about something, you may have to delay the implementation of some features until you learn what you need.
Waterfall Vs. Agile
You might break the work of a project down into smaller and more manageable chunks. To what level of detail do you plan each of those manageable chunks? Do you even know all of the chunks of work you need to complete?
Some projects may require these chunks of work to be extremely detailed and all of them to be known, even far out in advance. These projects would be classified as a more traditional waterfall type of project. The concept of progressively elaborating on the details gives the project more adaptability and thus the project tends to be more Agile.
You can have an Agile project without iterations (something people commonly associate with Agile), but can you have an Agile project without progressive elaboration?
An Agile project without progressive elaboration doesn’t seem very Agile unless your plan is detailed but does not require strict adherence. You have a detailed plan, but you don’t have to follow it. In that scenario, you are seemingly causing unnecessary waste of time in planning when you expect and are allowing the plan to change, thus decreasing the potential value. In other words, you are still making it less Agile by intentionally adding in more waste.
One method of progressive elaboration involves using user stories with limited details and refining those user stories later. See more about user stories: How Do You Split User Stories? and 9 Tips for Writing Effective User Stories.
Progressive elaboration is just one method of planning a project. It is not necessarily the best or most effective method. The idea may sound rather simple, but it tends to be very difficult for businesses to adopt when the traditional model of planning often requires a lot of up front detail. The very nature of the business often prevents utilizing the benefits of progressive elaboration.
Images from pexels.com