Why a development agency can't give you a price on the first call
It isn't obstruction. It's the direct consequence of how the estimate is produced — and it's fixable.
Ask a development shop what your project costs and you will get some version of: we need to understand your requirements first. Six meetings later a range arrives. If you have been through this you probably assumed it was a negotiating tactic. It mostly isn't.
Here is what is actually happening. The estimate is assembled by asking individual engineers how long each piece will take, padding each answer, summing the padded numbers, and adding a contingency on top of the sum. Engineers are not available on demand, so the process takes weeks. Every engineer pads because being wrong low is punished and being wrong high is not. The result is not a price, it is a defensive document, and its width — $40k to $90k — is an honest expression of how little anyone knows at that point.
The scoping period exists to reduce that uncertainty. That is a real function. The problem is who pays for it: you do, in calendar time, before you have any information you could use to decide whether the project is worth doing.
There is a different way to structure the same decision, and it starts by noticing that most business applications are not novel. A recurring inspection business, a guard-tour business and a permit-tracking business look almost nothing alike from the outside and are nearly the same application underneath — records, roles, statuses, attachments, a document generated at the end. Once you have priced that shape enough times, effort classification is fast, and effort classification is most of what an estimate is.
At OwnerBuilt, the proposal is priced by module. Each module is graded Easy, Medium or Hard by effort, and the grade sets its price. Features inside each module show what the price covers. We build that itemized proposal live on the first call, with the owner correcting the scope in real time. Remove an optional module and watch the total move. You leave with a fixed total.
The reason more shops do not do this is not that it is impossible. It is that a specific number on call one is a commitment, and a range in week four is not.