Progressive Elaboration Wins the Day
Every project is unique, and hence our approach to any project needs to be unique, customer made-to-order. We need to be wary of getting too accustomed to a particular approach, a particular type of project, a particular type of problem - as it may lull us into an inflexible approach. Leveraging progressive elaboration can help.
Let me expand a little on this so-called "inflexible approach" before I suggest a solution.
Flexibly Rigid, and Rigidly Flexible
Often, an approach like the waterfall method is criticized for being too rigid; it does not allow for fluid adaptation to changing needs. The real question, however, is "How rigid or flexible of an approach do I need for this project?" Beware also of simple but meaningless tweaking of an overly rigid approach, as you may simply be "flexibly rigid, meaning that you are still too rigid in your approach but trying to appear flexible. It's sort of like the thief that walks away with a watch, all the while smiling such as to do it nicely. The two just don't go together.
Similarly, you could choose a more flexible approach, such as an agile approach. The agile approach is designed to allow you to adapt the project as you go to changing circumstances and results by delivering early and often. An agile approach, however, is not necessarily the right approach for every project, and it needs to be adapted accordingly. There is a camp within the practice of agile that, ironically, seems so fixated on being agile in everything that I would call them "rigidly flexible". In other words, they are flexible to a fault, and will not easily change.
Grand Plans = Centralized Planning
As project managers, we tend to be pretty good planners. And as human beings, we feel a need to add value.
These two things can lead to trouble...
Since we want to add value, and since we tend to be good at planning, we can be subject to planning to a fault. In so doing, we may not miss the forest for the trees...but we may miss the trees for the forest!
It may be that we add more value by staying out of the way of others more close to the action...and let them do their thing. Help...but let others solve problems...unless we see they need help.
I tend to favor a more decentralized approach...sometimes to a fault!
Agile Plans = Small Bites
On the other end of the spectrum is the agile approach of trying small things, in bite size, easily digestible chunks. We can go for quick wins, and get short-term feedback from stakeholders.
Often the driver for an agile approach is simply that, in the analogy of the forest and trees, it is hard to see the forest clearly, but we can have enough perspective to choose some of the right trees, or perhaps groupings of trees, very clearly. We can advance the project by accomplishing something at a micro level that can then be repeated or adapted again and again on smaller pieces, or perhaps in a bigger, grander scale on the overall project.
Which brings me to...
Progressive Elaboration Could Hold the Key
Progressive elaboration is one of my favorite PMI terms. It acknowledges the reality that it is impossible to fully see the end result of the project at the beginning.
There are two extremes...
One is where the philosophy that you build a house twice: once in your mind when you do the plans, and a second time when you physically build it. Point well taken.
On the other side, however, everything is not so physical as a house...and may even be a vague, but potentially worthy idea. I that sense, you are searching for answers and clarity - feeling your way through the darkness to points of greater clarity, where, in the end you find the projects product.
As we know every project is a process, and there is a degree of progressive elaboration that we need to permit. Progressive elaboration in software development projects can be fairly inexpensive and yield big benefits. However, building a house requires careful and judicious use of progressive elaboration, since it can be expensive and only yield marginal benefits.
So, to be appropriately flexible...and also appropriately rigid, perhaps paying more attention to the degree of progressive elaboration that would work is the best approach. How clear is the end product of your project? How much does it cost to try and fail...and to adjust? What is the cost...and benefit of eventually getting it right? and what is the opportunity cost of getting it wrong?
Answering these and related questions can help you to use the idea of progressive elaboration to infuse the right amount of rigidity and flexibility into your projects.