Do you like driving in the fog? Planning something that you're not sure how to approach or have never done before is like driving in the fog—you're not sure what's beyond your sight, but you do know the destination is further down the road. So what do you do? You don't just stop in the road and wait for it to clear—not if you've got somewhere important to go! Just like driving in the fog, you move forward as far as you can see, and as you move forward in steps, the next part of the road becomes clearer. So on your project, the first step to moving forward through the fog with the team is to set up a way of working with the team to iteratively develop and refine
everyone's understanding of what needs to be done.
A key piece of that is mindset. No one wants to be forced to sign up to something they feel unsure about. Yet that's how a team can react when executives and their project manager are after them to "give us a date." They can't. So change your approach. Everyone should instead just relax a little and not worry about giving the be-all-end-all estimate right up front. Instead, the team can work piecewise on understanding what's being asked of them, and evolve the estimates as it all becomes clearer.
Once you've got the right mindset on the team, here are ways to help reduce the uncertainty in specific areas:
- Solicit info and opinions from functional experts from within and outside the company on the requirements and work.
- If some work remains fuzzy, have your team develop detailed estimates for the tasks they can define in that area, including reviews and decision points that will form interim milestones for decision making.
- Get clear on what work can be done to learn more about an area and reduce uncertainty. Create a prototype? Talk more extensively with customers? Then make sure that work is explicitly scheduled and tracked.
- Hold interim reviews for uncertain areas to see how far each has gotten and better gauge how much might be left. Following each interim review, as more work has been done and more aspects of the project are becoming concrete, update the schedule with additional detail.
- For the balance of the work that is largely unknown, you might ask for best, worst, and most likely estimates, with supporting, documented assumptions from the team. Those estimates would at least allow you as project manager to develop initial projections of the range of overall schedule.
Now of course, management still wants to know when it's going to be done. It's the project manager's job to hold back the wolves when the team is validly investigating a squish set of work. When you talk to management about the schedule, you can also put a level-of-confidence number of the estimate and let them know when you'll know more. "We have about a 50% confidence in meeting this end date. When we get to point X, and risk Y has been more thoroughly understood, we think we can have an 80% confidence level schedule."
Of course, you also can't likely get away with quoting no date for a good while. You can use your understanding of best and worst case from the estimate ranges above to talk to management about a reasonable end date. Another technique is to identify a first iteration of the entire project, composed of items that are known well enough to estimate, and commit to an initial due date for that. Agile project management methodologies are geared to defining iterations and delivering pieces of customer value at set intervals, delivering what can be delivered each time and continuing to work the riskier items for a later release.
For more details on different techniques for planning projects when things are uncertain, see Spiral/Iterative Project Phase Approach, "What does an Agile Project Plan Look Like?", and Agile Technique Brief: Estimating.