I have a hunch that once people saw the economic potential of software, they started looking for ways to “scale it up” and we haven’t stopped searching yet.
I think, a big part of this is that we’re regularly solving problems which haven’t been solved before, at least not quite like this.
(If they have been solved before and that’s documented, chances are that you don’t need to solve them again anyways, because you may just be able to use that software/library.)
So, you often have to start out in a proof of concept phase, because you just don’t know what the best way to solve it is or that it’s even possible at all.
And then when that PoC is done, it unfortunately often takes a lot of convincing to redo it properly, because it will superficially look already rather complete.
And because you often just don’t know how long the project will carry on, since you’ll basically never get a complete plan from your customer to know the scope of it.
I think, a big part of this is that we’re regularly solving problems which haven’t been solved before, at least not quite like this.
(If they have been solved before and that’s documented, chances are that you don’t need to solve them again anyways, because you may just be able to use that software/library.)
So, you often have to start out in a proof of concept phase, because you just don’t know what the best way to solve it is or that it’s even possible at all.
And then when that PoC is done, it unfortunately often takes a lot of convincing to redo it properly, because it will superficially look already rather complete.
And because you often just don’t know how long the project will carry on, since you’ll basically never get a complete plan from your customer to know the scope of it.