I work for a private investing firm that is looking to move from a face to face business to online business. They want to create a large, scale-able website that can handle thousands of accounts and hundreds of thousands of transactions. They want an upfront general estimate of what this would cost.
On investigating this it seems the general consensus is that it is impossible to accurately estimate this without knowing factors of scope, scheduling, and quality. They are not happy with this answer.
How can I put together an early cost estimate that is someone accurate, and back it up with data I didn't get by throwing a dart at a board and multiplying by $500,000?
They want an estimate but they don't want to provide the parameters that let you formulate one.
If they really need a quote, go with your dart board idea, it's as good as any.
Your only other option is to try very hard to sell them on the agile approach. Charge time and materials and let them evolve the project as it goes along. This way they can spend as much as they like. They should prioritise the most important features first and they can stop whenever they want.
There are too many open ended questions to give a sensible answer to this, as you realise.
It could be $50,000 or $10,000,000, or anywhere in between, depending on infrastructure choices, technology choices, lead times, regulatory requirements, quality expectations, etc. Without some guidance on these factors, your dartboard estimate is the best one available.
As an aside, a few thousand customers isn't exactly challenging these days, so at least there are lots of options as far as all the technology goes.
I suspect that this is a common case, so it might be worth investigating the possibility of buying a solution "off the shelf" which can be branded, rather than building from scratch, as that would no doubt be quicker, easier and cheaper.
The businessmen have different brains with technical men. They can't live without numbers. It's hard to continue the conversation if no numbers offered.
May I suggest:
Just my two cents.
I have given a range before 100,000-1,000,000. Then padded out options in that range. Small, low quality prototype to high quality system with whistles and bells. ... But there is another side, the going back and asking for more money later. When you have convinced the people that hold the purse strings that they have a winner on their hands and so it is worth putting in more money.
This is a difficult position to be in. It is hard to estimate when there is no concrete data. You need to find a way to move this forward and facilitate the conversation.
Here's how I would do it - Create a strawman by assuming what you need to get the estimate - scope, scheduling and quality. State the assumptions clearly. Then present, review and iterate. Everyone ends up with an idea of what the scope is and what is involved in getting the estimate itself.