Project managers are expected to present a detailed estimate of project work when the charter and schedule are created. However, since the detailed requirements have not been gathered yet, how are you supposed to estimate the work?
It seems like a valid question. Yet when we talk about gathering detailed requirements, we’re usually talking about the Analysts Phase of a project lifecycle, not the up-front project management work of defining and planning the project.
However, it’s not really practical to hold off committing to an estimate for the work until you have the detailed requirements. Here’s why: Let’s say you have a typical IT development project. The project might last six months and the requirements gathering process might last six to eight weeks (or more) of that overall timeframe. If you hold off on the project estimates until the requirements are gathered and approved, the project might be one-third complete before you’re validating the overall project costs and deadline. If the project doesn’t make sense from a cost-benefit perspective, you might have already spent a significant amount of money. In my opinion, this is much too late, and it’s the reason most project management methodologies don’t include the gathering of detailed business requirements
Also if you use this same argument, you might say that you still are not confident to estimate the work without first doing the design, and then you are not confident to estimate the work until you have the construction work done, etc. You see that this same logic can be taken to an extreme.
To me, the following options make the most sense. (I am very aware of agile and iterative techniques where you gather the requirements in an iterative manner. But let’s assume for now that you are doing traditional waterfall project model where you are gathering the requirements up-front.)
As I mentioned earlier, many of you may think that the best approach is to gather the requirement iteratively. However, the iterative lifecycle does not provide the answer in terms of how you estimate the project to within 10 percent. In fact, iterative approaches might make this level of accuracy even harder to estimate, while Agile techniques usually refer to address the estimating at all–preferring instead to deliver working code in iterative sprints until the customer is satisfied with the end result or runs out of money.
The three solutions above provide a more viable set of techniques for estimating the work to within 10 percent before you start. Do you have other ideas that are effective in your organization?