I’m not saying you’re wrong, but you can absolutely hire devs per project. My employer has done it many times. I was in a project that scaled up from 10 scrum teams up to 120 over a year and a half, and then once the product was launched, down to ~25 teams again for the maintenance part of the product cycle. This would have been impossible without contractors.
The difference is software companies hire programmers while companies that sell physical goods hire engineers. Engineers work hard to get it right the first time while programmers are constantly fixing their mistakes.
Are they fixing mistakes or constantly adapting to new/expanding requirements?
Try adding an extra bedroom or 3 mid-construction on a house that had perfectly designed plans. One might be doable, seem easy even but 3 might require a new foundation or something to carry the load (scale).
What if the ask is to pivot to a commercial property. Now you have to physically move it to piece of land that is zoned appropriately. Or maybe just tear it down and start over (refactor).
Those aren't mistakes, they just weren't planned when construction began yet have insane implications to the builders. Planning and expanding software never ends like it would when you complete a tangible finished good.
> Are they fixing mistakes or constantly adapting to new/expanding requirements?
Fixing their mistakes. Constantly adapting to new/expanding requirements doesn't require SaaS.
But the way it's worked out is that SaaS lowers production costs because code can be shipped fast -- with minimal testing and before there's any real reason to have confidence in it -- on the theory that you can just push out updates later for any bugs that customers find too annoying.
True. However, companies used to engage in comprehensive testing before release. SaaS removes the need to do that, saving a lot of money in exchange for a lower-quality product.
This is a dumb take, product recalls happen all the time if the issue is bad enough, otherwise everything else flies under the radar. All physical goods eventually need upkeep, too.
You can't hire devs per project like in construction. Developing commercial software requires maintenance, knowing the codebase, etc.