A new headline today shows that Boeing, in an apparent effort to save money, outsourced software to HCL, an Indian company, at rates as low as $9 / hour. Other articles claim $12.80 / hour.
I happen to know HCL. About 10 years ago our company competed for a major state contract and HCL won. For price. The contract subsequently became a boondoggle, and was abandoned after a few years. HCL never delivered a working system.
I have been following the press on the Boeing software debacle. Apparently, the software that pushed the nose of the plane down was relying on a single sensor. No software in the world can be designed to make control decisions based on the output of a single sensor. That software eventually crashes the system. If the software is a flight control system for an airliner, that airliner will eventually crash.
And it did.
Twice.
I would have predicted it if you had asked me in advance and given me a chance to review the design, the approach, and the software itself. You cannot ever base software decisions of a critical nature to a single sensor. Even two sensors are marginal. Two parallel systems, both voting, both based on multiple sensors of different input dimensions are required to make positive control system responses. The default response should not have been pushing the nose down, but it should have been disengagement of the autopilot and sending alarms to the pilots.
The HCL engineers and managers should have known that. The poor programmer who implemented the code should have yanked the alarm chains. He knew what he was doing, but he was probably overruled by his superiors. The program manager should have escalated the concern to Boeing, the customer.
This is not the last time an intelligent control system kills humans. It will happen again, as more and more systems are automated.
We are subjected to automatic control systems every day, and we have come to entrust our lives to them. Smart cars and self-driving cars are the newest examples. But every automatic train at every airport is a simple example. Software moves us around at high speeds.
It’s time for Boeing to fess up to the serious mistakes in judgment it made, take full responsibility, bring its software development back into the country and pay its engineers what it needs to pay them. Saving money by outsourcing to low bidders in India has cost them very dearly, and it’s not clear at all to me if Boeing will ever recover from this.
Often we hear that our government should be run like a business. I certainly disagree with the basic premise. Regardless business managers often make incorrect decisions out of lack of information, poor judgement, greed, corruption, an honest mistake, etc. Boeing has been and is an important entity in the US. If what you describe is correct and I have no reason to doubt it, then Boeing should pay a heavy economic price and some criminal charges may be appropriate.
I am sure Boeing is working hard on restoring their credibility. I saw a headline yesterday about the investigation spreading to the 787. This is not good.