Chapter 11. Creating Quotes and Estimates
The cost of a project isn't a major issue for you when the client is paying on per hour worked basis, but is a difficult issue when working to a fixed price. Accuracy of identifying a total price is still important for projects paid by the hour because clients will not be happy to receive a bill that is multiple times higher than you originally suggested. Knowing effective methods for producing accurate estimates for both fixed price and time based projects will save you a lot of headaches when it comes to getting the client to pay.
A good consideration for all estimation is Hofstadter's Law, which emphasizes the difficulty of accurate estimation for tasks of substantial complexity—despite all best efforts and actually knowing that the task's complexity. The law simply says that what you are estimating will always take longer than you expect, even when you take into account Hofstader's Law. It is often referenced by programmers in discussions relating...