Re:Boeing's Managerial Revolution Created the 737 Max Disaster
by phkahler on Saturday September 21, 2019 @10:35PM
(#21039282)
I recall reading that giving different groups the specs like that and writing different code doesnt actually work well. They tend to write the same bugs. In this case it may he that they got to choose the best of the 3 versions, so it may not have been a waste.
Formal unit testing is another idea that turns out to be relatively low value but is widely regarded as a best practice.
IIRC NASA studied both of these, but I dont have a reference.
Anyway, the plane had a very different control architecture from previous Boeing planes, including more reliance on software. The FAA was concerned about the software, and the possibility of a software failure taking out all three instances of some of the redundant systems. The FAA normally required a lot more testing of such software than would fit with the schedule Boeing wanted. Boeing and the FAA agreed that in these systems, the three instances would run separate implementations of the software, writing by separate development teams working from a common spec, but not sharing anything else. The FAA would then allow the software to be deployed on the accelerated schedule Boeing wanted.
This turned out to take longer than Boeing expected, and started threatening to delay the schedule, and hurt Boeing's chances against the newest Airbus plane that was aiming for a similar market. Politicians got word of this, and the FAA was successfully pressured into relaxing the redundancy requirements, letting Boeing go ahead with running the same brand new software on all instances of the redundant systems.
The software turned out fine, so this worked out, but it still was a dangerous shortcut that the FAA allowed (or was forced to allow) that put competing with Airbus over safety. So I'm not sure things were actually all that different in the '90s. They just were luckier.