On larger size projects it should not be the responsibility of the project manager to come up with guesstimates or estimates. The PM’s role is to manager the project not to dictate.
On one of my recent large projects, the PM requests estimates from the execution team (analysis, development, QA) at all points in the project: upfront sizing, estimates based on initial requirements, and final commitment based on agreed upon requirements. This type of process takes discipline from both sides but, if that is in place, works very well.
Specifically for business/systems analysis, the analysis manager or a team lead provides the initial estimate based on vision and high-level requirements. Once the requirements are validated the business systems analysis team lead provides committed numbers based on a solution document which outlines the concept of the solution. Something similar happens for the development and QA teams.
Of course, any key stakeholder on the project (project sponsor, PMs, solution owner, etc.) can question an estimate if it does not make sense.
In general, this process works very well because:
- morale is high because the agreed upon timelines are based on reality and not on stakeholder's or upon management's wishes,
- the actual delivery dates tend to stay very close to the committed/promised dates,
- it avoids setting unreasonable expectations which can't be met,
- it gives the project team a sense of ownership.
The reality is that most Project Managers, while they may be excellent at managing the project, they do not have detailed knowledge of business analysis, systems analysis, software architecture and design, coding, QA to be able to come up with a good estimate.
- Adrian