4 ms·
> This whole you-can't-estimate-software accuracy position is entirely a position of inexperience. There are other sources of uncertainty. NASA is probably th
by kansface 8y ago
> This whole you-can't-estimate-software accuracy position is entirely a position of inexperience.
There are other sources of uncertainty. NASA is probably the only organization that fully specifies product requirements before building stuff - often, even the customer doesn't know. Some problem domains preclude you from knowing in advance! When building the thing, complete understanding of the existing code, frameworks, libraries, and infrastructure is not possible. All of these abstractions eventually leak and break down at scale. Every one of these parts is also continually changing! Even if you could solve all of those problems, you'd still have to deal with people problems - incentives never align, budgets change, and alliances shift.
I don't have a formal proof, but I'm strongly suspicious that the only actual way to know how long something takes to build is to actually build it, which of course, may be impossible.