Before we continue with on-demand application generators, lets look at something completely different, but related. Software size and effort estimation (read: cost estimation).
There are several formal methods for estimating software size, complexity, effort and cost. Function Point Analysis, Lines of Code, tools like CoCoMo, SLIM, etc., including the most common technique called
Wideband Delphi Estimating where senior programmers, architects, etc., base their estimates on real world experiences while following a formal estimating process.
Why do we do estimate? Every customer I have come across always asks, how much? And shortly followed up with, and when can I get it? And finally, can you make it a fixed price estimate?
Its like getting a building constructed, you need a blueprint to estimate a price for the construction, whether the blueprint is custom designed or "off the shelf". Regardless, the customer had to spend money on acquiring the blueprint. The blueprint puts in scope whether it is a house the customer wants or maybe it turns out to be an apartment complex or skyscraper that the customer really wants, hence the blueprint