Random thought, probably stupid
Boeing's 737 problem arises from a category error. They're still adding more bells and whistles onto an ESSENTIALLY FAILED MACHINE, in vain hopes of curing its ESSENTIAL FAILURES.
Good engineers and good programmers know that this never works. When a machine is built to crash, no amount of fiddling and training and sensors and coding will get rid of its PURPOSE. The 737's innate genetic PURPOSE is stalling and crashing.
The only solution is to start over with a different PHYSICAL MACHINE. This shouldn't be difficult, since 99% of all the airplanes built since the '30s are innately designed to fly, not crash. Other Boeing planes are designed to fly.
Boeing can't turn its focus toward the correct solution because they've succumbed to the tech monsters. Every company is now a "software company". It's the only way to RAISE SHARE VALUE.
Within the world of pure software, adding bells and whistles is never good practice, but you sometimes have to do it, and you can usually get away with doing it. Old COBOL accounting systems are so deeply meshed in machines and corporate procedures and accessory programs and communication protocols that a complete switchover requires a long shutdown for the transition.
This isn't true of airplanes. All airplanes fit the same hangars, all fit the same runways, all have the radios and transponders and radars for the air traffic control system. There's no extended root system to yank out. Replacing is costly for sure, but it doesn't require changing everything else around the plane.
Boeing is operating in software mode, acting like the defective plane is unyankable. They don't realize it's already been yanked.