PMBOK suggests different styles of estimation techniques. However, at work, the most I have seen used are simpler than you think/have learned.
1. Estimation based on historical data/experience- most commonly used. for example, dev team estimates based on similar code development/design or version or tool etc and then they evaluate the initial risks and we quantify them so we can estimate. Again, we go from ROM to LOE in phases.
2. WBS structure- list all tasks, break them down as small as possible and then estimate each one - again by historical data or experience. This gives a more realistic number.
3. Other teams- we have some standard percentages that came out of history/experience again, we stay within limits, example 11% of total estimation or 18% etc.
Hope that helps. Saving Changes...
in PMBOK terms the estimates based on Historical experience and data that Deepa alludes to is the Analogous Estimation .
It is very important to have 1) A similar kind of project 2) Similar skill level or experience of the people doing the project 3) Similar time frames . in order to come out with an analogous estimation . But it is an Order of Magnitude estimation and you may need to consider that it's accuracy can be at best between -25 - +75
Through Proper planning and development of a detailed Project Scope Statement and WBS, You can drill down to each individual work package and then divide the work package into activities. Once you are at activity level which could be few hours to few days, You can then do a "BOTTOM UP " Estimating , which tends to be far more accurate and likely to be plus minus 10%
You can off course also try the Three Point Estimates. where the estimate of time and cost is determined by this formula (O+4M+P)/6 , where O is Optimistic estimates of time or cost, M is the Most Likely and P is a pessimistic estimate. This is helpful once you have atleast a critical path or the minimum time you may take to finish the project with a set of activities that absolutely must happen in a sequence.
Finally there is a Parametric Estimation . Especially in construction. eg Cost to construct one square foot of building is 200 dollars. at this rate, to construct X square feet will cost 200 multiplied by x and then you add labor. Saving Changes...
It seems analogous and parametric are the most widely used. Our development services are through a consulting firm which utilizes their proprietary estimation formulas and processes - the secret sauce. I'd rather use PERT, b/c things typically stray away from the original estimates - resource is not as experienced, technical challenges caught during design, etc. Saving Changes...