Estimating based on Personality - not Functionality
Clearly one potential partial answer is a software product line with wizard based specification screens for classes of problems with built in “educational” help information to allow the client to self educate (or for you to deskill the process to someone with customer service rather than engineering skills if you want to keep a human face on the process). For example, how many times have you explained the relative virtues of username vs. email for an authentication system or described where and when to use SSL and the benefits of putting “add to cart” on a product list page (easy to add multiple) vs. a product detail page (allows the space to better support product attributes).
The issue I’m still left with is that between the fastest and slowest clients I am finding almost an order of magnitude differential in the amount of interaction required. The question then is how do you estimate the cost of projects when a substantial driver of those costs is the personality type of your primary client contact?!
The obvious solution is to ask a set of questions pre-sale that would elicit whatever elements of user personality that would drive the speed of specification. Just wondering if anyone knows of any research into this and if anyone can figure out how to ask clients those kind of questions without getting thrown out of their office :->



For my business, I took the approach of shifting responsibilty for specifications and scope to the client. In other words, with rare exception, I simply bill at an hourly rate.
I'm happy to give an estimate of what the cost will be, and I can be fairly accurate at any given point in time. But the client both knows, and understands that if they change their minds about a use case, or want additional functionality, there is a cost associated with those changes.
There are times that I give up upside, as I could charge more on a project basis than hourly, but it doesn't take too many nightmare projects to put you out of business if you mis-under-estimate (bushism) what it will take to successfully comlete a project.
I agree 100%, but the size and type of companies I work with simply aren't comfortable with the idea of hourly rate or even fixed bid variable scope (the Agile approach). As far as they are concerned, they are buying something and want to know what it'll cost in advance. We know that isn't realistic, but they don't, thus we have to help them to get what they want for a fixed price. A difficult, but not insoluble problem.
I don't know that fixed bid/scope is fundamentally in a clients best interest - especially when they don't understand the problem space and solution space well enough, but fried food isn't good for you either - doesn't stop people buying it. I'd love to be able to work hourly on discovery phase, but as most clients won't accept that I'm working to try to do a better job of meeting expectations with fixed bid/fixed scope despite the problems inherent in it.
Thanks. Your suffering makes me feel better about my life :->