Depends on what information you have to work with. If you can compare all or parts of it to a previous project, then you can get a simple parametric or analogous estimate based on similarity to prior work.
If you don't, you need to develop at least a high level WBS where you can assign estimates for time and materials requirements for the various pieces. That requires significantly more work, and people who know enough about each piece for reasonable estimates. Saving Changes...
Stéphane ParentSelf Employed / Semi-retired| Leader MakerPrince Edward Island, Canada
Some tips, I've learned over the years.
Get the best person possible to do the estimate--don't presume you are that person
Get an estimate range. Use the optimistic value and put the difference in your buffer
Get the estimator to break down the estimate as fine as possible
Make sure the estimator identifies any built-in padding
Make sure the estimator identifies all associated risks and presumptions
Make sure the estimator prepares the estimate as though someone other than themselves will do the work
The most important thing about estimates is ensuring that those whom you provide it to are aware of the level of confidence you and the team have in that estimate. This is why ranged estimates are superior to single point estimates, especially in the early stages of a project.
I'd also recommend using more than one estimation technique so you have the ability to sanity check the results.
And finally, log ALL assumptions made in the derivation of the estimates - that way, it is easier to explain variations down the road...
Stephane and Kiron made valid points. Saving Changes...
Sergio Luis ConteHelping to create solutions for everyone| Worldwide based OrganizationsBuenos Aires, Argentina
You need to understand what estimate is. My recommendation is going to the basics. Estimation always have an inherent error and it depends on the amount of information you have to estimate. Estimate a solution is the same to estimate any other thing into your daily life. Nothing new below the sun. Take a closer look to Barry Bohem´s Cone of Uncertainty which was created for software but it was taken for lot of other disciplines. Saving Changes...