Boeing's 737 Max Software Outsourced to $9-an-Hour Engineers
finance.yahoo.com
finance.yahoo.com
But this is written for a general audience who are unable to tell the difference. The piece rides on the narrative that Boeing was careless, which may be true overall wrt 737MAX, but not necessarily in the aspect the article is premised on. Hence, clickbait.
Given, how many admin tools are built for simple SaaS apps, a project such as a new airplane will have a ton of tools that are built purely for the development cycle, most of them running offline or in the lab.
It wasn't the programmers' fault that the planes went down. It was the specs they were given that were bad.
If you give them a spec or requirements, they will do exactly what that thing says. Even including the typos or grammatical errors.
I don’t blame them. They have no incentive to care beyond this type of business transaction.
But applying this model to anything other than vaporware is terrifying.
I don't know if it's even a matter of incentive. Even when we hire local developers from some particular cultures, it's not part of their culture to question "authority" or be independent thinkers. So, they too will do exactly what we ask because they trust us as the experts or think that we'll be displeased if they don't do precisely what we asked.
When you have software that interacts with other software, you follow the spec because you know the spec is going to be followed by the other parts, and that you should not get imaginative when human lives depend on your software working correctly.
The MCAS incident shows software that worked as expected, based on a spec that had incorrect and missing information and pilots that didn't have the information to understand the erroneous behavior. Also, the motors that actuate the trim wheels exert so much force that the pilots weren't able to counteract their action.
Is that so? Wouldn't it be in theory possible to verify it against our current understanding of all laws of physics and the corresponding equations?
If that were not verifiable, then no program would be.
One can imagine a mental model of airplane and make a formal design for it. Then do a formal check in the most important scenarios that introduce weather, human action, system failures. The design will always fail for some scenarios. Not a problem if those are not important (in terms of risk). But which scenarios are the important ones? Probability and severity of consequences of those scenarios are much needed knowledge, and one can find those only via the good old method of iterative testing in wild.
You cannot exhaustively test software either - the number of cases to cover are beyond astronomical.
The effectiveness of both specification and testing ultimately depend on the same thing: thinking of all the relevant possibilities. If you overlook a possible failure mode, there's no guarantee it will be caught at any phase. The main benefit of formal methods, I think, is that the rigor tends to make such oversights visible.
the only people who think formal methods are a magic bullet are those who have not tried them. Likewise, the only people who think more testing (and especially unit testing) is a magic bullet are those who don't understand combinatorial complexity.
So these testers should have been test pilots? - because the interaction of MCAS and the difficulty in manual trimming was not going to be found until someone tried it in the air (there is considerable doubt as to whether simulators accurately model it.)
And if this was the tester's job, what was the job of the engineers at Boeing who decided on using MCAS to solve a problem, and those at the FAA who endorsed it?
No sound root-cause analysis will come to the conclusion that the crashes resulted from Boeing contracting out software testing to low-bid contractors. You are making the fallacy of arguing a general point that does not apply in this specific case.
Doesn't exactly make me confident in flying in their planes...
At least in other industries cost-cutting just kills the business instead of killing actual human beings.
I think it needs an updating: I would never fly in a plane with software written by $9/hour coders.