One paradox is that we can and do develop rules of thumb about the effort required to produce some result (product), yet each product's context is unique.

If we didn't have those heuristics, it'd be hard to figure out whether undertaking project X for price Y is a good idea -- either for the independent worker, or for the client.

In the same way that people try to turn the 80/20 rule (which is more of an analogy) into a law of physics, people end up turning rules of thumb into micrometers.

Years ago, with a group of my peers who headed computer-based training in their organizations (large companies like John Deere, Holiday Inn, USAir, Amtrak), we tried to dig up some benchmarks for the amount of time to produce courses -- almost all of which were for training people to use the company's main computer application.

In other words, we roughly agreed on what activities would go into design and development, and used the system's tracking to get some idea of average completion time.

The end rations ran from 40:1 (development time to average completion time) to 400:1. The variables were pretty much what you'd expect: existing skill of the target audience, degree of simulation, complexity of the interaction, etc.

I would say, though, that in my work -- training people who used the Amtrak reservation system -- it was through this kind of benchmarking that we got better at rough-estimating how long the next task might take. If you can't estimate within an order of magnitude (is it four weeks, or forty?), you need a mighty confident client.

Which is part of the point I see you making, Harold: the contractor and the client have to agree on the desired results, and neither can be too rigid about the path to achieving them.