Questions related to tips and techniques about software project estimations: development time, effort, team size, software size, execution time, run time resource usage. Please ask on https://softwareengineering.stackexchange.com/help/on-topic if your question is not directly related to code.
Fred Brooks said:
It is very difficult to make a vigorous, plausible and job-risking defense of an estimate that is derived by no quantitative method, supported by little data, and certified chiefly by the hunches of the managers
On a day-to-day business context, the word estimate is often used when asking for a commitment, and this is incorrect. An estimate is not a target, not a commitment. An estimate is an assessment, based on prior experience, judgement and possibly on incomplete information about the time or resources needed to build a software project. An estimate can also be requested for the size or configuration or system resources needed to execute a software product.
Estimates always have a degree of error, so this should always be kept in mind when using an estimate to make a decision. More precision is achieved for an estimate spending more time or money - an estimate may be quick, precise and inexpensive: pick two of the three attributes.
Books about software estimation:
Software Estimation. Demystifying the Black Art. Steve McConnell. 2006 Microsoft Press, Redmond, WA.
Software Engineering Economics. Barry W. Boehm. 1981 Prentice-Hall Inc. Englewood cliffs, NJ.