Here's why:<p>First, consider a car. Imagine if somebody told you that a random company would be changing the software that runs your car, every day, as you drive it. Freaked out? You should be. That's what a modern tech company is. They just don't have the same risks, so they don't care so much if they fuck up, so the work isn't organized very well.<p>Next consider cities. Do you want to build something? Great. I'll ignore all the costs (there are many).<p>First you're gonna need a design by an accredited expert. That design needs a dozen permits approved by the government before you can even touch a trowel or hammer. Then a team of experts guess to town, changing grade, pouring foundation, waiting to cure, installing basic plumbing, and then getting an initial inspection. Then comes framing, inspection, plumbing, inspection, electrical, inspection, HVAC, insulation, drywall, fixtures, trim, walkways, driveways, flooring, landscaping, grading, and inspection.<p>So far we have used specialist teams to build sections of the building and only continue when a strict inspection by authorities says we can continue. No customer has used the building yet. Also consider that this building will not scale. If you reach capacity, go make another building.<p>Building software at scale is a combination of monkeying around with a car's internals while someone is driving it, and building a building. Only the risks to human life are lower, and we do not have teams of very specific contractors strictly following government approved codes and zoning laws to build one thing that meets one set of criteria.<p>The people doing the job(s) in tech aren't good enough at it to do the things we're asking of them. And they aren't just building one piece and walking away, they are constantly fiddling. And very often, they have no master plan approved by inspectors according to well known and inviolable codes.<p>On top of that, they have never sat down and figured out how to do all of this really efficiently amd reliably. Scrum/Kannan are general processes; they do not tell you specifically how to build a website in an extremely efficient and error-free way. But we've done that a million times by now, poorly. It's because we haven't yet codified it as an engineering discipline and stripped out the fat. And we haven't done that because there's no requirement to, because nobody's life is on the line, the way it is with cars and buildings.<p>And it's hard. It's hard because we still hand-make components rather than buy them off the shelf. Every company I've worked at has re-created the same god damn thing 1000 times, by hand, because for some bizarre reason they thought it was a better idea to forge steel than to connect plumbing. Imagine if your plumber hand-crafted her own custom fittings for each job.<p>Really, we do a <i>marvelous</i> job today considering how completely undisciplined, unregulated, haphazard, and dangerous what we do is. There are many approaches we could take to simplify the actual process of it all, and make it efficient. But the complexity and difficulty will be there for a very long time. We can also move to pre-fab, but you'd have to convince people that writing new software just to build a tech product is a bad idea. Good luck with that.